schedult 上的 aws 自定义事件以触发 lambda 使用 Terraform
Posted
技术标签:
【中文标题】schedult 上的 aws 自定义事件以触发 lambda 使用 Terraform【英文标题】:aws custom event on schedult to trigger lambda Using Terraform 【发布时间】:2022-01-12 01:15:13 【问题描述】:我想创建一个应按计划传递给 Lambda 的自定义事件 我能够创建一个预定的事件 但无法传递自定义事件详细信息:
所以我想要这样的东西
resource "aws_cloudwatch_event_rule" "roup1-rule"
name = "Group1"
description = "Group1"
schedule_expression = "rate(10 minutes)"
is_enabled = true
event_pattern = <<EOF
"source": ["Group1"],
"groupNumber":["Group1"],
"notificationDate":["-"]
EOF
但我只得到这样的空事件
'version': '0', 'id': '8d41b334-297c-bc93-795d-54b7622a3da7', 'detail-type': 'Scheduled Event', 'source': 'aws.events', 'account': '215132885729', 'time': '2021-12-06T21:05:34Z', 'region': 'us-east-1', 'resources': ['arn:aws:events:us-east-1:215132885729:rule/gov-prov-srvcs-Demographic_Group1'], 'detail':
'version': '0', 'id': '8d41b334-297c-bc93-795d-54b7622a3da7', 'detail-type': 'Scheduled Event', 'source': 'aws.events', 'account': '215132885729', 'time': '2021-12-06T21:05:34Z', 'region': 'us-east-1', 'resources': ['arn:aws:events:us-east-1:215132885729:rule/gov-prov-srvcs-Demographic_Group1'], 'detail':
【问题讨论】:
【参考方案1】:event_pattern
不与schedule_expression
一起使用。 event_pattern
仅用于过滤掉其他服务产生的事件。
您必须将event
添加到您的函数代码中。无论如何,它是一个常数值。
【讨论】:
我们不能传递一个常量 json 。我可以通过控制台执行此操作,以按计划发送常量 json。但在 TF 中无法做到这一点 资源 "aws_cloudwatch_event_target" "Group1-tgt" rule = aws_cloudwatch_event_rule.Group1-rule.name arn = aws_lambda_function.createtrigger.arn event_pattern = @devx 你必须使用input。以上是关于schedult 上的 aws 自定义事件以触发 lambda 使用 Terraform的主要内容,如果未能解决你的问题,请参考以下文章
AWS 事件总线无法将日志写入来自 AWS Lambda 的自定义日志组上的 CloudWatch
重力表单 - 添加自定义事件不通过Google跟踪代码管理器触发