Amazon web services Boto3 SNS发布短信的不一致行为
我有一个在运行时发送文本消息的功能:Amazon web services Boto3 SNS发布短信的不一致行为,amazon-web-services,aws-lambda,amazon-sns,Amazon Web Services,Aws Lambda,Amazon Sns,我有一个在运行时发送文本消息的功能: def txtUserValidationCode(countryCode, phoneNum, message): sns = boto3.client('sns') try: logger.info("Trying to send text") sns.publish( PhoneNumber="+" + countryCode + phone
def txtUserValidationCode(countryCode, phoneNum, message):
sns = boto3.client('sns')
try:
logger.info("Trying to send text")
sns.publish(
PhoneNumber="+" + countryCode + phoneNum,
Message=message
)
except:
logger.info("Text message failed")
else:
logger.info("Text message successful")
有时工作,有时超时,即使输入参数完全相同。有没有一个节流阀,你可以发送多少短信与三个社交网站?我只是试着硬编码电话号码和信息,以测试是否是我的输入导致发布方法失效,但它仍然不起作用
更令人困惑的是,它没有抛出错误,只是超时
更令人困惑的是,当我将相同的代码复制并粘贴到另一个函数中时,它工作得很好
有人对此有解释吗?我通读了SNS的文档,没有找到任何可以解释这一点的东西。我在想也许我需要申请增加配额
顺便说一句:lambda拥有管理员权限
更新
功能刚刚成功,没有任何更改,只是在15分钟后再次测试。我很想知道超时的原因是什么。我应该增加lambda的超时吗?我还将文本消息的默认类型更改为事务性,因为我看到它们获得了更高的优先级?也许这就是为什么?任何答案都有帮助听起来您有一个AWS Lambda函数,它与多个子网关联,其中一些子网是公共的,一些是私有的 首选使用与VPC无关的AWS Lambda函数。这将提供对互联网的直接访问,因此也将提供对亚马逊SNS的直接访问 但是,如果AWS Lambda功能与VPC关联,请确保:
- Lambda功能仅与专用子网相关
- 公用子网中存在NAT网关或NAT实例