You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform创建EventBridge管道:自建Kafka源的source字段填什么?

解决EventBridge管道源为非AWS托管Kafka时的source字段填写问题

当你的EventBridge管道源是自托管Kafka集群(比如Confluent管理的自建集群)时,source字段不需要填写ARN,而是固定填写字符串:self-managed-kafka。这是AWS EventBridge Pipes专门用于标识自托管Kafka源的固定值。

修正后的Terraform配置示例

resource "aws_pipes_pipe" "eventbridge_northbound" {
  depends_on = [aws_iam_role_policy.target]
  name       = "my_eventbridge_pipe"
  role_arn   = aws_iam_role.my_eventbridge_role.arn
  source     = "self-managed-kafka"  # 填写固定标识值
  target     = aws_lambda_function.eventbridge_target.arn

  source_parameters {
    self_managed_kafka_parameters {
      # 注意:需通过secret_version获取bootstrap服务器的实际地址值
      additional_bootstrap_servers = [data.aws_secretsmanager_secret_version.confluent_bootstrap_server.secret_string]
      topic_name = var.topicname

      credentials {
        # 同样需通过secret_version获取认证凭证的实际值
        basic_auth = data.aws_secretsmanager_secret_version.confluent_auth_credentials.secret_string
      }
    }
  }
}

# 补充:添加获取机密实际内容的数据源
data "aws_secretsmanager_secret_version" "confluent_bootstrap_server" {
  secret_id = data.aws_secretsmanager_secret.confluent_bootstrap_server.id
}

data "aws_secretsmanager_secret_version" "confluent_auth_credentials" {
  secret_id = data.aws_secretsmanager_secret.confluent_auth_credentials.id
}

关键注意事项

  • additional_bootstrap_servers和basic_auth字段需要的是机密的实际字符串内容,而非aws_secretsmanager_secret数据源(仅返回机密元数据),因此必须配合aws_secretsmanager_secret_version获取真实值。
  • 确保绑定的IAM角色拥有访问Secrets Manager机密的权限,同时EventBridge Pipes需具备与自托管Kafka集群连通的网络权限、以及Kafka主题的读写权限。

内容的提问来源于stack exchange,提问作者JPlanken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 00:26:01