离线构建无服务器应用程序的最佳方法是什么?

时间:2019-03-04 15:21:47

标签: node.js amazon-dynamodb offline aws-serverless amazon-dynamodb-local

我正在尝试使用aws(Nodejs)和dynamodb创建一个REST API。大多数情况下,我无权访问AWS,并且我需要使所有内容脱机运行以进行测试,并且仅在完成大量工作后才进行部署。是否有任何指南或良好实践对我的发展有所帮助?

谢谢!

3 个答案:

答案 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。