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