使用 Azure 事件方格 將 Blob 記憶體事件路由傳送至 Web 端點 (Azure 入口網站)

事件方格是完全受控的服務,可讓您輕鬆地跨許多不同的 Azure 服務和應用程式管理事件。 它可簡化建置事件驅動和無伺服器應用程式。 如需服務的概觀,請參閱 事件方格概觀

在本文中,您會使用 Azure 入口網站 來執行下列工作:

  1. 建立 Blob 儲存體帳戶。
  2. 訂閱該 Blob 記憶體的事件。
  3. 將檔案上傳至 Blob 記憶體,以觸發事件。
  4. 在處理程式 Web 應用程式中檢視結果。 通常,您會將事件傳送至可處理事件資料及採取行動的端點。 為了保持簡單,您會將事件傳送至收集並顯示訊息的 Web 應用程式。

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

當您完成時,您會看到事件資料已傳送至 Web 應用程式。

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

建立儲存體帳戶

  1. 登入 Azure 入口網站

  2. 若要建立 Blob 記憶體,請選取 [建立資源]。

  3. 在 [搜尋] 中,輸入 儲存體 帳戶,然後從結果清單中選取 [儲存體 帳戶]。

    Screenshot showing the search for Storage account on the Create a resource page.

  4. [儲存體 帳戶] 頁面上,選取 [建立] 以開始建立記憶體帳戶。 若要訂閱事件,請建立一般用途 v2 儲存體帳戶或 Blob 記憶體帳戶。

  5. 在 [ 建立記憶體帳戶 ] 頁面上,執行下列步驟:

    1. 選取 Azure 訂閱。

    2. 針對 [ 資源群組],建立新的資源群組,或選取現有的資源群組。

    3. 輸入儲存體帳戶的名稱。

    4. 選取您要在其中建立記憶體帳戶的區域。

    5. 針對 [ 備援],從下拉式清單中選取 [本地備援記憶體 ][LRS ]。

    6. 選取 頁面底部的 [檢閱 ]。

      Screenshot showing the Create a storage account page.

    7. 在 [ 檢閱] 頁面上檢閱設定,然後選取 [ 建立]。

      注意

      只有類型為 儲存體 V2(一般用途 v2) 和 Blob 的記憶體帳戶 儲存體 支援事件整合。 儲存體 (一般用途 v1) 不支援與事件方格整合。

  6. 部署需要幾分鐘的時間才能完成。 在 [ 部署] 頁面上,選取 [移至資源]。

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. [儲存體 帳戶] 頁面上,選取左側功能表上的事件。

    Screenshot showing the Events page for an Azure storage account.

  8. 在網頁瀏覽器中保持此頁面開啟。

建立訊息端點

在訂閱 Blob 儲存體的事件之前,我們要先建立事件訊息的端點。 端點通常會根據事件資料來採取動作。 若要簡化此快速入門,請部署預先建置的 Web 應用程式以顯示事件訊息。 部署的解決方案包括 App Service 方案、App Service Web 應用程式,以及 GitHub 的原始程式碼。

  1. 選取 [部署至 Azure],將解決方案部署至您的訂用帳戶。

    Button to deploy the Resource Manager template to Azure.

  2. 在 [ 自定義部署] 頁面上,執行下列步驟:

    1. 針對 [ 資源群組],選取您在建立記憶體帳戶時建立的資源群組。 藉由刪除資源群組,完成教學課程之後,您就能更輕鬆地清除。

    2. 針對 [網站名稱],輸入 Web 應用程式的名稱。

    3. 針對 [ 主控方案名稱],輸入用來裝載 Web 應用程式之 App Service 方案的名稱。

    4. 選取 [檢閱 + 建立]。

      Screenshot showing the Custom deployment page.

  3. 在 [檢閱 + 建立] 頁面上,選取 [建立]

  4. 部署需要幾分鐘的時間才能完成。 在 [ 部署] 頁面上,選取 [移至資源群組]。

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. 在 [ 資源群組 ] 頁面上的資源清單中,選取您建立的 Web 應用程式。 您也會在此清單中看到 App Service 方案和記憶體帳戶。

    Screenshot that shows the selection of web app in the resource group.

  6. Web 應用程式的 [App Service ] 頁面上,選取要瀏覽至網站的 URL。 URL 應該是此格式: https://<your-site-name>.azurewebsites.net

    Screenshot that shows the selection of link to navigate to web app.

  7. 確認您看到網站,但尚未張貼任何事件。

    View new site.

    重要

    讓 [Azure 事件方格 查看器] 視窗保持開啟,讓您可以在事件張貼時看到事件。

註冊事件方格資源提供者

除非您之前曾使用 Event Grid,否則您必須註冊事件方格資源提供者。 如果您之前已使用 Event Grid,請跳至下一節。

在 Azure 入口網站 中,執行下列步驟:

  1. 在左側功能表上,選取 [ 訂用帳戶]。

  2. 從訂用帳戶清單中選取您要用於事件方格的訂用帳戶。

  3. 在 [訂用帳戶] 頁面上,選取左側功能表上 設定 下的 [資源提供者]。

  4. 搜尋 Microsoft.EventGrid,並確認 [狀態 ] 為 [未註冊]。

  5. 在提供者清單中選取 [Microsoft.EventGrid ]。

  6. 選取 命令行上的 [註冊 ]。

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. 重新整理以確定 Microsoft.EventGrid 的狀態已變更為 [已註冊]。

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

訂閱 Blob 記憶體

您可以訂閱主題,告知事件方格您想要追蹤的事件,以及傳送事件的位置。

  1. 如果您關閉 儲存體 帳戶頁面,請流覽至您稍早建立的 Azure 儲存體 帳戶。 在左側功能表上,選取 [所有資源 ],然後選取您的記憶體帳戶。

  2. [儲存體 帳戶] 頁面上,選取左側功能表上的 [事件]。

  3. 選取 [更多選項] 和 [Web 勾點]。 您會使用端點的 Web 攔截,將事件傳送至查看器應用程式。

    Screenshot showing the selection of Web Hook on the Events page.

  4. 在 [ 建立事件訂閱 ] 頁面上,執行下列步驟:

    1. 輸入事件訂用帳戶的名稱

    2. 輸入系統主題的名稱。 若要了解系統主題,請參閱系統主題概觀

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. 針對 [端點類型] 選取 [Web Hook]。

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. 針對 [端點],選擇 [ 選取端點],然後輸入Web應用程式的URL並新增 api/updates 至首頁URL(例如: https://spegridsite.azurewebsites.net/api/updates),然後選取 [ 確認選取專案]。

    Screenshot showing the Select Web Hook page.

  6. 現在,在 [ 建立事件訂閱] 頁面上,選取 [建立 ] 以建立事件訂閱。

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. 再次檢視您的 Web 應用程式,並注意訂閱驗證事件是否已傳送至其中。 選取眼睛圖示以展開事件資料。 事件方格會傳送驗證事件,以便端點確認接收事件資料。 Web 應用程式包括用於驗證訂閱的程式碼。

    Screenshot showing the Event Grid Viewer with the subscription validation event.

現在,讓我們觸發事件以了解 Event Grid 如何將訊息散發至您的端點。

將事件傳送至您的端點

您可以藉由上傳檔案來觸發 Blob 儲存體的事件。 此檔案不需要任何特定內容。

  1. 在 Azure 入口網站 中,流覽至您的 Blob 記憶體帳戶,然後選取 [允許] 功能表上的 [容器]。

  2. 選取 [+ 容器]。 為您的容器指定名稱,並使用任何存取層級,然後選取 [ 建立]。

    Screenshot showing the New container page.

  3. 選取您的新容器。

    Screenshot showing the selection of the container.

  4. 若要上傳檔案,請選取 [ 上傳]。 在 [ 上傳 Blob ] 頁面上,瀏覽並選取您要上傳以進行測試的檔案,然後選取該頁面上的 [ 上傳 ]。

    Screenshot showing Upload blob page.

  5. 流覽至您的測試檔案並上傳。

  6. 您已觸發此事件,而 Event Grid 會將訊息傳送至您在訂閱時設定的端點。 訊息為 JSON 格式,且其包含具有一或多個事件的陣列。 在下列範例中,JSON 訊息會包含具有單一事件的陣列。 檢視您的 Web 應用程式,並注意到 已收到 Blob 建立 的事件。

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

清除資源

如果您打算繼續處理此事件,請勿清除本文中建立的資源。 否則,請刪除您在本文中建立的資源。

選取資源群組,然後選取 [ 刪除資源群組]。

下一步

既然您已瞭解如何建立自定義主題和事件訂用帳戶,請深入瞭解事件方格可協助您執行的動作: