我正在尝试部署 AWS Fargate 服务,该服务是在 Spring boot 中编写的,以使用 AWS CDK 使用来自现有 MSK Kafka 集群的消息。 我可以使用方法
ICluster
获取 const kafkaCluster = msk.Cluster.fromClusterArn(...)
参考。但我如何获取应用程序使用的引导服务器 URL。
msk.Cluster 类有一个字段“bootstrapBrokers”,如here所述。但是如何从通过
msk.Cluster.fromClusterArn(...)
获取的集群信息中获取引导代理列表?
不幸的是,在创建 MSK 集群后,无法从 AWS CDK 获取引导服务器。
无需直接使用 CLI 实用程序即可完成此操作的 CDK 方法是创建自定义资源。这是一个例子:
const mskBootstrapBrokers = new cr.AwsCustomResource(
stack,
app.logicalPrefixedName('GetBootstrapBrokers'),
{
onUpdate: {
service: 'Kafka',
action: 'getBootstrapBrokers',
parameters: {
ClusterArn: mskCluster.attrArn
},
physicalResourceId: cr.PhysicalResourceId.of('getMSKBootstrapBrokers')
},
role: mskResourceManagerRole
}
);
const mskIamBootstrapBrokers = mskBootstrapBrokers.getResponseField(
'BootstrapBrokerStringSaslIam'
);