Azure Communication Services でのイベント処理

Azure Communication Services は Azure Event Grid と統合され、信頼性が高く、スケーラブルで安全な方法でリアルタイムのイベント通知を配信します。 この記事の目的は、ご利用のアプリケーションを構成して Communication Services イベントをリッスンできるようにすることです。 たとえば、Communication Services リソースに関連付けられている電話番号で SMS メッセージを受信するたびに、データベースを更新し、作業項目を作成し、プッシュ通知を配信したい場合があります。

Azure Event Grid は、発行 - サブスクライブ モデルを使用する、フル マネージドのイベント ルーティング サービスです。 Event Grid には、Azure FunctionsAzure Logic Apps のような Azure サービスのサポートが組み込まれています。 また、Webhook を使用することで、Azure 以外のサービスにイベント アラートを配信することもできます。 Event Grid がサポートするイベント ハンドラーの完全な一覧については、「Azure Event Grid の概要」をご覧ください。

Diagram showing Azure Event Grid's event model.

Note

データ所在地とイベント処理の関係の詳細については、データ所在地の概念説明ドキュメントを参照してください。

イベントの種類

Event Grid は、イベント サブスクリプションを使って、イベント メッセージをサブスクライバーにルーティングします。

Azure Communication Services から出力されるイベントの種類は次のとおりです。

Azure portal または Azure CLI を使用して、Communication Services リソースによって発行されたイベントをサブスクライブできます。

イベントの件名

すべての Communication Services イベントの subject フィールドは、イベントの対象となるユーザー、電話番号、またはエンティティを識別します。 単純な Event Grid のフィルター処理を可能にするために、共通プレフィックスが使用されます。

件名のプレフィックス Communication Service エンティティ
phonenumber/ PSTN の電話番号
user/ Communication Services ユーザー
thread/ チャット スレッド。

次の例は、Communication Services リソースが所有する市外局番が 555 のすべての電話番号に送信されるすべての SMS メッセージと配信レポートに対するフィルターを示しています。

"filter": {
  "includedEventTypes": [
    "Microsoft.Communication.SMSReceived",
    "Microsoft.Communication.SMSDeliveryReportReceived"
  ],
  "subjectBeginsWith": "phonenumber/1555",
}

次のステップ