在AWS MSK中,Kafka Brokers的IP地址将被添加到AWS公共DNS中。这是为了当客户端与Kafka集群通信时,它们可以使用与AWS公共DNS关联的名称来连接到代理。这为客户端提供了更好的可读性和易记性。
以下示例代码演示如何在使用AWS CLI的情况下从AWS公共DNS获取Kafka Brokers的地址:
aws kafka describe-cluster --cluster-arn --region
其中,
和
应替换为您的Kafka集群ARN和AWS区域。此命令将返回包含Kafka Brokers地址的JSON格式响应。
您还可以使用Amazon MSK API来从AWS公共DNS获取Kafka Brokers的地址。以下示例代码演示如何使用Python SDK从AWS公共DNS获取Kafka Brokers地址:
import boto3
client = boto3.client('kafka', region_name='')
response = client.describe_cluster(
ClusterArn=''
)
print(response['ClusterInfo']['ZookeeperConnectString'])
print(response['ClusterInfo']['BrokerNodeGroupInfo']['BrokerNodes'][0]['AttachedENIId'])
其中,
和
应替换为您的AWS区域和Kafka集群ARN。此代码将输出Kafka Brokers的IP地址和所附加的ENI ID。