Краткое руководство. Публикация сообщений с помощью пакета SDK службы Azure Web PubSub
Статья
Azure Web PubSub помогает управлять клиентами WebSocket. В этом кратком руководстве показано, как публиковать сообщения в клиентах WebSocket с помощью пакета SDK службы Azure Web PubSub.
Чтобы войти в Azure из CLI, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности. Если вы используете Cloud Shell, выполнять вход необязательно.
az login
Обеспечьте использование последней версии интерфейса командной строки, выполнив команду обновления.
az upgrade
Затем установите или обновите расширение Azure Web PubSub для интерфейса командной строки, если оно не было установлено с az upgrade.
az extension add --name webpubsub --upgrade
1. Создание группы ресурсов
Задайте следующие переменные среды. Замените <заполнитель> уникальным именем Web PubSub.
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. Подключение клиента к экземпляру службы
Создайте клиент Web PubSub. Клиент поддерживает подключение к службе, пока оно не будет завершено.
Используйте команду , az webpubsub client чтобы запустить подключение клиента WebSocket к службе. Клиенты всегда подключаются к концентратору, поэтому укажите имя концентратора для клиента, к которому нужно подключиться.
Подключение к службе Web PubSub устанавливается, когда отображается сообщение JSON о том, что клиент успешно подключен, и ему назначен уникальный connectionId:
4. Публикация сообщений с помощью пакета SDK службы
Вы будете использовать пакет SDK Azure Web PubSub для публикации сообщения для всех клиентов, подключенных к концентратору.
Вы можете выбрать C#, JavaScript, Python и Java. Зависимости для каждого языка устанавливаются на этапах для этого языка. Для выполнения команд, приведенных в этом кратком руководстве, для python, JavaScript и Java требуется оболочка Bash.
Настройка проекта для публикации сообщений
Откройте новую командную оболочку для этого проекта.
Сохраните строку подключения из клиентской оболочки. Замените <your_connection_string> заполнитель строкой подключения, отображаемой на предыдущем шаге.
Добавьте новый проект с именем publisher и пакет Azure.Messaging.WebPubSubSDK .
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Обновите файл, Program.cs чтобы использовать WebPubSubServiceClient класс для отправки сообщений клиентам. Замените код в Program.cs файле следующим кодом.
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);
}
}
}
Вызов service.SendToAllAsync() просто отправляет сообщение всем подключенным клиентам в концентраторе.
Выполните следующую команду, чтобы опубликовать сообщение в службе.
dotnet run $connection_string "myHub1" "Hello World"
В предыдущей командной оболочке, содержащей клиент Web PubSub, отображается полученное сообщение.
Перейдите в каталог src/main/java/com/webpubsub/quickstart.
Замените содержимое файла App.java следующим кодом:
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);
}
}
Этот код использует пакет SDK Azure Web PubSub для публикации сообщения в службе. Вызов service.sendToAll() отправляет сообщение всем подключенным клиентам в концентраторе.
Верните t каталог webpubsub-quickstart-publisher , содержащий файл pom.xml , и скомпилируйте проект с помощью следующей mvn команды.
mvn compile
Выполните сборку пакета.
mvn package
Выполните следующую mvn команду, чтобы выполнить приложение для публикации сообщения в службе:
В этом кратком руководстве представлено общее описание того, как подключиться к службе Web PubSub и публиковать сообщения на подключенных клиентах.
В реальных приложениях вы можете использовать пакеты SDK на различных языках для создания собственного приложения. Мы также предоставляем расширения функций, позволяющие легко создавать бессерверные приложения.
Используйте следующие ресурсы, чтобы приступить к созданию собственного приложения: