Bạn có thể sử dụng tài nguyên aws_cloudwatch_event_target
để buộc nguồn sự kiện theo lịch (quy tắc sự kiện) vào hàm lambda của bạn. Bạn cần phải cho phép nó để gọi hàm lambda của bạn; bạn có thể sử dụng tài nguyên aws_lambda_permission
cho việc này.
Ví dụ:
resource "aws_lambda_function" "check_foo" {
filename = "check_foo.zip"
function_name = "checkFoo"
role = "arn:aws:iam::424242:role/something"
handler = "index.handler"
}
resource "aws_cloudwatch_event_rule" "every_five_minutes" {
name = "every-five-minutes"
description = "Fires every five minutes"
schedule_expression = "rate(5 minutes)"
}
resource "aws_cloudwatch_event_target" "check_foo_every_five_minutes" {
rule = "${aws_cloudwatch_event_rule.every_five_minutes.name}"
target_id = "check_foo"
arn = "${aws_lambda_function.check_foo.arn}"
}
resource "aws_lambda_permission" "allow_cloudwatch_to_call_check_foo" {
statement_id = "AllowExecutionFromCloudWatch"
action = "lambda:InvokeFunction"
function_name = "${aws_lambda_function.check_foo.function_name}"
principal = "events.amazonaws.com"
source_arn = "${aws_cloudwatch_event_rule.every_five_minutes.arn}"
}
Nguồn
2016-03-09 15:09:12
Mọi mẹo khắc phục sự cố này? Tôi có thể thấy trong giao diện điều khiển quy tắc sự kiện trên đám mây trông chính xác và trong bảng điều khiển lambda được liệt kê là trình kích hoạt. Có vẻ như bộ đếm thời gian đang kích hoạt nhưng lời gọi không thành công và tôi không thấy bằng chứng nào về lambda được gọi trong nhật ký trên máy tính bảng. Có bất kỳ nhật ký nào dành cho hẹn giờ sự kiện trên đồng hồ điện toán đám mây không? –