AWS 的无服务器框架:将初始数据添加到 Dynamodb table

Serverless framework for AWS : Adding initial data into Dynamodb table

目前我正在使用无服务器框架在 AWS 上部署我的应用程序。

https://serverless.com/

使用 serverless.yml 文件,我们创建应用程序所需的 DynamoDB 表。这些表是从 lambda 函数访问的。

部署应用程序时,我希望这些表中的几个表加载初始数据集。

这可能吗?

你能给我一些插入初始数据的指导吗?

AWS SAM 可以吗?

不知道在无服务器中是否有特定的方法来执行此操作,但是,只需像这样向构建管道添加对 AWS CLI 的调用:

aws dynamodb batch-write-item --request-items file://initialdata.json

其中 initialdata.json 看起来像这样:

{
    "Forum": [
        {
            "PutRequest": {
                "Item": {
                    "Name": {"S":"Amazon DynamoDB"},
                    "Category": {"S":"Amazon Web Services"},
                    "Threads": {"N":"2"},
                    "Messages": {"N":"4"},
                    "Views": {"N":"1000"}
                }
            }
        },
        {
            "PutRequest": {
                "Item": {
                    "Name": {"S":"Amazon S3"},
                    "Category": {"S":"Amazon Web Services"}
                }
            }
        }
    ]
}

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SampleData.LoadData.html

无服务器框架的另一个选择是使用像 serverless-plugin-scripts 插件这样的工具,默认情况下它允许您将自己的 CLI 命令添加到部署过程中:

https://github.com/mvila/serverless-plugin-scripts