Snabbstart: Publicera meddelanden med Azure Web PubSub Service SDK
Artikel
Azure Web PubSub hjälper dig att hantera WebSocket-klienter. Den här snabbstarten visar hur du publicerar meddelanden till WebSocket-klienter med hjälp av Azure Web PubSub Service SDK.
Om du vill logga in på Azure från CLI kör du följande kommando och följer anvisningarna för att slutföra autentiseringsprocessen. Om du använder Cloud Shell behöver du inte logga in.
az login
Kontrollera att du kör den senaste versionen av CLI via uppgraderingskommandot.
az upgrade
Installera eller uppdatera sedan Azure Web PubSub-tillägget för CLI om det inte har installerats med az upgrade.
az extension add --name webpubsub --upgrade
1. Skapa en resursgrupp
Ange följande miljövariabler.
<Ersätt platshållaren> med ett unikt Web PubSub-namn.
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. Anslut en klient till tjänstinstansen
Skapa en Web PubSub-klient. Klienten upprätthåller en anslutning till tjänsten tills den avslutas.
az webpubsub client Använd kommandot för att starta en WebSocket-klientanslutning till tjänsten. Klienterna ansluter alltid till en hubb, så ange ett hubbnamn som klienten ska ansluta till.
Anslutningen till Web PubSub-tjänsten upprättas när du ser ett JSON-meddelande som anger att klienten nu har anslutits och har tilldelats en unik connectionId:
Du använder Azure Web PubSub SDK för att publicera ett meddelande till alla klienter som är anslutna till hubben.
Du kan välja mellan C#, JavaScript, Python och Java. Beroendena för varje språk installeras i stegen för det språket. Python, JavaScript och Java kräver ett bash-gränssnitt för att köra kommandona i den här snabbstarten.
Konfigurera projektet för att publicera meddelanden
Öppna ett nytt kommandogränssnitt för det här projektet.
Spara anslutningssträngen från klientgränssnittet.
<your_connection_string> Ersätt platshållaren med anslutningssträngen som du visade i ett tidigare steg.
Lägg till ett nytt projekt med namnet publisher och SDK-paketet Azure.Messaging.WebPubSub.
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Program.cs Uppdatera filen så att den WebPubSubServiceClient använder klassen för att skicka meddelanden till klienterna. Ersätt koden i Program.cs filen med följande kod.
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);
}
}
}
Anropet service.SendToAllAsync() skickar helt enkelt ett meddelande till alla anslutna klienter i hubben.
Kör följande kommando för att publicera ett meddelande till tjänsten.
dotnet run $connection_string "myHub1" "Hello World"
Det tidigare kommandogränssnittet som innehåller Web PubSub-klienten visar det mottagna meddelandet.
Gå till katalogen src/main/java/com/webpubsub/quickstart .
Ersätt innehållet i Filen App.java med följande kod:
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);
}
}
Den här koden använder Azure Web PubSub SDK för att publicera ett meddelande till tjänsten. Anropet service.sendToAll() skickar ett meddelande till alla anslutna klienter i en hubb.
Returnera katalogen webpubsub-quickstart-publisher som innehåller pom.xml-filen och kompilera projektet med hjälp av följande mvn kommando.
mvn compile
Skapa paketet.
mvn package
Kör följande mvn kommando för att köra appen för att publicera ett meddelande till tjänsten:
Den här snabbstarten ger dig en grundläggande uppfattning om hur du ansluter till Web PubSub-tjänsten och hur du publicerar meddelanden till anslutna klienter.
I verkliga program kan du använda SDK:er på olika språk för att skapa ett eget program. Vi tillhandahåller även funktionstillägg som du enkelt kan skapa serverlösa program med.
Använd dessa resurser för att börja skapa ett eget program: