快速入门:从 CLI 连接到 Azure Web PubSub 实例

本快速入门演示如何使用 Azure CLI 连接到 Azure Web PubSub 实例并将消息发布到连接的客户端。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

先决条件

可以使用本地 Azure CLI。

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

  • 本地 Azure CLI,请了解如何安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 通过使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

  • 本快速入门需要 Azure CLI 版本 2.22.0 或更高版本。

创建资源组

资源组是在其中部署和管理 Azure 资源的逻辑容器。 使用 az group create 命令在 chinaeast 位置创建名为 myResourceGroup 的资源组。

az group create --name myResourceGroup --location ChinaEast

创建 Web PubSub 实例

运行 az extension add,安装 webpubsub 扩展或将其升级到当前版本。

az extension add --upgrade --name webpubsub

使用 Azure CLI az webpubsub create 命令在已创建的资源组中创建 Web PubSub。 以下命令在 ChinaEast 的资源组 myResourceGroup 下创建一个免费的 Web PubSub 资源:

重要

每个 Web PubSub 资源必须具有唯一名称。 在以下示例中,将 <your-unique-resource-name> 替换为 Web PubSub 的名称。

az webpubsub create --name "<your-unique-resource-name>" --resource-group "myResourceGroup" --location "ChinaEast" --sku Free_F1

此命令的输出会显示新建的资源的属性。 请记下下面列出的两个属性:

  • 资源名称:为上面的 --name 参数提供的名称。
  • 主机名:在本例中,主机名为 <your-unique-resource-name>.webpubsub.azure.cn/

目前,只有你的 Azure 帐户才有权对这个新资源执行任何操作。

播放实例

连接到服务

使用 Azure CLI az webpubsub client 命令启动与上一步创建的服务的 WebSocket 客户端连接,并提供以下信息:

  • 中心名称:1 到 127 个字符组成的字符串。 应以字母字符 (a-z, A-Z) 开头,并且仅包含字母数字 (0-9, a-z, A-Z) 字符或下划线 (_)

中心是已连接的 WebSocket 连接的逻辑集。 有关概念的详细信息,请查看关于中心、组和连接

重要

将 <your-unique-resource-name> 替换为在前面的步骤中创建的 Web PubSub 资源的名称。

  • 中心名称:myHub1。
  • 资源组名称:myResourceGroup。
  • 用户 ID:user1
az webpubsub client start --name "<your-unique-resource-name>" --resource-group "myResourceGroup" --hub-name "myHub1" --user-id "user1"

可以看到该命令建立了与 Web PubSub 服务的 WebSocket 连接,并且你收到了一条 JSON 消息,指示它现在已成功连接,并分配有唯一的 connectionId

{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}

体验一下,然后尝试使用 joingroup <group-name> 加入群组并使用 sendtogroup <group-name> 向群组发送消息:

joingroup group1
sendtogroup group1 hello

发布消息和管理客户端

Azure CLI 还提供 az webpubsub service 命令来管理客户端连接。

打开其他 CLI 命令,然后可以将消息广播到客户端:

  • 中心名称:myHub1。
  • 资源组名称:myResourceGroup。
az webpubsub service broadcast --name "<your-unique-resource-name>" --resource-group "myResourceGroup" --hub-name "myHub1" --payload "Hello World"

切换回上一个 CLI 命令,可以看到客户端收到消息:

{"type":"message","from":"server","dataType":"text","data":"Hello World"}

还可以使用 --help 选项列出所有可用命令,并播放列出的命令。

az webpubsub service --help

后续步骤

本快速入门提供如何连接到 Web PubSub 服务以及如何将消息发布到连接的客户端的基本想法。

在现实应用程序中,你可以使用各种语言的 SDK 来生成自己的应用程序。 我们还提供了函数扩展,供你轻松生成无服务器应用程序。

使用这些资源开始生成自己的应用程序: