您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python-2.7 – 如何在AWS Lambda函数中使用boto3通过AWS SNS发送短信?

5b51 2022/1/14 8:22:33 python 字数 3092 阅读 565 来源 www.jb51.cc/python

我想使用boto3发布方法从AWS Lambda函数发送短信,通过短信通知用户问题.我的lambda函数是用 Python编写的,我使用的是boto3模块.我的lambda函数具有SNS的完全权限.我有这个代码, sns = boto3.client('sns') sns.publish( PhoneNumber = '+11234567890', Message = 'Simpl

概述

根据boto3 documentation,publish方法接受以下参数,

它需要一个“消息”参数和以下三个参数之一,如文档中所述:

TopicArn (string) — The topic you want to publish to.

If you don’t specify a value for the TopicArn parameter,you must
specify a value for the PhoneNumber or TargetArn parameters.

TargetArn (string) — Either TopicArn or EndpointArn,but not both.

If you don’t specify a value for the TargetArn parameter,you must
specify a value for the PhoneNumber or TopicArn parameters.

PhoneNumber (string) — The phone number to which you want to deliver
an SMS message. Use E.164 format.

If you don’t specify a value for the PhoneNumber parameter,you must
specify a value for the TargetArn or TopicArn parameters.

当执行代码时,返回参数验证错误.它指出,

UnkNown parameter in input: “PhoneNumber”,must be one of: TopicArn,
TargetArn,>Message,Subject,MessageStructure,MessageAttributes”.

所以文档似乎表明PhoneNumber是一个有效的参数,但是当使用时,会发生错误,错误的反馈表明PhoneNumber不是可能的参数.我怀疑我缺少一些明显简单的东西,但可以使用一些帮助.

我知道还有其他途径发送短信,如电子邮件网关和其他供应商提供的解决方案,如Twilio,但我想追求基于SNS的路由,并了解我在哪里出错.

一个魅力一样工作我建议先使用配置有root帐户凭据的awscli,然后使用代码进行测试.一旦它的工作创建一个新用户,只需要你所需的权限,或者将其应用到实例角色.

您需要创建一个允许SNS:在资源上发布的策略:*(允许发送给所有人)或资源:’17702233322′(允许文本到特定的数字).

总结

以上是编程之家为你收集整理的python-2.7 – 如何在AWS Lambda函数中使用boto3通过AWS SNS发送短信?全部内容,希望文章能够帮你解决python-2.7 – 如何在AWS Lambda函数中使用boto3通过AWS SNS发送短信?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶