このガイドでは、チャット メッセージをリアルタイムで独自のストレージに移動する、または会話が完了したらチャット スレッドを移動する方法について説明します。 開発者は、コンプライアンス上の理由からチャット スレッドまたはメッセージのアーカイブを維持したり、Azure OpenAI と統合したりすることができます。その両方を行うこともできます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。
- アクティブな Communication Services リソースと接続文字列。 Communication Services リソースを作成します。
- ストレージ アカウント。このガイドでは、Azure Blob Storage の例を示します。 ポータルを使用してアカウントを設定できます。 任意の他のストレージ オプションを使用できます。
- メッセージをほぼリアルタイムでアーカイブする場合は、有料サービスである Azure Event Grid を有効にします (この前提条件はオプション 2 のみです)。
Event Grid について
Event Grid は、クラウドベースのイベント処理サービスです。 メッセージをほぼリアルタイムでアーカイブするには、通信サービス イベントをサブスクライブし、イベントをトリガーする必要があります。 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。
環境をセットアップする
イベントの生成と受信に使用する環境を設定するには、次のセクションの手順のようにします。
Event Grid リソース プロバイダーを登録する
これまでに Azure サブスクリプションで Event Grid を使ったことがない場合は、Event Grid リソース プロバイダーの登録が必要な可能性があります。 プロバイダーを登録するには、次の手順のようにします。
- Azure Portal にアクセスします。
- 左側のメニューで [サブスクリプション] を選択します。
- Event Grid に使うサブスクリプションを選びます。
- 左側のメニューの [設定] で、 [リソース プロバイダー] を選択します。
- Microsoft.EventGrid を探します。
- リソース プロバイダーが登録されていない場合は、[登録] を選びます。
登録完了まで少し時間がかかることがあります。 [最新の情報に更新] を選択して、状態を更新します。 [状態] に [登録済み] と表示されたら、次に進むことができます。
Event Grid ビューアーをデプロイする
Event Grid ビューアーを使って、準リアルタイムでイベントを表示する必要があります。 ビューアーにより、リアルタイム フィードのエクスペリエンスがユーザーに提供されます。
チャット スレッドをアーカイブする方法は 2 つあります。 スレッドが非アクティブな場合にメッセージをアーカイブするか、ほぼリアルタイムでアーカイブするかを選択できます。
オプション 1: バックエンド アプリケーションを使用して非アクティブな会話をアーカイブする
このオプションは、チャットの量が多く、複数の関係者が関与している場合に適しています。
チャット スレッドを独自のストレージに移動するジョブを実行するバックエンド アプリケーションを作成します。スレッドがアクティブでなくなったとき (つまり、顧客との会話が終了したとき) にアーカイブすることをお勧めします。
バックエンド アプリケーションでジョブを実行して、次の手順を実行します。
- アーカイブするチャット スレッド内のメッセージを一覧表示します
- チャット スレッドを、格納する目的の形式 (JSON、CSV) で記述します
- BLOB 形式のスレッドを Azure Blob Storage にコピーします
オプション 2: チャット メッセージをリアルタイムでアーカイブする
このオプションは、会話がリアルタイムで行われ、チャットの量が少ない場合に適しています。
メッセージをアーカイブするには、次の手順に従います。
- Web フックを介して Azure Event Grid に付属する Event Grid イベントをサブスクライブします。 Azure Communications Chat サービスでは、リアルタイム通知に対して次のイベントがサポートされています。 推奨されるイベントは、Message Received イベント、Message Edited イベント、Message Deleted イベントです。
- これらのイベントを受信するようにリソースを構成してイベントを検証します
- Event Grid ハンドラーをローカルでテストして、アーカイブに必要なイベントを受信していることを確認します。
注意
イベントの料金を支払う必要があります。
次のステップ
- Azure Event Grid の概念の概要については、Event Grid の概念に関する記事を参照してください
- サービスの制限
- トラブルシューティング
- ヘルプとサポートのオプション