CloudFormationで手動で作成されたdynamodbテーブルのstreamArnを取得する方法

Aug 18 2020

ラムダをデプロイするためのクラウドフォーメーションテンプレートを作成しようとしていますが、このラムダにはDynamoDBがトリガーとして含まれます。したがって、クラウドフォーメーションテンプレートでAWS :: Lambda :: EventSourceMappingを使用し、各dynamodbテーブルにEventSourceArnをハードコーディングしていることに対応するためです。

私の質問ですが、手動で作成された既存のDynamoDBテーブルのstreamArnを取得する方法はありますか?または、パラメータセクションからハードコードされたこの値を渡す必要があります。

アドバイスを手伝ってください。

回答

1 TraychoIvanov Aug 18 2020 at 00:58

手動で作成したものはすべてAWSコンソールで利用でき、すべてのarnを確認できます。

特定のケースについては、に移動してくださいAWS Console -> DynamoDB -> Select your table

注:クラウドフォーメーションを使用することをお勧めします。これが実際にどこかに展開されている場合は、手動のものを使用しないでください。

ChrisWilliams Aug 18 2020 at 00:51

特定のパラメータータイプを除いて、手動で作成されたリソースArnsを取得するためのネイティブCloudFormation機能はありません。

このリソースを手動で作成されたリソースとして保持する場合は、文字列またはSSMベースのパラメーターとして参照できるように、パラメーターとしてテンプレートに渡す必要があります。

または、DynamoDBテーブル名をパラメーターとして受け入れ、LambdaをトリガーしてストリームのArnを取得するカスタムリソースを構築することもできます。

CloudFormationでテーブルを管理したい場合は、CloudFormationテンプレートでリソースを作成してから、スタックにインポートできます。これを行うことStreamArnで、DynamoDBテーブルリソースのを参照できます。