Topik ini menjelaskan cara menggunakan SDK untuk Python untuk terhubung ke ApsaraMQ for Kafka guna mengirim dan menerima pesan di Server Linux.
Sebelum memulai
- Catatan
Python 2.7 dan 3.x didukung. Dalam topik ini, Python 3.9 digunakan.
Instal pustaka dependensi Python
Jalankan perintah berikut untuk menginstal pustaka dependensi Python:
pip install confluent-kafka==1.9.2Kami merekomendasikan Anda menginstal confluent-kafka 1.9.2 atau versi lebih lama. Jika tidak, kesalahan SSL_HANDSHAKE akan dikembalikan saat Anda mengirim pesan melalui Internet.
Siapkan file konfigurasi
Unduh proyek demo, modifikasi konfigurasi sesuai titik akhir yang Anda gunakan, lalu unggah proyek demo ke server Linux.
Buka halaman aliware-kafka-demos. Klik ikon
dan pilih Download ZIP untuk mengunduh proyek demo. Kemudian, ekstrak paket proyek demo tersebut.CatatanPaket proyek demo yang diunduh mencakup sertifikat root SSL. Jika Anda ingin menggunakan sertifikat root SSL secara terpisah, klik Unduh sertifikat root SSL.
Dalam proyek demo yang telah diekstrak, temukan folder kafka-confluent-python-demo dan modifikasi file konfigurasi setting.py berdasarkan titik akhir yang Anda gunakan.
Titik akhir default
Di direktori vpc, modifikasi file konfigurasi setting.py.
kafka_setting = { 'bootstrap_servers': 'XXX:xxx,XXX:xxx', 'topic_name': 'XXX', 'group_name': 'XXX' }Parameter
Deskripsi
bootstrap_servers
Titik akhir default dari instance ApsaraMQ for Kafka. Anda dapat memperoleh titik akhir di bagian Endpoint Information pada halaman Instance Details di Konsol ApsaraMQ for Kafka.
topic_name
Nama topik. Anda dapat memperoleh nama topik di halaman Topics di Konsol ApsaraMQ for Kafka.
group_name
Nama grup. Anda dapat memperoleh nama grup di halaman Groups di Konsol ApsaraMQ for Kafka.
Titik akhir SSL
Di direktori vpc-ssl, modifikasi file konfigurasi setting.py.
kafka_setting = { 'sasl_plain_username': 'XXX', 'sasl_plain_password': 'XXX', 'ca_location': '/XXX/mix-4096-ca-cert', 'bootstrap_servers': 'XXX:xxx,XXX:xxx', 'topic_name': 'XXX', 'group_name': 'XXX' }Parameter
Deskripsi
sasl_plain_username
Nama pengguna Simple Authentication and Security Layer (SASL).
CatatanJika fitur ACL tidak diaktifkan untuk instance ApsaraMQ for Kafka, Anda dapat memperoleh nama pengguna dan kata sandi pengguna SASL dari parameter Username dan Password di bagian Configuration Information pada halaman Instance Details di Konsol ApsaraMQ for Kafka.
Jika fitur ACL diaktifkan untuk instance ApsaraMQ for Kafka, pastikan bahwa pengguna SASL memiliki izin untuk mengirim dan menerima pesan menggunakan instance tersebut. Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna SASL.
sasl_plain_password
Kata sandi pengguna SASL.
ca_location
Lokasi penyimpanan sertifikat root SSL. Ganti XXX dalam kode contoh dengan jalur lokal. Contoh: /home/kafka-confluent-python-demo/vpc-ssl/mix-4096-ca-cert.
bootstrap_servers
Titik akhir SSL dari instance ApsaraMQ for Kafka. Anda dapat memperoleh titik akhir di bagian Endpoint Information pada halaman Instance Details di Konsol ApsaraMQ for Kafka.
topic_name
Nama topik. Anda dapat memperoleh nama topik di halaman Topics di Konsol ApsaraMQ for Kafka.
group_name
Nama grup. Anda dapat memperoleh nama grup di halaman Groups di Konsol ApsaraMQ for Kafka.
Unggah folder kafka-confluent-python-demo ke direktori /home di server Linux.
Kirim pesan
Kirim pesan berdasarkan titik akhir yang Anda gunakan.
Titik akhir default
Jalankan perintah berikut untuk mengakses subdirektori /home/kafka-confluent-python-demo/vpc:
cd /home/kafka-confluent-python-demo/vpcJalankan perintah berikut untuk mengirim pesan:
python kafka_producer.py
Kode contoh berikut memberikan contoh kafka_producer.py:
Titik akhir SSL
Jalankan perintah berikut untuk mengakses subdirektori /home/kafka-confluent-python-demo/vpc-ssl:
cd /home/kafka-confluent-python-demo/vpc-sslJalankan perintah berikut untuk mengirim pesan:
python kafka_producer.py
Kode contoh berikut memberikan contoh kafka_producer.py:
Berlangganan pesan
Berlangganan pesan berdasarkan titik akhir yang Anda gunakan.
Titik akhir default
Jalankan perintah berikut untuk mengakses subdirektori /home/kafka-confluent-python-demo/vpc:
cd /home/kafka-confluent-python-demo/vpcJalankan perintah berikut untuk berlangganan pesan:
python kafka_consumer.py
Kode contoh berikut memberikan contoh kafka_consumer.py:
Titik akhir SSL
Jalankan perintah berikut untuk mengakses subdirektori /home/kafka-confluent-python-demo/vpc-ssl:
cd /home/kafka-confluent-python-demo/vpc-sslJalankan perintah berikut untuk berlangganan pesan:
python kafka_consumer.py
Kode contoh berikut memberikan contoh kafka_consumer.py: