如何从本地机器发布SNS消息触发Lambda函数并完成测试
本地Debian设备向AWS SNS主题发布消息操作指引
前置校验
先确认本地awscli安装正常,在终端执行命令:aws --version
有正常版本号输出即可继续操作。
第一步:配置AWS本地访问凭证
- 终端执行
aws configure,按提示依次输入:AWS Access Key ID、AWS Secret Access Key、SNS主题所在的默认区域(例如us-east-1、cn-northwest-1)、默认输出格式填json - 配置完成后执行
aws sts get-caller-identity验证凭证有效性,返回账号ID、ARN等信息即为配置成功 - 确保使用的账号拥有对应SNS主题的
sns:Publish权限,SNS主题的资源策略也需允许该账号发布消息
第二步:发布消息到SNS主题
直接在终端执行以下命令,替换参数为你自己的实际值即可:aws sns publish --topic-arn "你的SNS主题ARN" --message "自定义测试消息内容"
- 执行成功会返回消息ID,说明消息已经成功投递到SNS主题,会自动触发绑定的Lambda函数
- 如果需要发送JSON格式的结构化消息适配Lambda处理逻辑,可以将消息内容存为本地JSON文件,用参数
--message file://./message.json读取 - 如果SNS主题不在你配置的默认区域,在命令末尾添加
--region 实际区域代码即可
第三步:验证执行结果
消息发布1~2分钟后,即可在AWS CloudWatch控制台找到对应Lambda函数的日志组,查看本次调用的执行日志验证逻辑是否符合预期。
VS Code操作说明
目前VS Code的AWS Toolkit扩展没有可视化的SNS消息发布入口,直接使用VS Code内置的终端执行上述awscli命令即可,无需寻找专门的SNS操作选项。
内容的提问来源于stack exchange,提问作者ashraf minhaj
相关产品推荐
相关产品推荐

