Amazon web services 关于亚马逊SNS的短信服务

Amazon web services 关于亚马逊SNS的短信服务,amazon-web-services,amazon-sns,Amazon Web Services,Amazon Sns,我想给手机发短信。我查了AWS文件,上面写着 SMS notifications are currently supported for phone numbers in the United States. SMS messages can be sent only from topics created in the US East (N. Virginia) region. However, you can publish messages to topics that yo

我想给手机发短信。我查了AWS文件,上面写着

SMS notifications are currently supported for phone numbers in the     
United States. SMS messages can be sent only from topics created in the 
US East (N. Virginia) region. However, you can publish messages to 
topics that you create in the US East (N. Virginia) region from any 
other region.
但我不知道如何将信息发布到我在美国东部地区创建的主题,这些主题来自我的aws节点所在的美国西部地区


谷歌搜索了很多,但运气不好。这里有人知道怎么做吗?

代码在哪里运行并不重要。。。甚至是不属于AWS的地方。大多数服务,如SNS,都有一个您需要访问的区域,以便连接该区域定义的资源。这就是AWS控制台在幕后所做的

如果您使用的是SDK或其他库,而不是使用自己的代码直接与AWS服务通信,那么您需要的是如何使用请求或(可能)构造函数更改或设置“区域”或“端点”

您只能“从任何其他地区”发送请求,这与您通常可以从Internet发送请求的意义相同。您不会通过其他地区的SNS端点发送它们。直接连接到目标区域


不过,请注意,SNS SMS解决方案的实用性有点有限——适用于向希望收到您的通知的个人组发送通知(“夜间全局批处理过程已完成,但遇到了错误”),但对于客户联系(“您的订单已发货”)则不太适用由于主题订阅服务器不能单独寻址。。。发送到一个,发送到所有。。。所有对订阅确认消息做出积极响应的用户,即。

以下是一个示例函数,该函数使用从AWS lambda函数发送SMS消息:

module.exports.sendMessage=(事件、上下文、cb)=>{
const AWS=require('AWS-sdk');
const sns=新的AWS.sns({地区:'us-east-1'});
常量参数={
消息:“文本消息正文”,
电话号码:'+15555',
};
sns.publish(参数、函数(错误、数据){
如果(错误){
cb(null,{message:'Error:'+err,event});
}否则{
//数据的格式如下:
//风险值数据={
//ResponseMetadata:{RequestId:'12345678-1234-5678-1234-012345678901'},
//消息ID:'12345678-1234-5678-1234-012345678901'
// };
cb(null,{message:data.MessageId,event});
}
});
}

您可以根据您的体系结构调整或使用它。不要忘记设置正确的IAM权限,以允许为运行此功能的任何内容发送SNS消息。

谢谢Michael。我的用例非常简单。我配置了一个AWS cloudwatch警报。当闹钟响起时,我需要cloudwatch向我的手机发送短信。因为通常我们可以使用电子邮件网关发送短信,但是SNS主题需要确认。确认链接在SMS中不可单击。你能告诉我怎么做这个操作吗?对于那个应用程序来说,这很好。如果您操作正确,确认信息将是短代码30304的一条短信,要求您回复“Yes
topic_name
”。如果您仍然无法访问us-esst-1区域,我需要了解您的编程语言和SDK版本,以便为您指出设置该区域的正确方向,不过我要做的就是查阅相关文档。谢谢Michael耐心的解释。但我仍然有问题。在这里,我稍微阐述一下我的用例。我没有这个用例的定制代码。我只是让AWS cloudwatch监视实例的运行状况,比如当实例关闭时,cloudwatch将向预定义的主题发送电子邮件。现在我希望cloudwatch发送短信而不是电子邮件。但短信功能仅在美国东部地区可用。这意味着我只能在美国东部地区创建一个具有SMS功能的主题。但我监控的节点在美国西部地区。所以现在问题来了,我需要美国西部地区监控节点cloudwatch将警报发送到美国东部地区定义的主题。