簡體   English   中英

Terraform 不會在 cloudwatch 事件目標上添加日志組名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM