Delen via


Quickstart: Berichten publiceren met de Azure Web PubSub-service-SDK

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 de Azure Web PubSub-service-SDK.

Vereisten

  • Als u nog geen Azure-abonnement hebt, kunt u een gratis account maken.
  • een Bash- en PowerShell-opdrachtshell. Voor de Python-, JavaScript- en Java-voorbeelden is een Bash-opdrachtshell vereist.
  • Een bestandseditor zoals VSCode.
  • Azure CLI: de Azure CLI installeren

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 dotnet-runtime en .

.NET Core

1. Instellen

Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces 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 werk vervolgens de Azure Web PubSub-extensie voor de CLI bij 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 project Web PubSub.

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

2. Een Web PubSub-service-exemplaar implementeren

Gebruik de az webpubsub create opdracht om een Exemplaar van de Web PubSub-service te maken en te implementeren.

az webpubsub create \
  --name $WEB_PUBSUB_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --sku Free_F1

Sla de connection string van de service op. De connection string 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. Een client verbinden met het service-exemplaar

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 is verbonden en dat er een uniek connectionIdis toegewezen:

{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}

4. Berichten publiceren met service-SDK

U gebruikt de Azure Web PubSub SDK om een bericht te publiceren naar alle clients die zijn verbonden met de hub. U kunt kiezen tussen C#, JavaScript, Python en Java. De afhankelijkheden voor elke taal worden geïnstalleerd in de stappen voor die taal. Python, JavaScript en Java hebben een bash-shell nodig om de opdrachten in deze quickstart uit te voeren.

Het project instellen voor het publiceren van berichten

  1. Open een nieuwe opdrachtshell voor dit project.

  2. Sla de connection string op vanuit de clientshell. Vervang de <your_connection_string> tijdelijke aanduiding door de connection string die u in een eerdere stap hebt weergegeven.

    connection_string="<your_connection_string>"
    
  3. Selecteer nu de taal voor uw project.

  1. Voeg een nieuw project met de naam publisher en het SDK-pakket Azure.Messaging.WebPubSubtoe.

    mkdir publisher
    cd publisher
    dotnet new console
    dotnet add package Azure.Messaging.WebPubSub
    
  2. Werk het Program.cs bestand bij om de WebPubSubServiceClient klasse te gebruiken om berichten naar de clients te verzenden. Vervang de code in het Program.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() aanroep verzendt gewoon een bericht naar alle verbonden clients in de hub.

  3. Voer de volgende opdracht uit om een bericht naar de service te publiceren.

    dotnet run $connection_string "myHub1" "Hello World"
    
  4. In de vorige opdrachtshell met de Web PubSub-client wordt het ontvangen bericht weergegeven.

    {"type":"message","from":"server","dataType":"text","data":"Hello World"}
    

Opschonen

U kunt de resources die u in deze quickstart hebt gemaakt, verwijderen door de resourcegroep te verwijderen die ze bevat.

az group delete --name $RESOURCE_GROUP --yes