Como obter streamArn de uma tabela dynamodb criada manualmente no CloudFormation

Aug 18 2020

Estou tentando criar um modelo cloudformation para implantar um lambda e esse lambda terá o DynamoDB como trigger. Portanto, para acomodar isso, estou usando AWS::Lambda::EventSourceMapping em meu modelo cloudformation e codificando EventSourceArn para cada tabela dynamodb.

Minha pergunta, existe alguma maneira de obter streamArn de uma tabela existente do DynamoDB, que é criada manualmente? ou eu tenho que passar esse valor codificado da seção de parâmetros.

Por favor me ajude com seus conselhos.

Respostas

1 TraychoIvanov Aug 18 2020 at 00:58

Todas as coisas que você cria manualmente estão disponíveis no console AWS e você pode verificar todos os arns.

Para o seu caso específico, vá para AWS Console -> DynamoDB -> Select your table.

Observação: eu recomendaria usar o cloudformation e evitar o uso de coisas manuais se isso for implantado em algum lugar de verdade.

ChrisWilliams Aug 18 2020 at 00:51

Não há funcionalidade nativa do CloudFormation para recuperar o recurso Arns criado manualmente, com exceção de determinados tipos de parâmetro .

Se você pretende manter este recurso como um recurso criado manualmente, você precisa passar como um parâmetro em seu modelo para que possa referenciá-lo, seja como uma string ou um parâmetro baseado em SSM .

Como alternativa, você pode construir um recurso personalizado que aceite o nome da tabela do DynamoDB como um parâmetro e acione um Lambda para obter o Arn do fluxo.

Se você quiser gerenciar a tabela no CloudFormation, poderá construir o recurso em seu modelo do CloudFormation e depois importá-lo para a pilha . Ao fazer isso, você pode referenciar o recurso StreamArnde tabela do DynamoDB .