短信通知

220 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情

前言

因为一些不可言说的原因,感觉大家都处在一直不安定的状态里。时代的一粒沙,落在普通人身上,就是一座山!加油吧,会好的!今天就把前天做的另一个需求在这记录整理一下吧!一来方便下次用到的时候快速捡起来,二来如果能帮到别人一点点也是极好的~

阿里云短信功能

这个需求呢大致是利用kafka监听,出现报警数据时,给相应的联系人发送短信通知;

用到了阿里云的短信服务:短信服务是阿里云为用户提供的一种通信服务的能力,支持快速发送验证码、短信通知和推广短信。

image.png

image.png

项目中采用了阿里云SDK调用短信服务API

import com.alibaba.fastjson.JSONObject; 
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.teaopenapi.models.*; 
public class AddSmsTemplate { 
    public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception { 
        Config config = new Config() 
        // 您的AccessKey ID 
        .setAccessKeyId(accessKeyId) 
        // 您的AccessKey Secret 
        .setAccessKeySecret(accessKeySecret); 
        // 访问的域名 
        config.endpoint = "dysmsapi.aliyuncs.com"; 
        return new com.aliyun.dysmsapi20170525.Client(config); 
    } 
    public static void main(String[] args_) throws Exception { 
            java.util.List<String> args = java.util.Arrays.asList(args_); 
            com.aliyun.dysmsapi20170525.Client client = Sample.createClient("accessKeyId", "accessKeySecret"); 
            AddSmsTemplateRequest addSmsTemplateRequest = new AddSmsTemplateRequest() .setTemplateType(0) .setTemplateName("content3") .setTemplateContent("您正在申请手机注册,验证码为:${code},5分钟内有效!") .setRemark("用于文件下载时的验证码"); 
            // 复制代码运行请自行打印API的返回值 
            client.addSmsTemplate(addSmsTemplateRequest); 
            AddSmsTemplateResponse response=client.addSmsTemplate(addSmsTemplateRequest); 
            System.out.println(JSONObject.toJSONString(response)); 
   }

过程

这次这个需求其实很简单,但是前前后后花了好久才最终完成;主要就卡在了阿里云账号以及这个api需要的四个参数上了;这个需要甲方公司给我们这个账号accessKeyId 、accessKeySecret 以及 申请相应的短信签名和短信模板;还需要公司的资质认证等等;

前期还盯着他们的进度看了几天,发现丝毫没有进展,项目经理催了他们几次,也没有动作,然后这个需求就搁置了;

中间过了两三个星期吧,又想起来这个事儿了,发现他们已经准备好这些内容了,然后就继续下去了

怎么说呢,就很佛系,这个节奏我很喜欢哈哈哈哈哈

总结

打工人要有打工人的自觉,要持续地提升自己哟~