Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Web PubSub Service ist ein von Azure verwalteter Dienst, mit dem Entwickler problemlos Webanwendungen mit Echtzeitfeatures und Veröffentlichungsabonnentmuster erstellen können. Jedes Szenario, das Echtzeit-Publish-Subscribe-Messaging zwischen Server und Clients oder zwischen Clients erfordert, kann den Azure Web PubSub-Dienst verwenden. Herkömmliche Echtzeitfeatures, die häufig eine Abfrage vom Server oder das Senden von HTTP-Anforderungen erfordern, können auch den Azure Web PubSub-Dienst verwenden.
Sie können diese Bibliothek auf Der App-Serverseite verwenden, um die WebSocket-Clientverbindungen zu verwalten, wie im folgenden Diagramm dargestellt:
Verwenden Sie diese Bibliothek, um:
- Nachrichten an Hubs und Gruppen senden.
- Nachrichten an bestimmte Benutzer und Verbindungen senden.
- Organisieren Sie Benutzer und Verbindungen in Gruppen.
- Schließen Sie Verbindungen.
- Erteilen, Widerrufen und Überprüfen von Berechtigungen für eine vorhandene Verbindung.
Voraussetzungen
- Python 3.6 oder höher ist erforderlich, um dieses Paket zu verwenden.
- Sie benötigen ein Azure-Abonnement und eine Azure WebPubSub-Dienstinstanz , um dieses Paket zu verwenden.
- Eine vorhandene Azure Web PubSub-Dienstinstanz.
Von Bedeutung
Die Unterstützung von Azure SDK Python-Paketen für Python 2.7 endet am 01. Januar 2022. Weitere Informationen finden Sie unter Unterstützung von Azure SDK-Python-Paketen.
Installiere das Paket
Verwenden Sie diesen Befehl, um das Paket zu installieren:
python -m pip install azure-messaging-webpubsubservice
Erstellen und Authentifizieren eines WebPubSubServiceClient
Sie können WebPubSubServiceClient mit einer Verbindungszeichenfolge authentifizieren:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> service = WebPubSubServiceClient.from_connection_string(connection_string='<connection_string>', hub='hub')
Oder verwenden Sie den Dienstendpunkt und den Zugriffsschlüssel:
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient
>>> from azure.core.credentials import AzureKeyCredential
>>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=AzureKeyCredential("<access_key>"))
Oder verwenden Sie die Microsoft Entra-ID:
pip install
azure-identity.Aktivieren Sie die Microsoft Entra-Autorisierung für Ihre Webpubsub-Ressource.
Aktualisieren Sie den Code, um DefaultAzureCredential zu verwenden.
>>> from azure.messaging.webpubsubservice import WebPubSubServiceClient >>> from azure.identity import DefaultAzureCredential >>> service = WebPubSubServiceClient(endpoint='<endpoint>', hub='hub', credential=DefaultAzureCredential())
Examples
Übertragen von Nachrichten im JSON-Format
>>> 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'
})
Der WebSocket-Client empfängt JSON serialisierten Text: {"from": "user1", "data": "Hello world"}.
Übertragen von Nachrichten im Nur-Text-Format
>>> 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')
Der WebSocket-Client empfängt Text: Hello world.
Übertragen von Nachrichten im Binärformat
>>> 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')
Der WebSocket-Client empfängt binären Text: b'Hello world'.
Protokollierung
Dieses SDK verwendet die Python-Standardprotokollierungsbibliothek.
Sie können die Protokollierung so konfigurieren, dass Debugging-Informationen in den stdout oder an einer beliebigen Stelle ausgegeben werden.
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)
Ebenso kann die detaillierte Protokollierung für einen einzelnen Anruf aktiviert werden, selbst wenn sie nicht für WebPubSubServiceClient aktiviert ist:
result = service.send_to_all(..., logging_enable=True)
HTTP-Anforderungs- und Antwortdetails werden mit dieser Protokollierungskonfiguration auf stdout ausgegeben.
Nächste Schritte
Weitere Beispiele finden Sie in der Clientbibliothek des Azure Web PubSub-Diensts für Python-Beispiele.
Contributing
Dieses Projekt begrüßt Beiträge und Vorschläge. Für die meisten Beiträge ist die Zustimmung zu einer Lizenzvereinbarung für Mitwirkende (Contributor License Agreement, CLA) erforderlich, in der Sie erklären, dass Sie dazu berechtigt sind, uns die Rechte für die Nutzung Ihres Beitrags zu erteilen, und dies auch tun. Weitere Informationen finden Sie im Lizenzvertrag für Mitwirkende.
Wenn Sie einen Pull Request (PR) übermitteln, ermittelt ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen, z. B. mit einer Bezeichnung oder einem Kommentar. Folgen Sie den Anweisungen des Bots. Sie müssen diesen Vorgang nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Dieses Projekt hat den Microsoft Open Source Code of Conduct übernommen. Weitere Informationen finden Sie unter Häufig gestellte Fragen zum Verhaltenskodex oder wenden Sie sich an das Open Source Conduct Team mit Fragen oder Kommentaren.