初始化
本章将学到如何用SMS C# SDK完成一些基本的操作。
综述
使用本SDK可以完成短信发送、模板申请、模板查询等SMS服务,所有操作都是通过SmsClient与SMS服务进行交互; 具体接口参数定义详细请参考API文档。
确认Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于SMS访问域名的部分,理解Endpoint相关的概念。区域的概念请参考区域选择说明。
在开始SDK使用之前,需要您先确定好要在哪个区域进行操作,从而在配置SmsClient时将区域对应的Endpoint做为参数填入。
获取密钥
要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。
可以通过如下步骤获得并了解您的AK/SK信息:
2.创建AK/SK
获取到密钥后,需要在配置Client时做为参数填入。SDK集成了鉴权认证机制,您不需要关心鉴权背后的运算方法,只需要将AK/SK按要求填入对应的位置,SDK将自动为您完成鉴权相关的工作。
新建SmsClient
SmsClient是SMS服务的客户端,为开发者与SMS服务进行交互提供了一系列的方法。
在下面代码中,变量AK与SK是由系统分配给用户的,均为字符串,用于标识用户,为访问SMS做签名验证。其中AK对应控制台中的“Access Key ID”,SK对应控制台中的“Access Key Secret”,获取方式请参考获取AK/SK。
参考如下代码新建一个SmsClient,并调用发送短信方法。
using System;
using System.Collections.Generic;
using BaiduBce;
using BaiduBce.Auth;
using BaiduBce.Services.Sms;
using BaiduBce.Services.Sms.Model;
class SmsClientSample
{
static void Main(string[] args)
{
const string accessKeyId = <AccessKeyID>; // 您的Access Key ID
const string secretAccessKey = <SecretAccessKey>; // 您的Secret Access Key
const string endpoint = "https://smsv3.bj.baidubce.com"; //传入Sms所在区域域名
// 初始化一个SmsClient
BceClientConfiguration config = new BceClientConfiguration();
config.Credentials = new DefaultBceCredentials(accessKeyId, secretAccessKey);
config.Endpoint = endpoint;
SmsClient client = new SmsClient(config);
SendMessageRequest request = new SendMessageRequest();
request.Mobile = "18800000000";
request.SignatureId = "sms-sign-xxx";
request.Template = "sms-tmpl-xxx";
request.ContentVar = new Dictionary<string, string>
{
{"content", "测试"}
}
SendMessageResponse response = client.SendMessage(request);
}
/**
*
* 响应数据 response 格式
*
*{
* "requestId":"ac17060505d4453ca1c9a7c5be82042b",
* "code":"1000",
* "message":"成功",
* "data":[
* {
* "code":"1000",
* "message":"成功",
* "mobile":"13800138000",
* "messageId":"6edf7cffa7434d2e8335a0d021ee2b2f"
* }
* ]
*}
*/
配置SmsClient
基本流程
- 创建一个BceClientConfiguration实例。
- 使用您的AK/SK创建DefaultBceCredentials并赋值给BceClientConfiguration的Credentials属性。
- 对BceClientConfiguratio实例的各种属性进行赋值。
- 用配置好的BceClientConfiguration创建BosClient实例。
如果用户需要配置SmsClient的一些细节的参数,可以在构造SmsClient的时候传入BceClientConfiguration对象。 BceClientConfiguration是SMS服务的配置类,可以为客户端配置超时时间,最大连接数等参数。
设置网络参数
- 示例代码
BceClientConfiguration config = new BceClientConfiguration();
// 设置HTTP最大连接数为10
config.ConnectionLimit = 10;
// 设置TCP连接超时为5000毫秒
config.TimeoutInMillis = 5000;
// 设置读写数据超时的时间为50000毫秒
config.ReadWriteTimeoutInMillis = 50000;
- 参数说明
通过BceClientConfiguration能指定的所有参数如下表所示:
参数 | 说明 |
---|---|
UserAgent | 用户代理,指HTTP的User-Agent头 |
Protocol | 连接协议类型,缺省值为HTTP协议 |
TimeoutInMillis | 建立连接的超时时间(单位:毫秒),缺省值为30000 |
ReadWriteTimeoutInMillis | 通过打开的连接传输数据的超时时间(单位:毫秒),缺省值为30000 |
ConnectionLimit | 允许打开的最大HTTP连接数,缺省值为5 |
RetryPolicy | 连接重试策略 |
SocketBufferSizeInBytes | Socket缓冲区大小 |