我正在尝试使用 aws (Nodejs) 和 dynamodb 创建一个 REST API。大多数时候我无法访问 AWS,我需要让所有东西都离线运行以进行测试,并且只有在完成大量工作时才进行部署。是否有任何指南或良好实践可以帮助我进行开发?
提前致谢!
我正在尝试使用 aws (Nodejs) 和 dynamodb 创建一个 REST API。大多数时候我无法访问 AWS,我需要让所有东西都离线运行以进行测试,并且只有在完成大量工作时才进行部署。是否有任何指南或良好实践可以帮助我进行开发?
提前致谢!
您可以在本地主机上运行 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。
对 lambda 部分使用Sam Local ,对 DynamoDB 部分使用DynamoDB Local。我建议使用 libik 提到的 docker 容器在本地运行 DynamoDB。
AWS localstack 是本地开发无服务器应用程序的不错选择