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 unterstützt Sie bei der Verwaltung von WebSocket-Clients. In dieser Schnellstartanleitung erfahren Sie, wie Sie Nachrichten mithilfe des Azure Web PubSub Service SDK in WebSocket-Clients veröffentlichen.
Voraussetzungen
- Wenn Sie noch nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto.
- eine Bash- und PowerShell-Befehlsshell. Für die Python-, JavaScript- und Java-Beispiele ist eine Bash-Befehlsshell erforderlich.
- Ein Datei-Editor, z. B. VS Code.
- Azure CLI: Installieren der Azure CLI
Wenn Sie das Projekt auf einem lokalen Computer erstellen, müssen Sie die Abhängigkeiten für die von Ihnen verwendete Sprache installieren:
Installieren Sie sowohl das .NET Core SDK als auch die aspnetcore dotnet-Runtime.
1. Einrichten
Um sich ausgehend von der CLI bei Azure anzumelden, führen Sie den folgenden Befehl aus und befolgen Sie die Anweisungen, um den Authentifizierungsprozess abzuschließen. Wenn Sie Cloud Shell verwenden, ist es nicht erforderlich, sich anzumelden.
az login
Stellen Sie sicher, dass Sie die neueste Version der CLI über den Upgradebefehl ausführen.
az upgrade
Installieren oder aktualisieren Sie als Nächstes die Azure Web PubSub-Erweiterung für die CLI, wenn sie nicht mit az upgradeinstalliert wurde.
az extension add --name webpubsub --upgrade
1. Erstellen einer Ressourcengruppe
Legen Sie die folgenden Umgebungsvariablen fest. Ersetzen Sie den <Platzhalter> durch einen eindeutigen Web PubSub-Namen.
RESOURCE_GROUP="webpubsub-resource-group"
LOCATION="EastUS"
WEB_PUBSUB_NAME="<your-unique-name>"
Erstellen Sie eine Ressourcengruppe für das Web PubSub-Projekt.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
2. Bereitstellen einer Web-PubSub-Dienstinstanz
Verwenden Sie den az webpubsub create Befehl, um eine Web-PubSub-Dienstinstanz zu erstellen und bereitzustellen.
az webpubsub create \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--sku Free_F1
Speichern Sie die Verbindungszeichenfolge des Diensts. Die Verbindungszeichenfolge wird vom Dienst-SDK zum Veröffentlichen von Nachrichten verwendet.
Von Bedeutung
In einer Produktionsumgebung sollten Sie Verbindungszeichenfolgen mithilfe von Azure Key Vault sicher speichern.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
3. Verbinden eines Clients mit der Dienstinstanz
Erstellen Sie einen Web PubSub-Client. Der Client behält eine Verbindung mit dem Dienst bei, bis er beendet wird.
Verwenden Sie den az webpubsub client Befehl, um eine WebSocket-Clientverbindung mit dem Dienst zu starten. Die Clients stellen immer eine Verbindung mit einem Hub her, geben Sie also einen Hubnamen an, mit dem der Client eine Verbindung herstellen soll.
az webpubsub client start \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--hub-name "myHub1" \
--user-id "user1"
Die Verbindung mit dem Web-PubSub-Dienst wird hergestellt, wenn eine JSON-Meldung angezeigt wird, die angibt, dass der Client jetzt erfolgreich verbunden ist und eine eindeutige connectionIdOption zugewiesen wird:
{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}
4. Veröffentlichen von Nachrichten mit dem Dienst-SDK
Sie verwenden das Azure Web PubSub SDK, um eine Nachricht an alle Clients zu veröffentlichen, die mit dem Hub verbunden sind. Sie können zwischen C#, JavaScript, Python und Java wählen. Die Abhängigkeiten für jede Sprache werden in den Schritten für diese Sprache installiert. Für Python, JavaScript und Java ist eine Bash-Shell erforderlich, um die Befehle in dieser Schnellstartanleitung auszuführen.
Einrichten des Projekts zum Veröffentlichen von Nachrichten
Öffnen Sie eine neue Befehlsshell für dieses Projekt.
Speichern Sie die Verbindungszeichenfolge in der Clientshell. Ersetzen Sie den
<your_connection_string>Platzhalter durch die Verbindungszeichenfolge, die Sie in einem früheren Schritt angezeigt haben.connection_string="<your_connection_string>"Wählen Sie nun die Sprache für Ihr Projekt aus.
Fügen Sie ein neues Projekt mit dem Namen
publisherund das SDK-PaketAzure.Messaging.WebPubSubhinzu.mkdir publisher cd publisher dotnet new console dotnet add package Azure.Messaging.WebPubSubAktualisieren Sie die
Program.csDatei so, dass dieWebPubSubServiceClientKlasse zum Senden von Nachrichten an die Clients verwendet wird. Ersetzen Sie den Code in derProgram.csDatei durch den folgenden Code.using System; using System.Threading.Tasks; using Azure.Messaging.WebPubSub; namespace publisher { class Program { static async Task Main(string[] args) { if (args.Length != 3) { Console.WriteLine("Usage: publisher <connectionString> <hub> <message>"); return; } var connectionString = args[0]; var hub = args[1]; var message = args[2]; var service = new WebPubSubServiceClient(connectionString, hub); // Send messages to all the connected clients // You can also try SendToConnectionAsync to send messages to the specific connection await service.SendToAllAsync(message); } } }Der Aufruf
service.SendToAllAsync()sendet einfach eine Nachricht an alle verbundenen Clients im Hub.Führen Sie den folgenden Befehl aus, um eine Nachricht im Dienst zu veröffentlichen.
dotnet run $connection_string "myHub1" "Hello World"In der vorherigen Befehlsshell, die den Web PubSub-Client enthält, wird die empfangene Nachricht angezeigt.
{"type":"message","from":"server","dataType":"text","data":"Hello World"}
Säuberungsaktion
Sie können die Ressourcen löschen, die Sie in dieser Schnellstartanleitung erstellt haben, indem Sie die Ressourcengruppe löschen, die sie enthält.
az group delete --name $RESOURCE_GROUP --yes