クイック スタート: Azure Event Grid を使用して BLOB ストレージ イベントを Web エンドポイントにルーティングする (Azure portal)
Event Grid は、Azure のさまざまなサービスおよびアプリケーション全体でイベントの管理を簡単にするフル マネージド サービスです。 イベント駆動型でサーバーレスのアプリケーションの作成を簡単にします。 サービスの概要については、Event Grid の概要に関するページを参照してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
最後に、イベント データが Web アプリに送信されたことを確認します。
ストレージ アカウントの作成
Azure ポータルにサインインします。
BLOB ストレージを作成するには、 [リソースの作成] を選択します。
[検索] に「ストレージ アカウント」と入力し、結果の一覧から [ストレージ アカウント] を選択します。
[ストレージ アカウント] ページで [作成] を選択し、ストレージ アカウントの作成を開始します。 イベントに対してサブスクライブするには、汎用 v2 ストレージ アカウントまたは BLOB ストレージ アカウントのどちらかを作成します。
[ストレージ アカウントの作成] ページで、次の手順を実行します。
Azure サブスクリプションを選択します。
リソース グループには、新しいリソース グループ名を作成するか既存の名前を選択します。
ストレージ アカウントの名前を入力します。
ストレージ アカウントを作成する [リージョン] を選択します。
プライマリ サービスのために、Azure Blob Storage または Azure Data Lake Storage Gen 2 を選択します。
[冗長性] には、ドロップダウン リストから [ローカル冗長ストレージ (LRS)] を選択します。
ページ下部にある [確認と作成] を選択します。
[確認 + 作成] タブで設定を確認し、[作成] を選択します。
Note
イベントの統合をサポートしているのは、StorageV2 (汎用 v2) と BlobStorage の種類のストレージ アカウントだけです。 Storage (汎用 v1) では、Event Grid との統合はサポート "されていません"。
デプロイが完了するまでに数分かかる場合があります。 [デプロイ] ページで、[リソースに移動] を選択します。
[ストレージ アカウント] ページの左側のメニューにある [イベント] を選択します。
このページを Web ブラウザーで開いたままにします。
メッセージ エンドポイントの作成
BLOB ストレージのイベントをサブスクライブする前に、イベント メッセージのエンドポイントを作成しましょう。 通常、エンドポイントは、イベント データに基づくアクションを実行します。 このクイックスタートを簡素化するために、イベント メッセージを表示する構築済みの Web アプリをデプロイします。 デプロイされたソリューションには、App Service プラン、App Service Web アプリ、および GitHub からのソース コードが含まれています。
[Deploy to Azure](Azure にデプロイ) を選択して、ソリューションをサブスクリプションにデプロイします。
[カスタム デプロイ] ページで、次の手順を実行します。
[リソース グループ] で、ストレージ アカウントの作成時に作成したリソース グループを選択します。 チュートリアルの完了後は、リソース グループを削除して容易にクリーンアップすることができます。
[サイト名] に、Web アプリの名前を入力します。
Web アプリのホストに使用する App Service プランの名前を [ホスティング プラン名] に入力します。
[Review + create](レビュー + 作成) を選択します。
[確認および作成] ページで、 [作成] を選択します。
デプロイが完了するまでに数分かかる場合があります。 [デプロイ] ページで、[リソース グループに移動] を選択します。
[リソース グループ] ページのリソースの一覧で、作成した Web アプリを選択します。 この一覧には、App Service プランとストレージ アカウントも表示されます。
Web アプリの [App Service] ページで、Web サイトに移動するための URL を選択します。 この URL は、
https://<your-site-name>.azurewebsites.net
形式になっている必要があります。サイトは表示されますが、イベントはまだ送信されていないことを確認します。
重要
Azure Event Grid ビューアー ウィンドウを開いたままにして、イベントが送信された時点で表示されるようにします。
BLOB ストレージのサブスクライブ
どのイベントを追跡し、どこにイベントを送信するかは、トピックを購読することによって Event Grid に伝えます。
[ストレージ アカウント] ページを閉じた場合は、前に作成した Azure Storage アカウントに移動します。 左側のメニューにある [すべてのリソース] を選択し、自分のストレージ アカウントを選択します。
[ストレージ アカウント] ページの左側のメニューにある [イベント] を選択します。
[その他のオプション] を選択し、 [webhook] を選択します。 エンドポイントの Web hook を使用して、ビューアー アプリにイベントを送信します。
[イベント サブスクリプションの作成] ページで、次の手順を実行します。
イベント サブスクリプションの名前を入力します。
システム トピックの名前を入力します。 システム トピックについては、システム トピックの概要に関するページを参照してください。
エンドポイントの種類が [Web Hook] に設定されていることを確認します。
[エンドポイント] で [エンドポイントの構成] を選択し、Web アプリの URL を入力して、ホーム ページの URL に
api/updates
を追加し (例:https://spegridsite.azurewebsites.net/api/updates
)、[選択の確認] を選択します。次に、 [イベント サブスクリプションの作成] ページの [作成] を選択して、イベント サブスクリプションを作成します。
Web アプリをもう一度表示し、その Web アプリにサブスクリプションの検証イベントが送信されたことに注目します。 目のアイコンを選択してイベント データを展開します。 Event Grid は検証イベントを送信するので、エンドポイントはイベント データを受信することを確認できます。 Web アプリには、サブスクリプションを検証するコードが含まれています。
では、イベントをトリガーして、Event Grid がメッセージをエンドポイントに配信するようすを見てみましょう。
エンドポイントへのイベントの送信
BLOB ストレージのイベントをトリガーするには、ファイルをアップロードします。 このファイルは、特定のコンテンツを必要としません。
Azure portal で Blob Storage アカウントに移動し、左のメニューで [Containers] を選択します。
[+ コンテナー] を選択します。 コンテナーに名前を付け、任意のアクセス レベルを使用して、[作成] を選択します。
新しいコンテナーを選択します。
ファイルをアップロードするには、 [アップロード] を選択します。 [BLOB のアップロード] ページで、テスト用にアップロードするファイルを参照して選択し、ページ上の [アップロード] を選択します。
テスト ファイルを参照し、それをアップロードします。
以上でイベントがトリガーされ、そのメッセージが、Event Grid によってサブスクライブ時に構成したエンドポイントに送信されました。 メッセージは JSON 形式であり、1 つまたは複数のイベントの配列が含まれています。 次の例の JSON メッセージには、1 つのイベントの配列が含まれています。 Web アプリを表示して、BLOB 作成イベントが受信されたことを確認します。
リソースをクリーンアップする
引き続きこのイベントを使用する場合は、この記事で作成したリソースをクリーンアップしないでください。 それ以外の場合は、この記事で作成したリソースを削除してください。
リソース グループを選択し、 [リソース グループの削除] を選択します。
関連するコンテンツ
カスタム トピックを作成し、イベントをサブスクライブする方法がわかったら、Event Grid でできることについて、さらに情報を収集しましょう。