0

我正在尝试使用 aws (Nodejs) 和 dynamodb 创建一个 REST API。大多数时候我无法访问 AWS,我需要让所有东西都离线运行以进行测试,并且只有在完成大量工作时才进行部署。是否有任何指南或良好实践可以帮助我进行开发?

提前致谢!

4

3 回答 3

4

您可以在本地主机上运行 dynamodb 的离线版本。最简单的方法是将它放在 docker 的容器中。然后你根本不需要管理它,它可以在每个安装了 docker 的环境中工作。

这就是我们在无服务器应用程序的 package.json 脚本中所拥有的

    "start": "sls offline start",
    "start-local": "npm run force-dynamo sls offline start --stage=localhost",
    "force-dynamo": "npm run stop-dynamo && npm run start-dynamo",
    "start-dynamo": "docker run -d -p 8000:8000 dwmkerr/dynamodb -sharedDb",
    "stop-dynamo": "docker stop $(docker ps -a -q --filter ancestor=dwmkerr/dynamodb --format=\"{{.ID}}\")",

但是,如果您不太关心 CI/CD 管道或在多个设备上的可重用性 -> 您可以安装 dynamoDB,运行它并根据配置只针对您的离线/在线 dynamodb。

于 2019-03-04T15:29:49.427 回答
0

对 lambda 部分使用Sam Local ,对 DynamoDB 部分使用DynamoDB Local。我建议使用 libik 提到的 docker 容器在本地运行 DynamoDB。

于 2019-03-05T02:19:04.900 回答
0

AWS localstack 是本地开发无服务器应用程序的不错选择

于 2019-03-04T17:13:05.763 回答