amazon-web-services - Boto3 SNS不一致行为发布短信
问题描述
我有一个在运行时发送短信的功能:
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")
有时它有效,有时它超时,即使输入参数完全相同。使用 boto3 SNS 可以发送多少文本有限制吗?我只是尝试对电话号码和消息进行硬编码,以测试是否是我的输入导致发布方法关闭,但它仍然不起作用。
更令人困惑的是它没有抛出错误,只是超时。
更令人困惑的是,当我将相同的代码复制并粘贴到另一个函数中时,它工作正常。
有人对此有解释吗?我通读了 SNS 文档并没有找到任何可以解释这一点的东西。我在想也许我需要申请增加配额?
顺便说一句:lambda 具有管理员权限
UPDATE 函数刚刚成功,没有改变,15 分钟后再次测试。真的很想知道超时的原因。我应该增加我的 lambda 的超时时间吗?我还将默认类型的短信更改为事务性,因为我看到它们获得更高的优先级?也许这就是为什么?任何答案都有帮助
解决方案
我转到 SNS 控制台并将我的默认消息更改为事务性消息,这使其在 AWS 队列中具有更高的优先级。到目前为止,这一直有效。
推荐阅读
- reactjs - 从反应中的api获取嵌套循环数组,redux
- javascript - React 原生底部导航
- arrays - VBA字典中的多维数组
- terraform - 使用 Terraform 和 aws_ami_ids 数据源将 AMI 共享给子账户
- apache-flink - 保存点与外部检查点
- ios - 如何从 xcode 仪器时间分析器获取挂钟时间?
- ruby - Ruby:如何遍历数据库记录以返回真正的键/值对
- javascript - 提升如何应用于此 JavaScript 代码?
- javascript - 为什么 Chrome 没有收到我的 cookie?
- r - 如何从与现有数据集不匹配的变量创建新数据表