【问题标题】:Dynamo db Seed data insertion not working when deploying to aws部署到 aws 时,Dynamo db Seed 数据插入不起作用
【发布时间】:2019-01-08 14:54:33
【问题描述】:

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

我对无服务器非常陌生,这是我的第一个无服务器应用程序和部署。我正在使用 '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 deploy'时。我在 aws 的 dynamo db 表中看不到种子数据。 还想知道我在哪里可以看到 aws 服务器上的 json 种子数据文件(test.json)。它会自动部署到某个地方吗?

【问题讨论】:

  • 有什么帮助吗?
  • 我认为播种功能仅支持离线无服务器,由 dynamo 本地插件支持,它不应该在线工作github.com/99xt/serverless-dynamodb-local
  • @varnit:谢谢
  • 我应该将其发布为其他用户可能面临同样问题的答案
  • 是的。请将其发布为答案。

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


【解决方案1】:

播种功能仅在无服务器离线中受 dynamo 本地插件支持,它不应该在线工作 github.com/99xt/serverless-dynamodb-local

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

【讨论】:

    【解决方案2】:

    varnit 是正确的。您只能使用 serverless-dynamodb-local 离线播种。对于通过无服务器部署到 AWS 的 DynamoDB 中的数据播种,如果您不想像 varnit 建议的那样自己做,有一些库也可以提供帮助。

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

    • 这是特定于无服务器的

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

    • 这个比较通用

    【讨论】:

    • serverless-dynamodb-seed 非常适合我。此外,我们可以使用为 serverless-dynamodb-local 创建的相同 JSON 文件
    猜你喜欢
    • 1970-01-01
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    相关资源
    最近更新 更多