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 helpt u bij het beheren van WebSocket-clients. In deze quickstart ziet u hoe u berichten publiceert naar WebSocket-clients met behulp van Azure Web PubSub Service SDK.
Vereiste voorwaarden
- Een Azure-abonnement, als u er geen hebt, maakt u een gratis account.
- een Bash- en PowerShell-opdrachtshell. Voor de Python-, JavaScript- en Java-voorbeelden is een Bash-opdrachtshell vereist.
- Een bestandseditor zoals VS Code.
- Azure CLI: installeer de Azure CLI
Als u het project op een lokale computer maakt, moet u de afhankelijkheden installeren voor de taal die u gebruikt:
Installeer zowel de .NET Core SDK als de aspnetcore
en dotnet runtime.
1. Installatie
Om u aan te melden bij Azure vanaf de CLI, voert u het volgende commando uit en volgt u de aanwijzingen om het authenticatieproces te voltooien. Als u Cloud Shell gebruikt, hoeft u zich niet aan te melden.
az login
Zorg ervoor dat u de nieuwste versie van de CLI uitvoert via de upgradeopdracht.
az upgrade
Installeer of update vervolgens de Azure Web PubSub-extensie voor de CLI als deze niet is geïnstalleerd met az upgrade
.
az extension add --name webpubsub --upgrade
1. Een resourcegroep maken
Stel de volgende omgevingsvariabelen in. Vervang de <tijdelijke aanduiding> door een unieke Web PubSub-naam.
RESOURCE_GROUP="webpubsub-resource-group"
LOCATION="EastUS"
WEB_PUBSUB_NAME="<your-unique-name>"
Maak een resourcegroep voor het Web PubSub-project.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
2. Implementeer een Web PubSub-service-instantie
Gebruik de az webpubsub create
opdracht om een Web PubSub-service-exemplaar te maken en te implementeren.
az webpubsub create \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--sku Free_F1
Sla de verbindingsreeks van de service op. De verbindingsreeks wordt door de service-SDK gebruikt om berichten te publiceren.
Belangrijk
In een productieomgeving moet u verbindingsreeksen veilig opslaan met behulp van Azure Key Vault.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
3. Verbind een client met de service-instantie
Maak een Web PubSub-client. De client onderhoudt een verbinding met de service totdat deze wordt beëindigd.
Gebruik de az webpubsub client
opdracht om een WebSocket-clientverbinding met de service te starten. De clients maken altijd verbinding met een hub, dus geef een hubnaam op waarmee de client verbinding kan maken.
az webpubsub client start \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--hub-name "myHub1" \
--user-id "user1"
De verbinding met de Web PubSub-service wordt tot stand gebracht wanneer u een JSON-bericht ziet dat aangeeft dat de client nu met succes is verbonden en dat er een uniek connectionId
:
{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}
4. Berichten publiceren met behulp van de service-SDK
U gebruikt de Azure Web PubSub SDK om een bericht te publiceren naar alle clients die zijn verbonden met de hub. Je kunt kiezen uit C#, JavaScript, Python en Java. De afhankelijkheden voor elke taal worden geïnstalleerd in de stappen voor die taal. Python, JavaScript en Java vereisen een bash-shell om de opdrachten in deze quickstart uit te voeren.
Het project instellen om berichten te publiceren
Open een nieuwe command shell voor dit project.
Sla de verbindingsreeks op vanuit de clientshell. Vervang de
<your_connection_string>
tijdelijke aanduiding door de verbindingsreeks die u in een eerdere stap hebt weergegeven.connection_string="<your_connection_string>"
Selecteer nu de taal voor uw project.
Voeg een nieuw project toe met de naam
publisher
en het SDK-pakketAzure.Messaging.WebPubSub
.mkdir publisher cd publisher dotnet new console dotnet add package Azure.Messaging.WebPubSub
Werk het
Program.cs
bestand bij om deWebPubSubServiceClient
klasse te gebruiken om berichten naar de clients te verzenden. Vervang de code in hetProgram.cs
bestand door de volgende 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); } } }
De
service.SendToAllAsync()
oproep verzendt gewoon een bericht naar alle verbonden clients in de hub.Voer de volgende opdracht uit om een bericht naar de service te publiceren.
dotnet run $connection_string "myHub1" "Hello World"
In de vorige command shell met de Web PubSub-client wordt het ontvangen bericht weergegeven.
{"type":"message","from":"server","dataType":"text","data":"Hello World"}
Opruimen
U kunt de resources die u in deze quickstart hebt gemaakt verwijderen door de resourcegroep met deze resources te verwijderen.
az group delete --name $RESOURCE_GROUP --yes