我正在评估无服务器 v AWS SAM CLI。 我正在尝试了解在使用以下方法进行开发时如何促进本地开发工作流程:-
- Lambda是用python编写的
- 由带有 SES 的 SNS 通知触发 邮件有效负载
- 读取 S3 对象
- 读写发电机
- 写入 SQS
- 写入 SNS 主题
我可以从文档中看到无服务器具有以下本地选项:-
- S3
- 迪纳摩数据库
- 入站 SNS 事件
不清楚是否有解决方案:-
- API 网关本地支持 python lambda
- 写入 SQS
- 写信给SNS
我从SAM文档中可以看到,可以针对本地DynamoDB测试python Lambdas。不清楚还有什么可能,或者您是否必须将其指向其余的实际 AWS 实例(S3、SQS 等(
有什么指示吗?
我会考虑利用 https://github.com/localstack/localstack 之类的东西来实现SQS和SNS。
对于 APIGW 端点,这是使用函数资源上的事件参数或使用 API 资源内置到 SAM 模板中的 sam-cli 中。请参阅以下链接中的 API 部分 https://docs.aws.amazon.com/lambda/latest/dg/serverless_app.html
尽管它还没有完整的功能,因此它可能没有您需要的所有内容,例如请求正文验证。我通常发现我可以在本地进行大部分应用程序测试,然后再在实际环境中部署和进行更多集成测试。