I am using kafka-python package to publish messages to kafka confluent cloud cluster.
My code looks like below:
from kafka import KafkaProducer
producer=KafkaProducer(
bootstrap_servers='pkc-epgnk.us-central1.gcp.confluent.cloud:9092',
security_protocol='SASL_SSL',
sasl_mechanism='PLAIN',
ssl_certfile='/usr/local/etc/openssl/cert.pem',
sasl_plain_username='[api_key]',
sasl_plain_password='[api_secret]')
producer.prodcue(topic='file-ingestion',key=b'',value=b'test')
Running above code I get below error:
kafka.errors.NoBrokersAvailable: NoBrokersAvailable
The confluent kafka manual suggested me to set below values for a C/C++ producer; however, I can not set all values by the kafka-python producer
bootstrap.servers=pkc-epgnk.us-central1.gcp.confluent.cloud:9092
api.version.request=true
broker.version.fallback=0.10.0.0
api.version.fallback.ms=0
sasl.mechanisms=PLAIN
security.protocol=SASL_SSL
ssl.ca.location=/usr/local/etc/openssl/cert.pem
sasl.username=<CLUSTER_API_KEY>
sasl.password=<CLUSTER_API_SECRET>