Megosztás a következőn keresztül:


Rövid útmutató: Üzenetek közzététele az Azure Web PubSub szolgáltatás SDK-val

Az Azure Web PubSub segít a WebSocket-ügyfelek kezelésében. Ez a rövid útmutató bemutatja, hogyan tehet közzé üzeneteket a WebSocket-ügyfeleken az Azure Web PubSub service SDK használatával.

Előfeltételek

  • Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
  • Egy Bash- és PowerShell-parancsfelületet. A Python-, JavaScript- és Java-mintákhoz Bash-parancshéjra van szükség.
  • Egy fájlszerkesztő, például a VSCode.
  • Azure CLI: az Azure CLI telepítése

Ha helyi gépen hozza létre a projektet, telepítenie kell a használt nyelv függőségeit:

Telepítse a .NET Core SDK-t és a és a aspnetcore dotnet futtatókörnyezetet is.

.NET Core

1. Beállítás

Ha a parancssori felületről szeretne bejelentkezni az Azure-ba, futtassa a következő parancsot, és kövesse az utasításokat a hitelesítési folyamat befejezéséhez. Ha Cloud Shell használ, nem szükséges bejelentkeznie.

az login

Győződjön meg arról, hogy a cli legújabb verzióját futtatja a frissítési paranccsal.

az upgrade

Ezután telepítse vagy frissítse a parancssori felület Azure Web PubSub bővítményét, ha az nem lett telepítve a következővel az upgrade: .

az extension add --name webpubsub --upgrade

1. Erőforráscsoport létrehozása

Állítsa be a következő környezeti változókat. Cserélje le a <helyőrzőt> egy egyedi Web PubSub névre.

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

Hozzon létre egy erőforráscsoportot a Web PubSub projekthez.

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

2. Web PubSub-szolgáltatáspéldány üzembe helyezése

az webpubsub create A paranccsal hozzon létre és helyezzen üzembe egy Web PubSub szolgáltatáspéldányt.

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

Mentse a szolgáltatás kapcsolati sztring. A szolgáltatás SDK a kapcsolati sztring használja az üzenetek közzétételére.

Fontos

Éles környezetben biztonságosan kell tárolnia a kapcsolati sztringeket az Azure Key Vault használatával.

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

3. Ügyfél csatlakoztatása a szolgáltatáspéldányhoz

Hozzon létre egy Web PubSub-ügyfelet. Az ügyfél addig tart fenn kapcsolatot a szolgáltatással, amíg meg nem szűnik.

A paranccsal indítsa el a az webpubsub client WebSocket ügyfélkapcsolatot a szolgáltatással. Az ügyfelek mindig egy központhoz csatlakoznak, ezért adja meg az ügyfél nevét, amelyhez csatlakozni szeretne.

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

A Web PubSub szolgáltatással való kapcsolat akkor jön létre, amikor megjelenik egy JSON-üzenet, amely jelzi, hogy az ügyfél sikeresen csatlakozott, és egyedihöz connectionIdvan rendelve:

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

4. Üzenetek közzététele a Service SDK használatával

Az Azure Web PubSub SDK-val közzétehet egy üzenetet a központhoz csatlakozó összes ügyfél számára. Választhat a C#, a JavaScript, a Python és a Java közül. Az egyes nyelvek függőségei az adott nyelv lépéseiben települnek. A Python, a JavaScript és a Java használatához bash-rendszerhéjra van szükség az ebben a rövid útmutatóban szereplő parancsok futtatásához.

A projekt beállítása üzenetek közzétételére

  1. Nyisson meg egy új parancshéjat ehhez a projekthez.

  2. Mentse a kapcsolati sztring az ügyfélfelületről. Cserélje le a <your_connection_string> helyőrzőt a korábbi lépésben megjelenített kapcsolati sztring.

    connection_string="<your_connection_string>"
    
  3. Most válassza ki a projekt nyelvét.

  1. Adjon hozzá egy nevű új projektet publisher és az SDK-csomagot Azure.Messaging.WebPubSub.

    mkdir publisher
    cd publisher
    dotnet new console
    dotnet add package Azure.Messaging.WebPubSub
    
  2. Frissítse a fájlt úgy Program.cs , hogy az osztály WebPubSubServiceClient használatával üzeneteket küldjön az ügyfeleknek. Cserélje le a Program.cs fájlban lévő kódot a következő kódra.

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

    A service.SendToAllAsync() hívás egyszerűen üzenetet küld a központ összes csatlakoztatott ügyfélének.

  3. Az alábbi parancs futtatásával közzétehet egy üzenetet a szolgáltatásban.

    dotnet run $connection_string "myHub1" "Hello World"
    
  4. A Web PubSub-ügyfelet tartalmazó előző parancshéj megjeleníti a kapott üzenetet.

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

Felesleges tartalmak törlése

Az ebben a rövid útmutatóban létrehozott erőforrásokat törölheti az őket tartalmazó erőforráscsoport törlésével.

az group delete --name $RESOURCE_GROUP --yes