在Lambda函数内部访问AWS CloudFormation ARN

6

我有两个Lambda函数,Lambda1和Lambda2。Lambda1执行一些工作,并通过名为Topic1的SNS主题向Lambda2发送多个结果。然后Lambda2处理Lambda1的结果。

Lambda1 -> Topic1 -> Lambda2

一切都进行得很顺利,直到我尝试构建表示它的CloudFormation模板。我可以将Lambda2订阅到Topic1,但是我怎么告诉Lambda1要推送消息到哪个SNS主题呢?毕竟,主题ARN在创建CloudFormation堆栈之前并不存在。

1个回答

1
你可以使用单个 CloudFormation 堆栈来创建此场景。堆栈的输出可以用于配置在堆栈内创建的 Lambda 1 访问 Topic 1,你只需要给你的 Lambda 赋予 cloudformation:DescribeStacks 权限,然后从你的 Lambda 代码中访问堆栈输出。

1
谢谢你。我还没有将其标记为正确答案,因为我还没有时间尝试它。不过看起来很不错。 - Col Wilson
1
是的,这就是它。我创建了堆栈,从cloudformation::DescribeStacks(实际上是boto3.resource('cloudformation').StackResource)获取了ARN,并将ARN存储在S3存储桶中,然后让Lambda函数从那里加载ARN。 - Col Wilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接