amazon-web-services - 错误 aws_cloudwatch_log_subscription_filter 到 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 流目标一起使用。错误消息只是说明了当目标是 Lambda 时您不能使用 IAM 角色参数这一事实。
role_arn -(可选)如果您使用Lambda作为目标,则应跳过此参数并使用 aws_lambda_permission 资源授予从 CloudWatch 日志到目标 Lambda 函数的访问权限。
分发- (可选)此属性仅在目标是 Amazon Kinesis 流时适用。
推荐阅读
- r - Cox 模型,coxph(),无事件对照处理,种子萌发
- ansible - 剧本执行后如何将调试输出逐行重定向到文本文件中
- javascript - 如何将 CodeSandbox proyecto 转换为 React 生产应用程序?
- python - Sequential'对象在保存keras模型时没有属性'output_names'
- java - 在 com.example.u.locationtracker.MainActivity.onCreate(MainActivity.java:39)
- jquery - 将选择器样式作为脉冲动画应用于元素
- php - 如何从 Azuracast API json 输出中获取 PHP 数据?
- django - 我无法在数据库中显示保存的图像
- python - 无论如何用openpyxl的公式刷新所有单元格?
- javascript - 检查数据是否等于 Firebase 上的某个值