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