[英]Terraform doesn't add log group name on cloudwatch event target
我在Cloudwatch
創建了一個規則,並在Terraform
附加了一個log group
作為其目標。
resource "aws_cloudwatch_event_target" "trigger_glue_job_lambda" {
rule = "${aws_cloudwatch_event_rule.crawler.name}"
target_id = "SendToLambda"
arn = "${aws_lambda_function.trigger_glue_job.arn}"
}
resource "aws_cloudwatch_event_target" "log_glue_crawler_result" {
rule = "${aws_cloudwatch_event_rule.crawler.name}"
target_id = "LogCrawler"
arn = "${aws_cloudwatch_log_group.grue_crawler_log_group.arn}"
}
resource "aws_cloudwatch_log_group" "grue_crawler_log_group" {
name = "crawler_log"
tags = {
Application = "reddit_movies"
}
}
您會看到上面的配置包括一個log group
資源定義和兩個event target
,一個用於日志組,另一個用於觸發 lambda。 以下是 aws cloudwatch 規則控制台中此配置的屏幕截圖。
您會看到屏幕截圖底部的目標正確顯示了 lambda,但沒有顯示我創建的日志組的名稱。 相反,它為日志組名稱顯示*
。 我想知道我的配置有什么問題。
在檢查了 cloudwatch 日志組的arn屬性值后,由於某種原因,它以這種格式格式在末尾附加了星號arn:aws:logs:eu-west-1:12345678912:log-group:crawler_log:*
像這樣更改代碼以刪除最后 2 個字符:
resource "aws_cloudwatch_event_target" "log_glue_crawler_result" {
rule = "${aws_cloudwatch_event_rule.crawler.name}"
target_id = "LogCrawler"
arn = "${substr(aws_cloudwatch_log_group.grue_crawler_log_group.arn,0,length(aws_cloudwatch_log_group.grue_crawler_log_group.arn) - 2)}"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.