Delen via


Snelstart: Berichten publiceren met behulp van 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 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.

.NET Kern

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

  1. Open een nieuwe command shell voor dit project.

  2. 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>"
    
  3. Selecteer nu de taal voor uw project.

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

    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() oproep 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 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