C# 用于发送短信的亚马逊AWS SNS无法发送短信,返回状态为;“等待激活”;
我是AWS的新手,正在尝试设置我的系统,以便在预订后向最终用户发送短信作为确认信息 到目前为止,我做了以下工作:C# 用于发送短信的亚马逊AWS SNS无法发送短信,返回状态为;“等待激活”;,c#,amazon-web-services,amazon-sns,asp.net-core-1.0,C#,Amazon Web Services,Amazon Sns,Asp.net Core 1.0,我是AWS的新手,正在尝试设置我的系统,以便在预订后向最终用户发送短信作为确认信息 到目前为止,我做了以下工作: AmazonSimpleNotificationServiceClient smsClient = new AmazonSimpleNotificationServiceClient(key, secreteKey, token, Amazon.RegionEndpoint.APSoutheast2); var smsAttributes = new Di
AmazonSimpleNotificationServiceClient smsClient = new AmazonSimpleNotificationServiceClient(key, secreteKey, token, Amazon.RegionEndpoint.APSoutheast2);
var smsAttributes = new Dictionary<string, MessageAttributeValue>();
MessageAttributeValue senderID = new MessageAttributeValue();
senderID.DataType = "String";
senderID.StringValue = "my-sender-id";
MessageAttributeValue sMSType = new MessageAttributeValue();
senderID.DataType = "String";
senderID.StringValue = "Transactional";
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
smsAttributes.Add("SenderID", senderID);
smsAttributes.Add("SMSType", sMSType);
PublishRequest publishRequest = new PublishRequest();
publishRequest.Message = "This is 2nd sample message";
publishRequest.MessageAttributes = smsAttributes;
publishRequest.PhoneNumber = "my number with + and country code";
Task<PublishResponse> result = smsClient.PublishAsync(publishRequest, token);
AmazonSimpleNotificationServiceClient smsClient=新的AmazonSimpleNotificationServiceClient(key、secretkey、token、Amazon.RegionEndpoint.APSoutheast2);
var smsAttributes=新字典();
MessageAttributeValue senderID=新MessageAttributeValue();
senderID.DataType=“字符串”;
senderID.StringValue=“我的发件人id”;
MessageAttributeValue sMSType=新MessageAttributeValue();
senderID.DataType=“字符串”;
senderID.StringValue=“事务性”;
CancellationTokenSource=新的CancellationTokenSource();
CancellationToken=source.token;
smsAttributes.Add(“SenderID”,SenderID);
添加(“SMSType”,SMSType);
PublishRequest PublishRequest=新PublishRequest();
publishRequest.Message=“这是第二条示例消息”;
publishRequest.MessageAttributes=smsAttributes;
publishRequest.PhoneNumber=“我的号码+和国家代码”;
任务结果=smsClient.PublishAsync(publishRequest,令牌);
但是我没有收到任何短信
调试代码时,我看到以下消息:
任何人都可以帮忙。我通过以下更改解决了这个问题, 将SenderID更改为AWS.SNS.SMS.SenderID 和sMSType到AWS.SNS.SMS.sMSType 所以总的来说,整个流程就像
AmazonSimpleNotificationServiceClient smsClient = new AmazonSimpleNotificationServiceClient(my_access_key, my_secret_key, Amazon.RegionEndpoint.APSoutheast2);
var smsAttributes = new Dictionary<string, MessageAttributeValue>();
MessageAttributeValue senderID = new MessageAttributeValue();
senderID.DataType = "String";
senderID.StringValue = "mySenderId";
MessageAttributeValue sMSType = new MessageAttributeValue();
sMSType.DataType = "String";
sMSType.StringValue = "Transactional";
MessageAttributeValue maxPrice = new MessageAttributeValue();
maxPrice.DataType = "Number";
maxPrice.StringValue = "0.5";
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
smsAttributes.Add("AWS.SNS.SMS.SenderID", senderID);
smsAttributes.Add("AWS.SNS.SMS.SMSType", sMSType);
smsAttributes.Add("AWS.SNS.SMS.MaxPrice", maxPrice);
PublishRequest publishRequest = new PublishRequest();
publishRequest.Message = "This is 2nd sample message";
publishRequest.MessageAttributes = smsAttributes;
publishRequest.PhoneNumber = "received phone no with + and country code";
Task<PublishResponse> result = smsClient.PublishAsync(publishRequest, token);
AmazonSimpleNotificationServiceClient smsClient=新的AmazonSimpleNotificationServiceClient(my_access_key,my_secret_key,Amazon.RegionEndpoint.APSoutheast2);
var smsAttributes=新字典();
MessageAttributeValue senderID=新MessageAttributeValue();
senderID.DataType=“字符串”;
senderID.StringValue=“mySenderId”;
MessageAttributeValue sMSType=新MessageAttributeValue();
sMSType.DataType=“字符串”;
sMSType.StringValue=“事务性”;
MessageAttributeValue maxPrice=新MessageAttributeValue();
maxPrice.DataType=“编号”;
maxPrice.StringValue=“0.5”;
CancellationTokenSource=新的CancellationTokenSource();
CancellationToken=source.token;
添加(“AWS.SNS.SMS.SenderID”,SenderID);
添加(“AWS.SNS.SMS.SMSType”,SMSType);
添加(“AWS.SNS.SMS.MaxPrice”,MaxPrice);
PublishRequest PublishRequest=新PublishRequest();
publishRequest.Message=“这是第二条示例消息”;
publishRequest.MessageAttributes=smsAttributes;
publishRequest.PhoneNumber=“收到的电话号码,带有+和国家代码”;
任务结果=smsClient.PublishAsync(publishRequest,令牌);
如何检查此日志,因为我尝试了您的代码,构建成功,但它没有发送SMS,也没有给出任何错误。您可以通过调试检查任务结果中的状态,或者您可以在AWS控制台中为SNS报告定义一个bucket并检查报告。如果您是第一次尝试此功能,AWS会将该帐户的短信消费限额限制为1美元,因此您可能需要提出增加短信配额限额的请求。只是为了检查您的配额是否用完,请尝试从SNS控制台发送短信。