この一連の記事では、Azure Functions で Azure Web PubSub バインドを使用して、 Azure Web PubSub に接続されているクライアントに対する認証、リアルタイム メッセージの送信を行う方法について説明します。
| アクション | タイプ |
|---|---|
| Web PubSub からのクライアント イベントを処理する | トリガー バインド |
| HTTP トリガーを使用して Web PubSub からのクライアント イベントを処理するか、クライアント アクセス URL とトークンを返す | 入力バインド |
| サービス API の呼び出し | 出力バインド |
拡張機能のインストール
インストールする拡張機能 NuGet パッケージは、関数アプリで使用している C# モードによって異なります。
関数は分離された C# ワーカー プロセスで実行されます。 詳しくは、「分離ワーカー プロセスにおける C# Azure Functions の実行のガイド」をご覧ください。
この NuGet パッケージをインストールすることによって、プロジェクトに拡張機能を追加します。
バンドルのインストール
アプリでこのバインド拡張機能を使用できるようにするには、プロジェクトのルートにある host.json ファイルに次の extensionBundle 参照が含まれていることを確認します。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
この例では、versionの[4.0.0, 5.0.0)値は、少なくとも4.0.0が5.0.0未満のバンドル バージョン (4.x のすべての潜在的なバージョンを含む) を使用するように Functions ホストに指示します。 この表記は、v4.x 拡張機能バンドルの利用可能な最新のマイナー バージョンでアプリを効果的に維持します。
可能であれば、最新の拡張機能バンドルメジャー バージョンを使用し、ランタイムが最新のマイナー バージョンを自動的に維持できるようにする必要があります。 最新のバンドルの内容は、 拡張機能バンドルのリリース ページで確認できます。 詳細については、 Azure Functions 拡張機能バンドルに関するページを参照してください。
注
Java 用 Web PubSub 拡張機能はまだサポートされていません。
重要な概念
(1)-(2) クライアント接続を生成する HttpTrigger を使用した WebPubSubConnection 入力バインド。
(3)-(4) サービス要求を処理する WebPubSubTrigger トリガー バインドまたは HttpTrigger を使用した WebPubSubContext 入力バインド。
(5)-(6) サービスに何らかの実行を要求する WebPubSub 出力バインド。
接続文字列の設定
既定では、WebPubSubConnectionString という名前のアプリケーション設定を使用して、Web PubSub 接続文字列を格納します。 接続に別の設定名を使用する場合は、バインド定義のキー名として明示的に設定する必要があります。 ローカル開発時には、Values ファイルの コレクションにもこの設定を追加する必要があります。
重要
接続文字列には、アプリケーションが Azure Web PubSub サービスにアクセスするために必要な認可情報が含まれています。 接続文字列内のアクセス キーは、サービスのルート パスワードに似ています。 最適なセキュリティを確保するために、関数アプリでは、接続文字列を使用するのではなく、Web PubSub サービスに接続するときにマネージド ID を使用する必要があります。 詳細については、「 Microsoft Entra ID を使用してマネージド ID 要求を認証するを参照してください。
Web PubSub と Azure Functions を一緒に構成して使用する方法の詳細については、「 Tutorial: Azure Functions と Azure Web PubSub サービスを使用してサーバーレス通知アプリを作成する」を参照してください。
注
アイソレーテッドワーカーモデルで動作している場合、Azure Web PubSubのバインディングは現在、管理されたIDを用いたMicrosoft Entra ID認証をサポートしていません。 分離モデルでは、共有秘密鍵を含む接続文字列を引き続き使用する必要があります。