クイックスタート - Email イベントを処理する

Azure Event Grid を使用して Communication Services の Email イベントを処理することで、Azure Communication Services を開始します。 配信レポートやエンゲージメント レポートなどの Email イベントをサブスクライブした後、これらのイベントを生成して受信します。 このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。

前提条件

Event Grid について

Event Grid は、クラウドベースのイベント処理サービスです。 この記事では、Communication Services のイベントをサブスクライブし、イベントをトリガーして結果を表示する方法について説明します。 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。 この記事では、メッセージを収集して表示する Web アプリにイベントを送信します。

環境をセットアップする

イベントの生成と受信に使用する環境を設定するには、次のセクションの手順のようにします。

Event Grid リソース プロバイダーを登録する

これまでに Azure サブスクリプションで Event Grid を使ったことがない場合は、Event Grid リソース プロバイダーの登録が必要な可能性があります。 プロバイダーを登録するには、次の手順のようにします。

  1. Azure Portal にアクセスします。
  2. 左側のメニューで [サブスクリプション] を選択します。
  3. Event Grid に使うサブスクリプションを選びます。
  4. 左側のメニューの [設定] で、 [リソース プロバイダー] を選択します。
  5. Microsoft.EventGrid を探します。
  6. リソース プロバイダーが登録されていない場合は、[登録] を選びます。

登録完了まで少し時間がかかることがあります。 [最新の情報に更新] を選択して、状態を更新します。 [状態][登録済み] と表示されたら、次に進むことができます。

Event Grid ビューアーをデプロイする

このクイックスタートでは、Event Grid ビューアーを使って、準リアルタイムでイベントを表示します。 ビューアーにより、リアルタイム フィードのエクスペリエンスがユーザーに提供されます。 また、各イベントのペイロードを検査に使用できるようになるはずです。

ビューアーを設定するには、「Azure Event Grid ビューアー」の手順のようにします。

Webhook を使用して Email イベントをサブスクライブする

特定のイベントをサブスクライブして、追跡するイベントの送信先に関する情報を Event Grid に提供できます。

  1. ポータルで、作成した Communication Services リソースに移動します。

  2. Communication Service リソース内で、[Communication Services] ページの左側のメニューの [イベント] を選びます。

  3. [Add Event Subscription](イベント サブスクリプションの追加) を選びます。

    Azure Communication Services リソースの [イベント] ページを示すスクリーンショット。[イベント サブスクリプション] ボタンが強調表示されています。

  4. [イベント サブスクリプションの作成] ページで、イベント サブスクリプションの名前を入力します。

  5. [イベントの種類] で、サブスクライブするイベントを選びます。 Email には、Email Delivery Report ReceivedEmail Engagement Tracking Report Received を選択できます。

  6. システム トピック名の入力を求められた場合は、一意の文字列を自由に指定してかまいません。 このフィールドはエクスペリエンスに影響を与えず、内部テレメトリの目的で使用されます。

    [イベント サブスクリプションの作成] ダイアログを示すスクリーンショット。 [イベントの種類] で、[受信した Email 配信レポート] と [受信した Email エンゲージメント追跡レポート] が選択されています。

  7. [エンドポイントの種類] では、[webhook] を選びます。

    [イベント サブスクリプションの作成] ダイアログの詳細を示すスクリーンショット。[エンドポイントの種類] の一覧で、[Web Hook] が選択されています。

  8. [エンドポイント] では、[エンドポイントの選択] を選び、自分の Web アプリの URL を入力します。

    ここでは、クイックスタートで前に設定した Event Grid ビューアーの URL を使います。 サンプルの URL は、https://{{site-name}}.azurewebsites.net/api/updates という形式になっています。

  9. [選択の確認] を選択します。

    [Webhook の選択] ダイアログを示すスクリーンショット。[サブスクライバー エンドポイント] ボックスには URL が含まれており、[選択の確認] ボタンが表示されています。

Email イベントを表示する

Email イベントを生成して受信するには、次のセクションの手順を実行します。

Email イベントをトリガーする

イベント トリガーを表示するには、いくつかのイベントを生成する必要があります。 イベントをトリガーするには、Communication Services リソースにアタッチされている Email ドメイン リソースを使用してメールを送信します。

  • Email Delivery Report Receivedイベントは、Email ステ一タスが Delivered、Failed、FilteredSpam、 Quarantined などの最終状態の場合に生成されます。

  • Email Engagement Tracking Report Received イベントは、送信されたメールが開かれるか、メール内のリンクがクリックされたときに生成されます。 イベントをトリガーするには、Email ドメイン リソースの User Interaction Tracking オプションをオンにする必要があります

Communication Services でサポートされているイベントの完全な一覧を確認してください。

Email イベントを受信する

イベントを生成すると、エンドポイントに Email Delivery Report ReceivedEmail Engagement Tracking Report Received イベントが送信されることがわかります。 これらのイベントは、このクイックスタートで最初に設定した Event Grid ビューアーに表示されます。 ペイロード全体を表示するには、イベントの横にある目のアイコンを選びます。 イベントは次のデータのようになっているはずです。

受信した EMAIL 配信レポート イベントの Event Grid スキーマを示す Azure Event Grid ビューアーのスクリーンショット。

Email エンゲージメント追跡レポート イベントの Event Grid スキーマを示す Azure Event Grid ビューアーのスクリーンショット。

  • EngagementContext は、engagementType が Click の場合にクリックされたリンクを指します。
  • UserAgent は、この電子メール エンゲージメント イベントが発生した User-Agent を指します。 例: ユーザーが Win10 マシンを使用して Edge で操作を行った場合: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML (Gecko など)) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246
  • EngagementType はエンゲージメントの種類を指し、使用可能な値は 'View' または 'Click' です。

詳細については、イベント スキーマとその他のイベントの概念に関する記事を参照してください。

リソースをクリーンアップする

Communication Services サブスクリプションをクリーンアップして解除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。 詳細については、リソースのクリーンアップに関する記事を参照してください。

次の手順

このクイックスタートでは、Email イベントの使用方法について説明しました。 Event Grid サブスクリプションを作成することによって Email イベントを受信できます。

スキーマ情報とイベント例については、「Azure Communication Services - Email イベント」を参照してください。

また、次の記事も参照することをお勧めします。