Бессерверный фреймворк для AWS: добавление исходных данных в таблицу Dynamodb

В настоящее время я использую бессерверную структуру для развертывания своих приложений на AWS.

https://serverless.com/

Используя файл serverless.yml, мы создаем таблицы DynamoDB, необходимые для приложения. Доступ к этим таблицам осуществляется с помощью лямбда-функций.

Когда приложение развернуто, я хочу, чтобы несколько из этих таблиц были загружены с начальным набором данных.

Это возможно?

Не могли бы вы дать мне несколько указателей для вставки этих исходных данных?

Возможно ли это с AWS SAM?


person Dattatray    schedule 11.10.2019    source источник


Ответы (2)


Не знаю, есть ли какой-то конкретный способ сделать это в бессерверной версии, однако просто добавьте вызов 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

person robasaurus    schedule 11.10.2019
comment
Да, это может быть простой способ. Есть ли альтернативный способ выполнить это через файл serverless.yml? - person Dattatray; 11.10.2019
comment
Единственное, что я нашел, это forum.serverless.com/t/, который использует: serverless.com/ plugins / serverless-Dynamodb-local, хотя я не пробовал - person robasaurus; 11.10.2019

Еще один вариант Serverless Framework - использовать такой инструмент, как плагин serverless-plugin-scripts, который позволяет вам по умолчанию добавлять свои собственные команды CLI в процесс развертывания:

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

person Gareth McCumskey    schedule 11.10.2019