Amazon SNS发送确认短信是使用Ruby SDK发送的
我正在使用带有Ruby Amazon SDK的Amazon SNS发送短信。据我所知,方法Amazon SNS发送确认短信是使用Ruby SDK发送的,ruby,sms,amazon,Ruby,Sms,Amazon,我正在使用带有Ruby Amazon SDK的Amazon SNS发送短信。据我所知,方法Aws::SNS::Client#publish只是将消息发送排队 当返回messageId时,消息已被保存,Amazon SNS将很快尝试将其发送给主题的订户 我想知道publish方法是否只是将发送排队,如果是,是否有任何方法可以通过SDK确认消息已成功发送?您可以查询主题或订阅,但无法查询已发布的消息。我怀疑AWS是否保留了它们,但如果它们保留了,就我所知,没有API可以访问它们 一种解决方法是在自己
Aws::SNS::Client#publish
只是将消息发送排队
当返回messageId时,消息已被保存,Amazon SNS将很快尝试将其发送给主题的订户
我想知道
publish
方法是否只是将发送排队,如果是,是否有任何方法可以通过SDK确认消息已成功发送?您可以查询主题或订阅,但无法查询已发布的消息。我怀疑AWS是否保留了它们,但如果它们保留了,就我所知,没有API可以访问它们
一种解决方法是在自己的站点上使用http或https端点订阅每个主题。每次创建主题时,您都会创建对自己端点的相应订阅:
def generate_sns_topic(topic_name)
sns_client = Aws::SNS::Client.new
response = sns_client.create_topic(name: topic_name)
if response.successful?
sns_client.subscribe(topic_arn: topic_response.topic_arn,
protocol: :https,
endpoint: <your_site_endpoint>)
else
<error_handling_here>
end
end
def生成主题(主题名称)
sns_client=Aws::sns::client.new
response=sns\u client.create\u topic(名称:topic\u name)
如果成功?
sns_client.subscribe(主题学习:主题学习响应.topic学习,
协议::https,
端点:)
其他的
结束
结束
现在,您需要创建
POST
,以便在AWS消息传入时接受它。一旦你收到它,你就会知道SNS已经发送了它。假设您将在数据库中创建一个新的已发布消息表
以跟踪已发布的消息。假设您想在标题中说“SNS”?不一定。我认为“短消息服务”这个词应该更明确地说明我在亚马逊SNS的哪一部分遇到了问题,但别担心,亚马逊SNS也是正确的。这很有意义——我编辑了这两个词——希望你同意。明白了,我会试试你的建议!非常感谢。