Rövid útmutató: Üzenetek közzététele az Azure Web PubSub szolgáltatás SDK-val
Cikk
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.
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.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
az webpubsub key show --name $WebPubSubName --resource-group $ResourceGroupName --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.
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:
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
Nyisson meg egy új parancshéjat ehhez a projekthez.
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.
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
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.
Az alábbi parancs futtatásával közzétehet egy üzenetet a szolgáltatásban.
dotnet run $connection_string "myHub1" "Hello World"
A Web PubSub-ügyfelet tartalmazó előző parancshéj megjeleníti a kapott üzenetet.
A Maven használatával hozzon létre egy nevű új konzolalkalmazást webpubsub-quickstart-publisher , és lépjen a webpubsub-quickstart-publisher könyvtárba:
Nyissa meg az src/main/java/com/webpubsub/quickstart könyvtárat.
Cserélje le az App.java fájl tartalmát a következő kódra:
package com.webpubsub.quickstart;
import com.azure.messaging.webpubsub.*;
import com.azure.messaging.webpubsub.models.*;
/**
* Publish messages using Azure Web PubSub service SDK
*
*/
public class App
{
public static void main( String[] args )
{
if (args.length != 3) {
System.out.println("Expecting 3 arguments: <connection-string> <hub-name> <message>");
return;
}
WebPubSubServiceClient service = new WebPubSubServiceClientBuilder()
.connectionString(args[0])
.hub(args[1])
.buildClient();
service.sendToAll(args[2], WebPubSubContentType.TEXT_PLAIN);
}
}
Ez a kód az Azure Web PubSub SDK használatával tesz közzé egy üzenetet a szolgáltatásban. A service.sendToAll() hívás üzenetet küld a központ összes csatlakoztatott ügyfelének.
Adja vissza a pom.xml fájlt tartalmazó webpubsub-quickstart-publisher könyvtárat, és fordítsa le a projektet az alábbi mvn paranccsal.
mvn compile
Hozza létre a csomagot.
mvn package
Futtassa a következő mvn parancsot az alkalmazás végrehajtásához, hogy közzétegye az üzenetet a szolgáltatásban:
Ez a rövid útmutató alapvető képet nyújt arról, hogyan csatlakozhat a Web PubSub szolgáltatáshoz, és hogyan tehet közzé üzeneteket a csatlakoztatott ügyfeleken.
A valós alkalmazásokban az SDK-kat különböző nyelveken használhatja, és létrehozhatja saját alkalmazását. Emellett függvénybővítményeket is biztosítunk a kiszolgáló nélküli alkalmazások egyszerű létrehozásához.
Ezekkel az erőforrásokkal megkezdheti saját alkalmazásának összeállítását: