我按照这个https://serverless.com/blog/how-to-create-a-rest-api-in-java-using-dynamodb-and-serverless/指南使用无服务器框架创建了一个小服务。我使用的是"AWS Lambda“、"APIGateway”和"DynamoDB“。我希望能够将我的服务部署到docker容器,这样我就可以在本地测试我的api和dynamodb。我希望能够向我的localhost发送curl命令并能够看到响应。我该怎么做呢?有没有什么教程或者分步指南?
发布于 2019-02-10 21:18:28
我不明白你的目的。Serverless的全部目的是“不管理服务器”。那你为什么要这么做呢?相反,在AWS本身上创建一个单独的测试环境来测试无服务器。应用程序接口网关、Lambda和DynamoDB都是亚马逊网络服务的特定服务。你想在docker中创建一个DynamoDB,Lambda,API网关的克隆,这会使你的任务变得复杂而不容易。即使您使用MongoDB或Cassandra来代替DynamoDB,您也必须在创建类似于API Gateway-> Lambda集成的集成方面做很多工作。(即使您只是将这种可伸缩性放在图片中)。如果您更想学习在docker中创建这样的web服务,那么您可以使用类似于mongo db docker image(直接从docker hub)代替DynamoDB。
更新:不过,您可以为DynamoDB使用https://hub.docker.com/r/amazon/dynamodb-local/。第一次镜像推送是在六个月前。
对于Lambda,你可以尝试https://github.com/lambci/docker-lambda,看看它是否工作。
发布于 2019-02-11 05:39:28
对lambda块使用Sam local,对DynamoDB块使用DynamoDB local。
此外,一旦进入亚马逊网络服务,你也许可以通过hook up ELBs to Lambda functions在没有api网关的情况下离开。
https://stackoverflow.com/questions/54616601
复制相似问题