Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Web PubSub ułatwia zarządzanie klientami protokołu WebSocket. W tym przewodniku Szybki start pokazano, jak publikować komunikaty na klientach protokołu WebSocket przy użyciu zestawu SDK usługi Azure Web PubSub.
Wymagania wstępne
- Subskrypcja platformy Azure, jeśli jej nie masz, utwórz bezpłatne konto.
- powłoka poleceń powłoki Bash i PowerShell. Przykłady języków Python, JavaScript i Java wymagają powłoki poleceń powłoki Bash.
- Edytor plików, taki jak VS Code.
- Interfejs wiersza polecenia platformy Azure: instalowanie interfejsu wiersza polecenia platformy Azure
Jeśli tworzysz projekt na komputerze lokalnym, musisz zainstalować zależności dla używanego języka:
Zainstaluj zarówno zestaw .NET Core SDK, jak i środowisko uruchomieniowe aspnetcore i dotnet.
1. Konfiguracja
Aby zalogować się do platformy Azure z poziomu interfejsu wiersza polecenia, uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania. Jeśli korzystasz z Cloud Shell, nie musisz się logować.
az login
Upewnij się, że używasz najnowszej wersji interfejsu wiersza polecenia za pomocą polecenia uaktualnienia.
az upgrade
Następnie zainstaluj lub zaktualizuj rozszerzenie Azure Web PubSub dla interfejsu wiersza polecenia, jeśli nie zostało zainstalowane za pomocą az upgrade.
az extension add --name webpubsub --upgrade
1. Tworzenie grupy zasobów
Ustaw następujące zmienne środowiskowe. Zastąp <symbol zastępczy> unikatową nazwą Web PubSub.
RESOURCE_GROUP="webpubsub-resource-group"
LOCATION="EastUS"
WEB_PUBSUB_NAME="<your-unique-name>"
Utwórz grupę zasobów dla projektu Web PubSub.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
2. Wdrażanie instancji usługi Web PubSub
Użyj polecenia, az webpubsub create aby utworzyć i wdrożyć wystąpienie usługi Web PubSub.
az webpubsub create \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--sku Free_F1
Zapisz parametry połączenia usługi. Parametry połączenia są używane przez zestaw SDK usługi do publikowania komunikatów.
Ważne
W środowisku produkcyjnym parametry połączenia należy bezpiecznie przechowywać przy użyciu usługi Azure Key Vault.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
3. Łączenie klienta z wystąpieniem usługi
Utwórz klienta Web PubSub. Klient utrzymuje połączenie z usługą do momentu jej zakończenia.
Użyj polecenia, az webpubsub client aby uruchomić połączenie klienta protokołu WebSocket z usługą. Klienci zawsze łączą się z koncentratorem, dlatego podaj nazwę koncentratora, z którym klient ma się połączyć.
az webpubsub client start \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--hub-name "myHub1" \
--user-id "user1"
Połączenie z usługą Web PubSub jest nawiązywane, gdy zostanie wyświetlony komunikat JSON wskazujący, że klient został pomyślnie połączony i ma przypisany unikatowy connectionId:
{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}
4. Publikowanie wiadomości przy użyciu zestawu SDK usługi
Użyjesz zestawu Azure Web PubSub SDK, aby opublikować komunikat do wszystkich klientów połączonych z centrum. Możesz wybierać między C#, JavaScript, Python i Java. Zależności dla każdego języka są instalowane w krokach dla tego języka. Języki Python, JavaScript i Java wymagają powłoki bash do uruchamiania poleceń w tym przewodniku Szybki start.
Konfigurowanie projektu do publikowania wiadomości
Otwórz nową powłokę poleceń dla tego projektu.
Zapisz parametry połączenia z powłoki klienta. Zastąp
<your_connection_string>symbol zastępczy parametrami połączenia wyświetlonymi we wcześniejszym kroku.connection_string="<your_connection_string>"Teraz wybierz język dla swojego projektu.
Dodaj nowy projekt o nazwie
publisheri pakietAzure.Messaging.WebPubSubSDK.mkdir publisher cd publisher dotnet new console dotnet add package Azure.Messaging.WebPubSubZaktualizuj plik,
Program.csaby używałWebPubSubServiceClientklasy do wysyłania komunikatów do klientów. Zastąp kod wProgram.cspliku następującym kodem.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); } } }Połączenie
service.SendToAllAsync()po prostu wysyła wiadomość do wszystkich podłączonych klientów w hubie.Uruchom następujące polecenie, aby opublikować komunikat w usłudze.
dotnet run $connection_string "myHub1" "Hello World"Poprzednia powłoka poleceń zawierająca klienta Web PubSub pokazuje odebrany komunikat.
{"type":"message","from":"server","dataType":"text","data":"Hello World"}
Sprzątanie
Zasoby utworzone w tym przewodniku Szybki start można usunąć, usuwając grupę zasobów, która je zawiera.
az group delete --name $RESOURCE_GROUP --yes