クイックスタート: CLI から Azure Web PubSub インスタンスに接続する

このクイックスタートでは、Azure CLI を使用して、Azure Web PubSub インスタンスに接続し、接続されているクライアントにメッセージを発行する方法について説明します。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • 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 Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

リソース グループを作成する

リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 az group create コマンドを使用して、myResourceGroup という名前のリソース グループを eastus の場所に作成します。

az group create --name myResourceGroup --location EastUS

Web PubSub インスタンスを作成する

az extension add を実行して、webpubsub 拡張機能をインストールするか、最新バージョンにアップグレードします。

az extension add --upgrade --name webpubsub

Azure CLI の az webpubsub create コマンドを使用して、作成したリソース グループに Web PubSub を作成します。 次のコマンドは、EastUS のリソース グループ myResourceGroup の下に "無料の" Web PubSub リソースを作成します。

重要

Web PubSub リソースには、それぞれ一意の名前を付ける必要があります。 次の例では、<your-unique-resource-name> をお使いの Web PubSub の名前に置き換えてください。

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

このコマンドの出力では、新しく作成したリソースのプロパティが表示されます。 次の 2 つのプロパティをメモしておきます。

  • Resource Name: 上記の --name パラメーターに指定した名前です。
  • hostName: この例では、ホスト名は <your-unique-resource-name>.webpubsub.azure.com/ です。

この時点で、お使いの 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 接続が確立されたこと、および現在正常に接続され、一意の connectionId が割り当てられていることを示す JSON メッセージが表示されていることが分かります。

{"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 を使用して独自のアプリケーションを構築できます。 また、サーバーレス アプリケーションを簡単に構築するための関数の拡張機能も用意しています。

これらのリソースを使用して、独自のアプリケーションの構築を開始します。