如何仅在创建AWS :: Cloudformation :: Stack时调用AWS :: Lambda :: Function?

时间:2019-02-08 22:17:19

标签: amazon-web-services aws-lambda amazon-cloudformation

背景:

我有一个带有VPC和RDS实例的堆栈。

目标:

我想创建一个新的堆栈(通过单独的模板),该堆栈在创建时会调用一个lambda函数,该函数连接到上述RDS实例并创建一个新的数据库。

问题:

我只希望lambda在第一次创建堆栈时调用,以避免运行lambda创建已经存在的数据库。

其他信息

我正在使用lambda的nodejs8.10运行时,并使用节点mysql库创建数据库。

我的模板应该只允许新的堆栈在RDS实例上创建数据库。

1 个答案:

答案 0 :(得分:2)

您可以在CloudFormation中定义Lambda-backed custom resource。您可以检查资源是否正在创建,更新或从功能中删除。但是最好让该函数幂等。

过去,我曾使用this github project引导自定义资源。我推荐。