Comment obtenir streamArn d'une table dynamodb créée manuellement dans CloudFormation
J'essaie de créer un modèle cloudformation pour déployer un lambda et ce lambda aura DynamoDB comme déclencheur. Donc, pour tenir compte de cela, j'utilise AWS::Lambda::EventSourceMapping dans mon modèle cloudformation et EventSourceArn de codage en dur pour chaque table dynamodb.
Ma question, existe-t-il un moyen d'obtenir streamArn d'une table DynamoDB existante, qui est créée manuellement ? ou je dois transmettre cette valeur codée en dur à partir de la section des paramètres.
S'il vous plaît aidez-moi avec vos conseils.
Réponses
Toutes les choses que vous créez manuellement sont disponibles dans la console AWS et vous pouvez vérifier tous les arn.
Pour votre cas spécifique, rendez-vous sur AWS Console -> DynamoDB -> Select your table
.
Remarque : Je recommanderais d'utiliser cloudformation et d'éviter d'utiliser des choses manuelles si cela est déployé quelque part pour de vrai.
Il n'y a pas de fonctionnalité CloudFormation native pour récupérer la ressource Arns créée manuellement à l'exception de certains types de paramètres .
Si vous avez l'intention de conserver cette ressource en tant que ressource créée manuellement, vous devrez la transmettre en tant que paramètre dans votre modèle afin de pouvoir la référencer, soit en la référençant en tant que chaîne, soit en tant que paramètre basé sur SSM .
Vous pouvez également créer une ressource personnalisée qui accepte le nom de la table DynamoDB en tant que paramètre et déclenche un Lambda pour obtenir l'Arn du flux.
Si vous souhaitez gérer la table dans CloudFormation, vous pouvez créer la ressource dans votre modèle CloudFormation, puis l'importer dans la pile . En procédant ainsi, vous pouvez ensuite référencer la ressource StreamArn
de table DynamoDB .