Azure Event Grid を使用して Communication Services の Email イベントを処理することで、Azure Communication Services を開始します。 配信レポートやエンゲージメント レポートなどの Email イベントをサブスクライブした後、これらのイベントを生成して受信します。 このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- 通信サービスのリソース。 詳しくは、Azure Communication Services リソースの作成に関するページをご覧ください。
- プロビジョニングされたドメインを持つ Email リソース。 Email リソースを作成します。
Event Grid について
Event Grid は、クラウドベースのイベント処理サービスです。 この記事では、 通信サービス イベントをサブスクライブし、イベントをトリガーして結果を表示する方法について説明します。 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。 この記事では、メッセージを収集して表示する Web アプリにイベントを送信します。
環境をセットアップする
イベントの生成と受信に使用する環境を設定するには、次のセクションの手順を実行します。
Event Grid リソース プロバイダーを登録する
Azure サブスクリプションで Event Grid をまだ使用していない場合は、Event Grid リソース プロバイダーの登録が必要になることがあります。 プロバイダーを登録するには、次の手順のようにします。
- Azure Portal にアクセスします。
- 左側のメニューで [サブスクリプション] を選択します。
- Event Grid に使うサブスクリプションを選びます。
- 左側のメニューの [設定] で、 [リソース プロバイダー] を選択します。
- Microsoft.EventGrid を探します。
- リソース プロバイダーが登録されていない場合は、[登録] を選びます。
登録完了まで少し時間がかかることがあります。 [最新の情報に更新] を選択して、状態を更新します。 [状態] に [登録済み] と表示されたら、次に進むことができます。
Event Grid ビューアーをデプロイする
このクイック スタートでは、Event Grid ビューアーを使用して、ほぼリアルタイムでイベントを表示します。 ビューアーにより、リアルタイム フィードのエクスペリエンスがユーザーに提供されます。 また、各イベントのペイロードを検査に使用できるようになるはずです。
ビューアーを設定するには、「Azure Event Grid ビューアー」の手順のようにします。
Webhook を使用して Email イベントをサブスクライブする
特定のイベントをサブスクライブして、追跡するイベントの送信先に関する情報を Event Grid に提供できます。
ポータルで、作成した Communication Services リソースに移動します。
Communication Service リソース内で、[Communication Services] ページの左側のメニューの [イベント] を選びます。
[Add Event Subscription](イベント サブスクリプションの追加) を選びます。
[イベント サブスクリプションの作成] ページで、イベント サブスクリプションの名前を入力します。
[イベントの種類] で、サブスクライブするイベントを選びます。 Email には、
Email Delivery Report Received
とEmail Engagement Tracking Report Received
を選択できます。システム トピック名の入力を求められたら、自由に一意の文字列を指定してください。 このフィールドはエクスペリエンスに影響を与えず、内部テレメトリの目的で使用されます。
[エンドポイントの種類] では、[webhook] を選びます。
[エンドポイント] では、[エンドポイントの選択] を選び、自分の Web アプリの URL を入力します。
この場合は、クイックスタートで前に設定した Event Grid ビューアー の URL を使用します。 サンプルの URL は、
https://{{site-name}}.azurewebsites.net/api/updates
という形式になっています。[選択の確認] を選択します。
Email イベントを表示する
Email イベントを生成して受信するには、次のセクションの手順を実行します。
Email イベントをトリガーする
イベント トリガーを表示するには、いくつかのイベントを生成する必要があります。 イベントをトリガーするには、Communication Services リソースにアタッチされている Email ドメイン リソースを使用してメールを送信します。
Email Delivery Report Received
イベントは、メールステータスが配信済み、失敗、スパムフィルター、検疫などの最終状態にあるときに生成されます。Email Engagement Tracking Report Received
イベントは、送信されたメールが開かれるか、メール内のリンクがクリックされたときに生成されます。 イベントをトリガーするには、Email ドメイン リソースのUser Interaction Tracking
オプションをオンにする必要があります
Communication Services でサポートされているイベントの完全な一覧を確認してください。
Email イベントを受信する
イベントを生成した後、 Email Delivery Report Received
イベントと Email Engagement Tracking Report Received
イベントがエンドポイントに送信されます。 これらのイベントは、このクイックスタートで最初に設定した Event Grid ビューアーに表示されます。 ペイロード全体を表示するには、イベントの横にある目のアイコンを選びます。 イベントは次のデータのようになっているはずです。
Microsoft.Communication.EmailDeliveryReportReceived イベント
Microsoft.Communication.EmailEngagementTrackingReportReceived イベント
-
EngagementContext
は、engagementType がClick
の場合にクリックされたリンクを指します。 -
UserAgent
は、この電子メール エンゲージメント イベントが発生した User-Agent を指します。 たとえば、ユーザーが Win10 コンピューターを使用して Microsoft Edge で対話した場合: Mozilla/5.0 (Windows NT 10.0;Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 -
EngagementType
とは、エンゲージメントの種類を指します。 指定できる値はView
またはClick
です。 -
Recipient
は、メールに関与した受信者を指します。 元のメールが一度に複数の受信者に送信された場合、このフィールドは空であることに注意してください。
詳細については、 イベント スキーマとその他のイベントの概念を参照してください。
リソースをクリーンアップする
Communication Services サブスクリプションをクリーンアップして解除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。 詳細については、リソースのクリーンアップに関する記事を参照してください。
次の手順
このクイックスタートの中で、Email イベントの利用方法について学びました。 Event Grid サブスクリプションを作成することによって Email イベントを受信できます。
スキーマ情報とイベント例については、「Azure Communication Services - Email イベント」を参照してください。