我正在尝试使用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。
aws localstack是无服务器应用本地开发
使用sam local进行lambda零件,而DynamoDB local in dynamoDB则使用dynamodb local。我建议使用Libik提及的Docker容器运行DynamoDB本地。