Как получить streamArn созданной вручную таблицы Dynamodb в CloudFormation

Aug 18 2020

Я пытаюсь создать шаблон облачной информации для развертывания лямбды, и эта лямбда будет иметь DynamoDB в качестве триггера. Итак, чтобы учесть это, я использую AWS :: Lambda :: EventSourceMapping в моем шаблоне облачной информации и жестко кодирую EventSourceArn для каждой таблицы Dynamodb.

Мой вопрос, есть ли способ получить streamArn существующей таблицы DynamoDB, созданной вручную? или мне нужно передать это значение, жестко заданное из раздела параметров.

Пожалуйста, помогите мне своим советом.

Ответы

1 TraychoIvanov Aug 18 2020 at 00:58

Все, что вы создаете вручную, доступно в консоли AWS, и вы можете проверить все arns.

Для вашего конкретного случая перейдите по ссылке AWS Console -> DynamoDB -> Select your table.

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

ChrisWilliams Aug 18 2020 at 00:51

Нет встроенной функции CloudFormation для извлечения вручную созданного ресурса Arns, за исключением некоторых типов параметров .

Если вы намерены сохранить этот ресурс как ресурс, созданный вручную, вам нужно будет передать его в качестве параметра в свой шаблон, чтобы вы могли ссылаться на него, ссылаясь либо на строку, либо на параметр на основе SSM .

В качестве альтернативы вы можете создать пользовательский ресурс, который принимает имя таблицы DynamoDB в качестве параметра и запускает лямбда-выражение для получения Arn потока.

Если вы хотите управлять таблицей в CloudFormation, вы можете создать ресурс в своем шаблоне CloudFormation, а затем импортировать в стек . Делая это , вы могли бы ссылаться на StreamArnчасть ресурса DynamoDB таблицы .