如何在 CloudFormation 模板中描述 AWS Lambda 函数测试事件?

Posted

技术标签:

【中文标题】如何在 CloudFormation 模板中描述 AWS Lambda 函数测试事件?【英文标题】:How to describe AWS Lambda function test events in CloudFormation template? 【发布时间】:2019-01-17 20:58:17 【问题描述】:

我在 CloudFormation 模板中描述了现有的 AWS Lambda 函数,我将面临下一个问题。在我们的 Lambda 中,我们配置了一些测试事件来帮助我们验证一些用例(我指的是下面屏幕截图中的功能)。

但我看不到将这些测试事件添加到 CloudFormation 模板的任何功能。 AWS 文档对此没有帮助。这是否可能,或者是否有任何解决方法如何导出和导入 Lambda 函数测试事件?

【问题讨论】:

我发现这个问题是因为我想到这会很有用......所以如果来自 aws 的任何人读到这个...... +1。 【参考方案1】:

Lambda 测试功能仅在 UI 控制台中可用,您可以使用 Cloudformation Custom Resource 从 cloudformation 模板调用函数。资源属性允许 AWS CloudFormation 创建自定义负载以发送到 Lambda 函数。

示例代码:

Resources:
  EnableLogs:
    Type: Custom::EnableLogs
    Version: '1.0'
    Properties:
      ServiceToken: arn:aws:lambda:us-east-1:acc:function:rds-EnableRDSLogs-1O6XLL6LWNR5Z
      DBInstanceIdentifier: mydb

事件参数提供资源属性。例如:

event['ResourceProperties']['DBInstanceIdentifier']

【讨论】:

以上是关于如何在 CloudFormation 模板中描述 AWS Lambda 函数测试事件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的新 CloudFormation 模板中引用现有角色?

如何遍历 CloudFormation 模板中的值

如何在 CloudFormation 模板中为 Elastic Beanstalk 启动配置指定安全组?

如何在 AWS Cloudformation 模板文件中获取用户名?

如何使用 cloudformation 模板创建 cloudwatch 事件?

如何从 cloudformation 模板中的参数文件传递公钥?