Quickstart: Berichten publiceren met de Azure Web PubSub-service-SDK
Artikel
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 de Azure Web PubSub-service-SDK.
Vereisten
Als u nog geen Azure-abonnement hebt, kunt u een gratis account maken.
een Bash- en PowerShell-opdrachtshell. Voor de Python-, JavaScript- en Java-voorbeelden is een Bash-opdrachtshell vereist.
Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces 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 werk vervolgens de Azure Web PubSub-extensie voor de CLI bij 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.
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. Een client verbinden met het service-exemplaar
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.
De verbinding met de Web PubSub-service wordt tot stand gebracht wanneer u een JSON-bericht ziet dat aangeeft dat de client nu is verbonden en dat er een uniek connectionIdis toegewezen:
U gebruikt de Azure Web PubSub SDK om een bericht te publiceren naar alle clients die zijn verbonden met de hub.
U kunt kiezen tussen C#, JavaScript, Python en Java. De afhankelijkheden voor elke taal worden geïnstalleerd in de stappen voor die taal. Python, JavaScript en Java hebben een bash-shell nodig om de opdrachten in deze quickstart uit te voeren.
Het project instellen voor het publiceren van berichten
Open een nieuwe opdrachtshell voor dit project.
Sla de connection string op vanuit de clientshell. Vervang de <your_connection_string> tijdelijke aanduiding door de connection string die u in een eerdere stap hebt weergegeven.
Voeg een nieuw project met de naam publisher en het SDK-pakket Azure.Messaging.WebPubSubtoe.
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
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() aanroep verzendt gewoon een bericht naar alle verbonden clients in de hub.
Voer de volgende opdracht uit om een bericht naar de service te publiceren.
dotnet run $connection_string "myHub1" "Hello World"
In de vorige opdrachtshell met de Web PubSub-client wordt het ontvangen bericht weergegeven.
Ga naar de map src/main/java/com/webpubsub/quickstart .
Vervang de inhoud in het bestand App.java door de volgende code:
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);
}
}
Deze code maakt gebruik van de Azure Web PubSub SDK om een bericht naar de service te publiceren. De service.sendToAll() aanroep verzendt een bericht naar alle verbonden clients in een hub.
Retourneer de map webpubsub-quickstart-publisher met het pom.xml-bestand en compileer het project met behulp van de volgende mvn opdracht.
mvn compile
Bouw het pakket.
mvn package
Voer de volgende mvn opdracht uit om de app uit te voeren om een bericht naar de service te publiceren:
Deze quickstart biedt u een basisidee van hoe u verbinding maakt met de Web PubSub-service en hoe u berichten publiceert naar de verbonden clients.
In echte toepassingen kunt u SDK's in verschillende talen gebruiken om uw eigen toepassing te bouwen. We bieden ook functie-extensies voor u om eenvoudig serverloze toepassingen te bouwen.
Gebruik deze resources om te beginnen met het bouwen van uw eigen toepassing: