Rychlý start: Publikování zpráv pomocí sady SDK služby Azure Web PubSub

Azure Web PubSub pomáhá spravovat klienty WebSocket. V tomto rychlém startu se dozvíte, jak publikovat zprávy do klientů WebSocket pomocí sady SDK služby Azure Web PubSub.

Požadavky

  • Pokud předplatné Azure nemáte, vytvořte si bezplatný účet.
  • prostředí příkazů Bash a PowerShellu. Ukázky Pythonu, JavaScriptu a Javy vyžadují příkazové prostředí Bash.
  • Editor souborů, jako je VSCode.
  • Azure CLI: Instalace Azure CLI

Pokud vytváříte projekt na místním počítači, budete muset nainstalovat závislosti pro jazyk, který používáte:

Nainstalujte sadu .NET Core SDK i aspnetcore modul runtime a dotnet.

.NET Core

1. Nastavení

Pokud se chcete k Azure přihlásit z rozhraní příkazového řádku, spusťte následující příkaz a postupujte podle pokynů k dokončení procesu ověřování. Pokud používáte Cloud Shell, není nutné se přihlašovat.

az login

Ujistěte se, že používáte nejnovější verzi rozhraní příkazového řádku prostřednictvím příkazu pro upgrade.

az upgrade

Dále nainstalujte nebo aktualizujte rozšíření Azure Web PubSub pro rozhraní příkazového řádku, pokud nebylo nainstalované s az upgrade.

az extension add --name webpubsub --upgrade

1. Vytvoření skupiny prostředků

Nastavte následující proměnné prostředí. <Zástupný symbol> nahraďte jedinečným názvem Web PubSub.

RESOURCE_GROUP="webpubsub-resource-group"
LOCATION="EastUS"
WEB_PUBSUB_NAME="<your-unique-name>"

Vytvořte skupinu prostředků pro projekt Web PubSub.

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

2. Nasazení instance služby Web PubSub

Pomocí příkazu az webpubsub create vytvořte a nasaďte instanci služby Web PubSub.

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

Uložte připojovací řetězec služby. Připojovací řetězec používá sada SDK služby k publikování zpráv.

Důležité

V produkčním prostředí byste měli bezpečně ukládat připojovací řetězce pomocí Azure Key Vault.

az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString

3. Připojení klienta k instanci služby

Vytvořte klienta Web PubSub. Klient udržuje připojení ke službě, dokud se neukončí.

Pomocí příkazu az webpubsub client spusťte připojení klienta WebSocket ke službě. Klienti se vždy připojují k centru, proto zadejte název centra, ke kterému se má klient připojit.

az webpubsub client start \
  --name $WEB_PUBSUB_NAME \
  --resource-group $RESOURCE_GROUP \
  --hub-name "myHub1" \
  --user-id "user1"

Připojení ke službě Web PubSub se naváže, když se zobrazí zpráva JSON s oznámením, že klient je nyní úspěšně připojen a je mu přiřazena jedinečná connectionIdhodnota :

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

4. Publikování zpráv pomocí sady SDK služby

Pomocí sady Azure Web PubSub SDK publikujete zprávu všem klientům připojeným k centru. Můžete si vybrat mezi C#, JavaScriptem, Pythonem a Javou. Závislosti pro každý jazyk se nainstalují v krocích pro daný jazyk. Python, JavaScript a Java vyžadují ke spuštění příkazů v tomto rychlém startu prostředí Bash.

Nastavení projektu pro publikování zpráv

  1. Otevřete nové příkazové prostředí pro tento projekt.

  2. Uložte připojovací řetězec z klientského prostředí. <your_connection_string> Nahraďte zástupný symbol připojovacím řetězcem, který jste zobrazili v předchozím kroku.

    connection_string="<your_connection_string>"
    
  3. Teď vyberte jazyk projektu.

  1. Přidejte nový projekt s názvem publisher a balíček Azure.Messaging.WebPubSubsady SDK .

    mkdir publisher
    cd publisher
    dotnet new console
    dotnet add package Azure.Messaging.WebPubSub
    
  2. Program.cs Aktualizujte soubor tak, aby používal WebPubSubServiceClient třídu k odesílání zpráv klientům. Nahraďte kód v Program.cs souboru následujícím kódem.

    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);
            }
        }
    }
    

    Volání service.SendToAllAsync() jednoduše odešle zprávu všem připojeným klientům v centru.

  3. Spuštěním následujícího příkazu publikujte zprávu do služby.

    dotnet run $connection_string "myHub1" "Hello World"
    
  4. Předchozí příkazové prostředí obsahující klienta Web PubSub zobrazí přijatou zprávu.

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

Vyčištění

Prostředky, které jste vytvořili v tomto rychlém startu, můžete odstranit odstraněním skupiny prostředků, která je obsahuje.

az group delete --name $RESOURCE_GROUP --yes