クイック スタート: Azure portal で Blob Storage のイベントを Web エンドポイントにルーティングするQuickstart: Route Blob storage events to web endpoint with the Azure portal

Azure Event Grid は、クラウドのイベント処理サービスです。Azure Event Grid is an eventing service for the cloud. この記事では、Azure portal を使用して BLOB ストレージ アカウントを作成し、その BLOB ストレージのイベントをサブスクライブし、イベントをトリガーして結果を表示します。In this article, you use the Azure portal to create a Blob storage account, subscribe to events for that blob storage, and trigger an event to view the result. 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。Typically, you send events to an endpoint that processes the event data and takes actions. ただし、この記事では、単純化するために、メッセージを収集して表示する Web アプリにイベントを送信します。However, to simplify this article, you send the events to a web app that collects and displays the messages.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

最後に、イベント データが Web アプリに送信されたことを確認します。When you're finished, you see that the event data has been sent to the web app.

結果の表示

ストレージ アカウントの作成Create a storage account

  1. Azure ポータルにサインインします。Sign in to Azure portal.

  2. BLOB ストレージを作成するには、 [リソースの作成] を選択します。To create a Blob storage, select Create a resource.

    リソースの作成

  3. 使用可能なオプションをフィルター選択するために [ストレージ] を選択し、 [ストレージ アカウント - Blob、File、Table、Queue] を選択します。Select for Storage to filter the available options, and select Storage account - blob, file, table, queue.

    [ストレージ] を選択する

  4. イベントに対してサブスクライブするには、汎用 v2 ストレージ アカウントまたは BLOB ストレージ アカウントのどちらかを作成します。To subscribe to events, create either a general-purpose v2 storage account or a Blob storage account. 詳しくは、「ストレージ アカウントの作成」をご覧ください。For more information, see Create a storage account.

    手順の開始

メッセージ エンドポイントの作成Create a message endpoint

BLOB ストレージのイベントをサブスクライブする前に、イベント メッセージのエンドポイントを作成しましょう。Before subscribing to the events for the Blob storage, let's create the endpoint for the event message. 通常、エンドポイントは、イベント データに基づくアクションを実行します。Typically, the endpoint takes actions based on the event data. このクイック スタートを簡素化するために、イベント メッセージを表示する構築済みの Web アプリをデプロしします。To simplify this quickstart, you deploy a pre-built web app that displays the event messages. デプロイされたソリューションには、App Service プラン、App Service Web アプリ、および GitHub からのソース コードが含まれています。The deployed solution includes an App Service plan, an App Service web app, and source code from GitHub.

  1. [Deploy to Azure](Azure にデプロイ) を選択して、ソリューションをサブスクリプションにデプロイします。Select Deploy to Azure to deploy the solution to your subscription. Azure portal で、パラメーターの値を指定します。In the Azure portal, provide values for the parameters.

  2. デプロイが完了するまでに数分かかる場合があります。The deployment may take a few minutes to complete. デプロイが成功した後で、Web アプリを表示して、実行されていることを確認します。After the deployment has succeeded, view your web app to make sure it's running. Web ブラウザーで https://<your-site-name>.azurewebsites.net にアクセスしますIn a web browser, navigate to: https://<your-site-name>.azurewebsites.net

  3. サイトは表示されますが、イベントはまだ送信されていません。You see the site but no events have been posted to it yet.

    新しいサイトを表示する

Event Grid リソース プロバイダーを有効にするEnable Event Grid resource provider

Azure サブスクリプションで Event Grid を使用したことがない場合は、Event Grid リソース プロバイダーを登録する必要がある可能性があります。If you haven't previously used Event Grid in your Azure subscription, you may need to register the Event Grid resource provider.

Azure Portal で次の操作を行います。In the Azure portal:

  1. [サブスクリプション] を選択します。Select Subscriptions.
  2. Event Grid に使用するサブスクリプションを選択します。Select the subscription you're using for Event Grid.
  3. [設定] で、 [リソース プロバイダー] を選択します。Under Settings, select Resource providers.
  4. Microsoft.EventGrid を探します。Find Microsoft.EventGrid.
  5. 登録されていない場合は、 [登録] を選択します。If not registered, select Register.

登録完了まで少し時間がかかることがあります。It may take a moment for the registration to finish. [最新の情報に更新] を選択して、状態を更新します。Select Refresh to update the status. [状態][登録済み] に になったら、次に進めることができます。When Status is Registered, you're ready to continue.

BLOB ストレージのサブスクライブSubscribe to the Blob storage

どのイベントを追跡し、どこにイベントを送信するかは、トピックを購読することによって Event Grid に伝えます。You subscribe to a topic to tell Event Grid which events you want to track, and where to send the events.

  1. ポータルで、対象の BLOB ストレージを選択し、 [イベント] を選択します。In the portal, select your blob storage and select Events.

    [イベント] を選択する

  2. イベントをビューアー アプリに送信するには、エンドポイントの Web hook を使用します。To send events to your viewer app, use a web hook for the endpoint. [その他のオプション] を選択し、 [webhook] を選択します。Select More Options, and Web Hook.

    [webhook] を選択する

  3. イベント サブスクリプションには、BLOB ストレージの値があらかじめ入力されています。The event subscription is prefilled with values for your Blob storage. Web hook エンドポイントに対して、Web アプリの URL を入力し、ホーム ページの URL に api/updates を追加します。For the web hook endpoint, provide the URL of your web app and add api/updates to the home page URL. サブスクリプションに名前を付けます。Give your subscription a name. 完了したら、 [作成] を選択します。When done, select Create.

    ログの選択

  4. Web アプリをもう一度表示し、その Web アプリにサブスクリプションの検証イベントが送信されたことに注目します。View your web app again, and notice that a subscription validation event has been sent to it. 目のアイコンを選択してイベント データを展開します。Select the eye icon to expand the event data. Event Grid は検証イベントを送信するので、エンドポイントはイベント データを受信することを確認できます。Event Grid sends the validation event so the endpoint can verify that it wants to receive event data. Web アプリには、サブスクリプションを検証するコードが含まれています。The web app includes code to validate the subscription.

    サブスクリプション イベントの表示

では、イベントをトリガーして、Event Grid がメッセージをエンドポイントに配信するようすを見てみましょう。Now, let's trigger an event to see how Event Grid distributes the message to your endpoint.

エンドポイントへのイベントの送信Send an event to your endpoint

BLOB ストレージのイベントをトリガーするには、ファイルをアップロードします。You trigger an event for the Blob storage by uploading a file. このファイルは、特定のコンテンツを必要としません。The file doesn't need any specific content. この記事では、testfile.txt という名前のファイルがあると仮定していますが、任意のファイルを使用できます。The articles assumes you have a file named testfile.txt, but you can use any file.

  1. BLOB ストレージのために、 [BLOB] を選択します。For your Blob storage, select Blobs.

    BLOB の選択

  2. [+ コンテナー] を選択します。Select + Container. コンテナーに名前を付け、任意のアクセス レベルを使用します。Give you container a name, and use any access level.

    コンテナーの追加

  3. 新しいコンテナーを選択します。Select your new container.

    コンテナーの選択

  4. ファイルをアップロードするには、 [アップロード] を選択します。To upload a file, select Upload.

    [アップロード] を選択する

  5. テスト ファイルを参照し、それをアップロードします。Browse to your test file and upload it.

  6. 以上でイベントがトリガーされ、そのメッセージが、Event Grid によってサブスクライブ時に構成したエンドポイントに送信されました。You've triggered the event, and Event Grid sent the message to the endpoint you configured when subscribing. メッセージは JSON 形式であり、1 つまたは複数のイベントの配列が含まれています。The message is in the JSON format and it contains an array with one or more events. 次の例の JSON メッセージには、1 つのイベントの配列が含まれています。In the following example, the JSON message contains an array with one event. Web アプリを表示して、BLOB 作成イベントが受信されたことを確認します。View your web app and notice that a blob created event was received.

    [{
     "topic": "/subscriptions/{subscription-id}/resourceGroups/eventgroup/providers/Microsoft.Storage/storageAccounts/demoblob0625",
     "subject": "/blobServices/default/containers/eventcontainer/blobs/testfile.txt",
     "eventType": "Microsoft.Storage.BlobCreated",
     "eventTime": "2018-06-25T22:50:41.1823131Z",
     "id": "89a2f9da-c01e-00bb-13d6-0c599506e4e3",
     "data": {
       "api": "PutBlockList",
       "clientRequestId": "41341a9b-e977-4a91-9000-c64125039047",
       "requestId": "89a2f9da-c01e-00bb-13d6-0c5995000000",
       "eTag": "0x8D5DAEE13C8F9ED",
       "contentType": "text/plain",
       "contentLength": 4,
       "blobType": "BlockBlob",
       "url": "https://demoblob0625.blob.core.windows.net/eventcontainer/testfile.txt",
       "sequencer": "00000000000000000000000000001C24000000000004712b",
       "storageDiagnostics": {
         "batchId": "ef633252-32fd-464b-8f5a-0d10d68885e6"
       }
     },
     "dataVersion": "",
     "metadataVersion": "1"
    }]
    

リソースのクリーンアップClean up resources

引き続きこのイベントを使用する場合は、この記事で作成したリソースをクリーンアップしないでください。If you plan to continue working with this event, don't clean up the resources created in this article. それ以外の場合は、この記事で作成したリソースを削除してください。Otherwise, delete the resources you created in this article.

リソース グループを選択し、 [リソース グループの削除] を選択します。Select the resource group, and select Delete resource group.

次の手順Next steps

カスタム トピックを作成し、イベントをサブスクライブする方法がわかったら、Event Grid でできることについて、さらに情報を収集しましょう。Now that you know how to create custom topics and event subscriptions, learn more about what Event Grid can help you do: