0

我在本地有一个无服务器框架和发电机数据库。我正在尝试播种数据。当我执行“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)。它会自动部署到某个地方吗?

4

2 回答 2

2

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

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

于 2019-01-17T16:21:17.433 回答
1

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

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

  • 这是无服务器特定的

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

  • 这个比较通用
于 2020-10-27T08:37:13.137 回答