amazon-web-services - 配置 CloudWatch Events 以使用 Terraform 将输入发送到 Lambda 函数
问题描述
我想配置 CloudWatch Events 以使用 Terraform 将输入发送到 Lambda 函数。我使用以下脚本来执行此操作:
resource "aws_cloudwatch_event_rule" "aa-rule-event" {
count = "${var.count}"
name = "${var.application_name}-${element(var.names, count.index)}"
description = "${element(var.descriptions, count.index)}"
schedule_expression = "${element(var.cron-expressions, count.index)}"
is_enabled = "${element(var.rule-status-states, count.index)}"
}
resource "aws_cloudwatch_event_target" "aa-rule-target" {
count = "${var.count}"
rule = "${var.application_name}-${element(var.names, count.index)}"
target_id = "CloudWatchToLambda"
arn = "arn:aws:lambda:${var.aws_region}:${var.aws_account_number}:function:${var.application_name}-${element(var.target-lambda-function, count.index)}"
}
我需要通过此 CloudWatch 事件向目标 Lambda 提供输入。我知道可以配置输入,但是如何在 Terraform 中配置呢?
解决方案
该aws_cloudwatch_event_target
资源采用一个可选input
参数,该参数可以在调用 Lambda 函数时将 JSON blob 传递给与有效负载等效的目标。
resource "aws_cloudwatch_event_rule" "aa-rule-event" {
count = "${var.count}"
name = "${var.application_name}-${element(var.names, count.index)}"
description = "${element(var.descriptions, count.index)}"
schedule_expression = "${element(var.cron-expressions, count.index)}"
is_enabled = "${element(var.rule-status-states, count.index)}"
}
resource "aws_cloudwatch_event_target" "aa-rule-target" {
count = "${var.count}"
rule = "${var.application_name}-${element(var.names, count.index)}"
target_id = "CloudWatchToLambda"
arn = "arn:aws:lambda:${var.aws_region}:${var.aws_account_number}:function:${var.application_name}-${element(var.target-lambda-function, count.index)}"
input = <<JSON
{
"foo": {
"bar": [
1,
2
]
}
}
JSON
}
推荐阅读
- java - 运行我的代码时出现 throwFor、next 和 nextDouble 错误
- html - CSS问题中导航栏的汉堡包
- join - Google Sheet JOIN 3 表相关
- ms-access - 报告完成后会发生哪些报告事件?
- oauth - 在移动浏览器中登录 Facebook 时出错
- three.js - 使用动画系统更新 bufferGeometry 的属性
- swift - 将 html 内容作为字符串读取,无需重定向
- javascript - 是否可以删除 2 个表中的 1 行 sqlite
- angularjs - 如何在angularjs中找到一组可用日期中的第一个日期?
- javascript - 从单元格组件内部检测行选择更改