我正在尝试使用aws(Nodejs)和dynamodb创建一个REST API。大多数情况下,我无权访问AWS,并且我需要使所有内容脱机运行以进行测试,并且仅在完成大量工作后才进行部署。是否有任何指南或良好实践对我的发展有所帮助?
谢谢!
答案 0 :(得分:3)
您可以在本地主机上运行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,运行它,并基于配置仅针对您的脱机/在线动态模型。
答案 1 :(得分:0)
AWS localstack是无服务器应用程序本地开发的不错选择
答案 2 :(得分:0)
对于lambda部分使用Sam Local,对于DynamoDB部分使用DynamoDB Local。我建议使用libik提到的docker容器在本地运行DynamoDB。