Как вы вводите значения в DynamodB через облачной информации? - PullRequest
0 голосов
/ 02 мая 2020

Я создаю таблицу в облачной информации:

"MyStuffTable": {
    "Type": "AWS::DynamoDB::Table",
    "Properties": {
        "TableName": "MyStuff"
        "AttributeDefinitions": [{
            "AttributeName": "identifier",
            "AttributeType": "S"
        ]},
        "KeySchema": [{
            "AttributeName": "identifier",
            "KeyType": "HASH",
        }],
        "ProvisionedThroughput": {
            "ReadCapacityUnits": "5",
            "WriteCapacityUnits": "1"
         }
    }
}

Затем в облачной информации я хочу вставить записи в эту таблицу, что-то вроде этого:

identifier: Stuff1
data: {My list of stuff here}

И вставьте это в значения в коде ниже. Я видел где-то пример, который использовал Custom::Install, но я не могу найти его сейчас или какую-либо документацию по нему. Вот что у меня есть:

MyStuff: {
    "Type": "Custom::Install",
    "DependsOn": [
        "MyStuffTable"
      ],
    "Properties": {
        "ServiceToken": {
            "Fn::GetAtt": ["MyStuffTable","Arn"]
        },
        "Action": "fields",
        "Values": [{<insert records into this array}]
    }
};

Когда я запускаю это, я получаю это Invalid service token. Так что я не делаю что-то правильно, пытаясь сослаться на таблицу, чтобы вставить записи. Кажется, я не могу найти какую-либо документацию по Custom :: Install, так что я не уверен, что это правильный путь к go о вставке записей посредством облачной информации. Я также не могу найти документацию по вставке записей с помощью облачной информации. Я знаю, что это можно сделать. Я, наверное, упускаю что-то очень простое. Есть идеи?

1 Ответ

2 голосов
/ 02 мая 2020

Custom::Install - это пользовательский ресурс в CloudFormation.

Это особый тип ресурса, который вы должны разработать самостоятельно. В основном это делается с помощью лямбда-функции (также может быть SNS).

Итак, чтобы ответить на ваш вопрос. Чтобы добавить данные в вашу таблицу, вам нужно будет написать свой собственный ресурс в лямбде . Лямбда помещает записи в таблицу.

Action и fields - это пользовательские параметры, которые CloudFormation передает в лямбду в примере Custom::Install. Параметры могут быть любыми, так как вы разрабатываете пользовательский ресурс с учетом ваших требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...