クイックスタート - Email イベントを処理する
Azure Event Grid を使用して Communication Services の Email イベントを処理することで、Azure Communication Services を開始します。 配信レポートやエンゲージメント レポートなどの Email イベントをサブスクライブした後、これらのイベントを生成して受信します。 このクイックスタートを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Communication Services リソース。 詳しくは、Azure Communication Services リソースの作成に関するページをご覧ください。
- プロビジョニングされたドメインを持つ Email リソース。 Email リソースを作成します。
Event Grid について
Event Grid は、クラウドベースのイベント処理サービスです。 この記事では、Communication Services のイベントをサブスクライブし、イベントをトリガーして結果を表示する方法について説明します。 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。 この記事では、メッセージを収集して表示する 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 ステ一タスが Delivered、Failed、FilteredSpam、 Quarantined などの最終状態の場合に生成されます。Email Engagement Tracking Report Received
イベントは、送信されたメールが開かれるか、メール内のリンクがクリックされたときに生成されます。 イベントをトリガーするには、Email ドメイン リソースのUser Interaction Tracking
オプションをオンにする必要があります
Communication Services でサポートされているイベントの完全な一覧を確認してください。
Email イベントを受信する
イベントを生成すると、エンドポイントに Email Delivery Report Received
と Email Engagement Tracking Report Received
イベントが送信されることがわかります。 これらのイベントは、このクイックスタートで最初に設定した 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.246EngagementType
はエンゲージメントの種類を指し、使用可能な値は 'View' または 'Click' です。
詳細については、イベント スキーマとその他のイベントの概念に関する記事を参照してください。
リソースをクリーンアップする
Communication Services サブスクリプションをクリーンアップして解除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。 詳細については、リソースのクリーンアップに関する記事を参照してください。
次の手順
このクイックスタートでは、Email イベントの使用方法について説明しました。 Event Grid サブスクリプションを作成することによって Email イベントを受信できます。
スキーマ情報とイベント例については、「Azure Communication Services - Email イベント」を参照してください。
また、次の記事も参照することをお勧めします。