![](/img/trans.png)
[英]Terraform error creating a pattern of a aws_cloudwatch_log_metric_filter
[英]ERROR aws_cloudwatch_log_subscription_filter to AWS Lambda with Terraform
我正在嘗試使用 Terraform 將 CloudWatchLogs 日志組訂閱到 AWS Lambda,但它給了我一個錯誤。
我的代碼是:
resource "aws_cloudwatch_log_subscription_filter" "test_lambdafunction_logfilter" {
name = "test_lambdafunction_logfilter"
role_arn = "arn:aws:iam::XXXXXXXXXXXX:role/dx-dev-rol-datadog-log-forwarder-function"
log_group_name = "dx-dev-lg-destination-content-full"
filter_pattern = "logtype test"
destination_arn = "arn:aws:iam::XXXXXXXXXXXX:lambda/dx-dev-lmbd-datadog-log-forwarder-function-01"
distribution = "Random"
}
錯誤:創建 Cloudwatch 日志訂閱過濾器時出錯:
InvalidParameterException:PutSubscriptionFilter 操作無法與供應商 iam 的 destinationArn 一起使用
狀態碼:400,請求ID:19836154-97e4-48f0-89b5-692f44ab1764
Terraform 文檔指出,role_arn 和分布參數只能與 Kinesis stream 目標一起使用。 錯誤消息只是說明了當目標為 Lambda 時您不能使用 IAM 角色參數這一事實。
EF role_arn -(可選)如果您使用Lambda作為目標,則應跳過此參數並使用 aws_lambda_permission 資源來授予從 CloudWatch 日志到目標 Lambda ZC1C425268E68385D1AB5074C17ZA9 的訪問權限。
分發- (可選)僅當目標是 Amazon Kinesis stream 時,此屬性才適用。
最后插入和刪除 role_arn 參數已經奏效:
resource "aws_cloudwatch_log_subscription_filter" "dx-dev-lg-destination-content-full" {
name = "dx-dev-lg-destination-content-full"
#role_arn = "arn:aws:iam:eu-central-1:442793498433:role/dx-dev-rol-datadog-log-forwarder-function"
log_group_name = "dx-dev-lg-destination-content-full"
filter_pattern = ""
destination_arn = "arn:aws:lambda:eu-central-1:442793498433:function:dx-dev-lmbd-datadog-log-forwarder-function-01"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.