Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Web PubSub Service is een door Azure beheerde service waarmee ontwikkelaars eenvoudig webtoepassingen kunnen bouwen met realtime functies en een patroon voor publiceren/abonneren. Elk scenario waarvoor realtime publiceren/abonneren berichten tussen server en clients of tussen clients zijn vereist, kan de Azure Web PubSub-service gebruiken. Traditionele realtime-functies die vaak polling vereisen van de server of het verzenden van HTTP-aanvragen, kunnen ook gebruikmaken van de Azure Web PubSub-service.
U kunt deze bibliotheek aan de serverzijde van uw app gebruiken om de WebSocket-clientverbindingen te beheren, zoals wordt weergegeven in het volgende diagram:
Gebruik deze bibliotheek om:
- Berichten verzenden naar hubs en groepen.
- Berichten verzenden naar bepaalde gebruikers en verbindingen.
- Organiseer gebruikers en verbindingen in groepen.
- Sluit verbindingen.
- Machtigingen voor een bestaande verbinding verlenen, intrekken en controleren.
Vereiste voorwaarden
- Python 3.6 of hoger is vereist voor het gebruik van dit pakket.
- U hebt een Azure-abonnement en een Azure WebPubSub-service-exemplaar nodig om dit pakket te kunnen gebruiken.
- Een bestaand exemplaar van de Azure Web PubSub-service.
Belangrijk
Ondersteuning voor Azure SDK Python-pakketten voor Python 2.7 eindigt op 01 januari 2022. Zie ondersteuning voor Azure SDK Python-pakketten voor meer informatie.
Installeer het pakket
Gebruik deze opdracht om het pakket te installeren:
python -m pip install azure-messaging-webpubsubservice
Een WebPubSubServiceClient maken en verifiëren
U kunt de WebPubSubServiceClient verificatie uitvoeren met behulp van een verbindingsreeks:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string(connection_string='<connection_string>', hub='hub')
Of gebruik het service-eindpunt en de toegangssleutel:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> from azure.core.credentials import AzureKeyCredential
>>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=AzureKeyCredential("<access_key>"))
Of gebruik Microsoft Entra-id:
pip install
azure-identity.Schakel Microsoft Entra-autorisatie in voor uw Webpubsub-resource.
Werk code bij om DefaultAzureCredential te gebruiken.
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient >>> from azure.identity import DefaultAzureCredential >>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=DefaultAzureCredential())
Voorbeelden
Berichten uitzenden in JSON-indeling
>>> 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'
})
De WebSocket-client ontvangt geserialiseerde JSON-tekst: {"from": "user1", "data": "Hello world"}.
Berichten uitzenden in tekst zonder opmaak
>>> 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')
De WebSocket-client ontvangt tekst: Hello world.
Berichten uitzenden in binaire formaat
>>> 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')
De WebSocket-client ontvangt binaire tekst: b'Hello world'.
Loggen
Deze SDK maakt gebruik van de standaardbibliotheek voor logboekregistratie van Python.
U kunt logboekregistratie configureren om foutopsporing af te drukken naar stdout of naar een gewenste locatie.
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)
Op dezelfde manier kunt u logging_enable gedetailleerde logboekregistratie inschakelen voor één aanroep, zelfs als dit niet is ingeschakeld voor WebPubSubServiceClient.
result = service.send_to_all(..., logging_enable=True)
HTTP-aanvraag- en antwoordgegevens worden afgedrukt stdout met deze logconfiguratie.
Volgende stappen
Zie de Clientbibliotheek van de Azure Web PubSub-service voor Python-voorbeelden voor meer voorbeelden.
Contributing
Dit project verwelkomt bijdragen en suggesties. Voor de meeste bijdragen moet u akkoord gaan met een Licentieovereenkomst voor inzenders (CLA) waarin wordt aangegeven dat u het recht hebt om, en daadwerkelijk, ons de rechten te verlenen om uw bijdrage te gebruiken. Zie Licentieovereenkomst voor inzenders voor meer informatie.
Wanneer je een pull request indient, stelt een CLA-bot automatisch vast of je een CLA moet opgeven en voorziet de pull request correct van bijvoorbeeld 'label', 'opmerking'. Volg de instructies van de bot. U hoeft deze actie slechts één keer uit te voeren voor alle repositories die onze CLA gebruiken.
Dit project heeft de Microsoft Open Source-gedragscode aangenomen. Zie Veelgestelde vragen over gedragscodes voor meer informatie of neem contact op met het Open Source Conduct-team met vragen of opmerkingen.