无服务器或 SAM 以及使用 SQS、SNS 和 APIGW 进行本地开发

Serverless or SAM and local development with SQS, SNS, and APIGW

我正在评估无服务器 v AWS SAM CLI。 我试图了解在使用以下内容进行开发时如何促进本地开发工作流程:-

我可以从文档中看到无服务器具有以下本地选项:-

如果有解决方案则不明显:-

我可以从 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

虽然它还没有完整的功能,所以它可能没有您需要的一切,例如请求正文验证。我通常发现我可以在本地进行大部分应用程序测试,然后再在真实环境中部署和进行更多集成测试。