วิธีรับ streamArn ของตาราง dynamodb ที่สร้างขึ้นด้วยตนเองใน CloudFormation

Aug 18 2020

ฉันกำลังพยายามสร้างเทมเพลต cloudformation เพื่อปรับใช้ lambda และ lambda นี้จะมี DynamoDB เป็นทริกเกอร์ ดังนั้นเพื่อรองรับว่าฉันกำลังใช้ AWS :: Lambda :: EventSourceMapping ในเทมเพลต cloudformation ของฉันและการเข้ารหัส EventSourceArn สำหรับตาราง dynamodb แต่ละตาราง

คำถามของฉันมีวิธีใดบ้างในการรับ streamArn ของตาราง DynamoDB ที่สร้างขึ้นด้วยตนเอง หรือฉันต้องส่งค่านี้ฮาร์ดโค้ดจากส่วนพารามิเตอร์

โปรดช่วยฉันด้วยคำแนะนำ

คำตอบ

1 TraychoIvanov Aug 18 2020 at 00:58

ทุกสิ่งที่คุณสร้างด้วยตนเองมีอยู่ในคอนโซล AWS และคุณสามารถตรวจสอบอาร์เรย์ทั้งหมดได้

AWS Console -> DynamoDB -> Select your tableสำหรับคุณกรณีที่เฉพาะเจาะจงในการเดินทาง

หมายเหตุ: ฉันขอแนะนำให้ใช้ cloudformation และหลีกเลี่ยงการใช้สิ่งที่ต้องทำด้วยตนเองหากมีการปรับใช้ที่ใดที่หนึ่งเป็นของจริง

ChrisWilliams Aug 18 2020 at 00:51

ไม่มีการทำงาน CloudFormation พื้นเมืองเรียก Arns ทรัพยากรสร้างขึ้นด้วยตนเองยกเว้นเป็นชนิดของพารามิเตอร์บางอย่าง

หากคุณตั้งใจที่จะให้ทรัพยากรนี้เป็นทรัพยากรที่สร้างขึ้นด้วยตนเองคุณจะต้องผ่านเป็นพารามิเตอร์ลงในแม่แบบของคุณเพื่อให้คุณสามารถอ้างอิงได้ทั้งอ้างอิงเป็นสตริงหรือพารามิเตอร์ SSM ตาม

หรือคุณสามารถสร้างทรัพยากรแบบกำหนดเองที่ยอมรับชื่อตาราง DynamoDB เป็นพารามิเตอร์และทริกเกอร์ Lambda เพื่อรับ Arn ของสตรีม

หากคุณต้องการจัดการตารางใน CloudFormation คุณสามารถสร้างทรัพยากรในเทมเพลต CloudFormation ของคุณจากนั้นนำเข้าสู่สแต็ก โดยการทำเช่นนี้คุณก็จะอ้างอิงStreamArnของตารางทรัพยากร DynamoDB