Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan Azure Web PubSub adalah layanan terkelola Azure yang membantu pengembang dengan mudah membangun aplikasi web dengan fitur real time dan pola terbitkan-berlangganan. Skenario apa pun yang memerlukan pesan terbitkan-berlangganan real time antara server dan klien atau di antara klien dapat menggunakan layanan Azure Web PubSub. Fitur real-time tradisional yang sering memerlukan polling dari server atau mengirimkan permintaan HTTP juga dapat menggunakan layanan Azure Web PubSub.
Anda dapat menggunakan pustaka ini di sisi server aplikasi Anda untuk mengelola koneksi klien WebSocket, seperti yang ditunjukkan dalam diagram berikut:
Gunakan pustaka ini untuk:
- Mengirim pesan ke hub dan grup.
- Mengirim pesan ke pengguna dan koneksi tertentu.
- Atur pengguna dan koneksi ke dalam grup.
- Tutup koneksi.
- Memberikan, mencabut, dan memeriksa izin untuk koneksi yang ada.
Prasyarat
- Python 3.6 atau yang lebih baru diperlukan untuk menggunakan paket ini.
- Anda memerlukan langganan Azure dan instans layanan Azure WebPubSub untuk menggunakan paket ini.
- Instans layanan Azure Web PubSub yang sudah ada.
Penting
Dukungan paket Azure SDK Python untuk Python 2.7 berakhir pada 01 Januari 2022. Untuk informasi selengkapnya, lihat Dukungan paket Azure SDK Python.
Pasang paketnya
Gunakan perintah ini untuk menginstal paket:
python -m pip install azure-messaging-webpubsubservice
Membuat dan mengautentikasi WebPubSubServiceClient
Anda dapat mengautentikasi WebPubSubServiceClient menggunakan string koneksi:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string(connection_string='<connection_string>', hub='hub')
Atau gunakan titik akhir layanan dan kunci akses:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> from azure.core.credentials import AzureKeyCredential
>>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=AzureKeyCredential("<access_key>"))
Atau gunakan ID Microsoft Entra:
pip install
azure-identity.Aktifkan otorisasi Microsoft Entra pada sumber daya Webpubsub Anda.
Perbarui kode untuk menggunakan DefaultAzureCredential.
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient >>> from azure.identity import DefaultAzureCredential >>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=DefaultAzureCredential())
Examples
Menyiarkan pesan dalam format JSON
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string('<connection_string>', hub='hub1')
>>> service.send_to_all(message = {
'from': 'user1',
'data': 'Hello world'
})
Klien WebSocket menerima teks serial JSON: {"from": "user1", "data": "Hello world"}.
Menyiarkan pesan dalam format teks biasa
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string('<connection_string>', hub='hub1')
>>> service.send_to_all(message = 'Hello world', content_type='text/plain')
Klien WebSocket menerima teks: Hello world.
Menyiarkan pesan dalam format biner
>>> import io
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string('<connection_string>', hub='hub')
>>> service.send_to_all(message=io.StringIO('Hello World'), content_type='application/octet-stream')
Klien WebSocket menerima teks biner: b'Hello world'.
Penebangan kayu
SDK ini menggunakan pustaka pengelogan standar Python.
Anda dapat mengonfigurasi logging untuk mencetak informasi debugging ke stdout atau di mana pun Anda inginkan.
import sys
import logging
from azure.identity import DefaultAzureCredential
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
# Create a logger for the 'azure' SDK
logger = logging.getLogger('azure')
logger.setLevel(logging.DEBUG)
# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
endpoint = "<endpoint>"
credential = DefaultAzureCredential()
# This WebPubSubServiceClient will log detailed information about its HTTP sessions, at DEBUG level
service = WebPubSubServiceClient(endpoint=endpoint, hub='hub', credential=credential, logging_enable=True)
Demikian pula, logging_enable dapat mengaktifkan pengelogan terperinci untuk satu panggilan, bahkan ketika tidak diaktifkan untuk WebPubSubServiceClient:
result = service.send_to_all(..., logging_enable=True)
Detail permintaan dan respons HTTP ditampilkan dalam stdout dengan konfigurasi pencatatan log ini.
Langkah selanjutnya
- Kode sumber
- Paket (Pypi)
- Dokumentasi referensi API
- dokumentasi produk
Untuk sampel selengkapnya, lihat Pustaka klien layanan Azure Web PubSub untuk Sampel Python.
Contributing
Proyek ini menyambut kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk informasi selengkapnya, lihat Perjanjian Lisensi Kontributor.
Saat Anda mengirimkan permintaan pull, cla-bot secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat, misalnya, "label", "komentar". Ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan tindakan ini satu kali pada semua repositori yang menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat FAQ Kode Etik atau hubungi Tim Kode Etik Sumber Terbuka dengan pertanyaan atau komentar.