部署到AWS时Dynamo db Seed数据插入不起作用

时间:2019-01-08 14:54:34

标签: amazon-web-services amazon-dynamodb serverless-framework seeding dynamo-local

我在本地有一个无服务器框架和dynamo数据库。我正在尝试播种数据。当我执行“ sls离线启动”时,种子数据将插入到我的本地dynamo数据库中。 但是当我使用“ sls deploy”将其部署到aws时。我没有看到将种子数据插入到AWS Dynamo数据库中。

我对无服务器非常陌生,这是我的第一个无服务器应用程序和部署。我正在使用'serverless-offline'和'serverless-dynamo db'。

以下是我在serverless.yml上的配置

serverless-offline:
host: 0.0.0.0
  dynamodb:
    start:
      port: 8000
      inMemory: true
      migrate: true 
      seed: true
      convertEmptyValues: true
    seed:
      domain:
        sources:
          - table: ${self:custom.test}
            sources: [seed/test.json]

以上配置对本地设置有效。当我离线运行sls时,一切工作正常。但是当我做'sls部署'。我没有在aws的dynamo db表中看到种子数据。 还想知道我在哪里可以在AWS服务器上看到JSON种子数据文件(test.json)。它会自动部署到某个地方吗?

2 个答案:

答案 0 :(得分:1)

dynamo本地插件仅在无服务器脱机中支持播种功能,并且不应在线运行github.com/99xt/serverless-dynamodb-local

但是,您可以使用cloudformation init函数,该函数将在堆栈创建期间执行一个lambda函数,您可以使用它来播种dynamo db表。

答案 1 :(得分:0)

varnit是正确的。您只能使用serverless-dynamodb-local离线种子。为了在DynamoDB中通过无服务器部署到AWS的数据中播种数据,如果您不想像varnit所建议的那样自己做,则可以使用一些库。

https://www.npmjs.com/package/serverless-dynamodb-seed

  • 这是针对无服务器的

https://www.npmjs.com/package/aws-cdk-dynamodb-seeder

  • 这是更通用的