使用 Azure 事件方格 將 Blob 記憶體事件路由傳送至 Web 端點 (Azure 入口網站)
事件方格是完全受控的服務,可讓您輕鬆地跨許多不同的 Azure 服務和應用程式管理事件。 它可簡化建置事件驅動和無伺服器應用程式。 如需服務的概觀,請參閱 事件方格概觀。
在本文中,您會使用 Azure 入口網站 來執行下列工作:
- 建立 Blob 儲存體帳戶。
- 訂閱該 Blob 記憶體的事件。
- 將檔案上傳至 Blob 記憶體,以觸發事件。
- 在處理程式 Web 應用程式中檢視結果。 通常,您會將事件傳送至可處理事件資料及採取行動的端點。 為了保持簡單,您會將事件傳送至收集並顯示訊息的 Web 應用程式。
如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶。
當您完成時,您會看到事件資料已傳送至 Web 應用程式。
建立儲存體帳戶
登入 Azure 入口網站。
若要建立 Blob 記憶體,請選取 [建立資源]。
在 [搜尋] 中,輸入 儲存體 帳戶,然後從結果清單中選取 [儲存體 帳戶]。
在 [儲存體 帳戶] 頁面上,選取 [建立] 以開始建立記憶體帳戶。 若要訂閱事件,請建立一般用途 v2 儲存體帳戶或 Blob 記憶體帳戶。
在 [ 建立記憶體帳戶 ] 頁面上,執行下列步驟:
選取 Azure 訂閱。
針對 [ 資源群組],建立新的資源群組,或選取現有的資源群組。
輸入儲存體帳戶的名稱。
選取您要在其中建立記憶體帳戶的區域。
針對 [ 備援],從下拉式清單中選取 [本地備援記憶體 ][LRS ]。
選取 頁面底部的 [檢閱 ]。
在 [ 檢閱] 頁面上檢閱設定,然後選取 [ 建立]。
注意
只有類型為 儲存體 V2(一般用途 v2) 和 Blob 的記憶體帳戶 儲存體 支援事件整合。 儲存體 (一般用途 v1) 不支援與事件方格整合。
部署需要幾分鐘的時間才能完成。 在 [ 部署] 頁面上,選取 [移至資源]。
在 [儲存體 帳戶] 頁面上,選取左側功能表上的事件。
在網頁瀏覽器中保持此頁面開啟。
建立訊息端點
在訂閱 Blob 儲存體的事件之前,我們要先建立事件訊息的端點。 端點通常會根據事件資料來採取動作。 若要簡化此快速入門,請部署預先建置的 Web 應用程式以顯示事件訊息。 部署的解決方案包括 App Service 方案、App Service Web 應用程式,以及 GitHub 的原始程式碼。
選取 [部署至 Azure],將解決方案部署至您的訂用帳戶。
在 [ 自定義部署] 頁面上,執行下列步驟:
針對 [ 資源群組],選取您在建立記憶體帳戶時建立的資源群組。 藉由刪除資源群組,完成教學課程之後,您就能更輕鬆地清除。
針對 [網站名稱],輸入 Web 應用程式的名稱。
針對 [ 主控方案名稱],輸入用來裝載 Web 應用程式之 App Service 方案的名稱。
選取 [檢閱 + 建立]。
在 [檢閱 + 建立] 頁面上,選取 [建立]。
部署需要幾分鐘的時間才能完成。 在 [ 部署] 頁面上,選取 [移至資源群組]。
在 [ 資源群組 ] 頁面上的資源清單中,選取您建立的 Web 應用程式。 您也會在此清單中看到 App Service 方案和記憶體帳戶。
在 Web 應用程式的 [App Service ] 頁面上,選取要瀏覽至網站的 URL。 URL 應該是此格式:
https://<your-site-name>.azurewebsites.net
。確認您看到網站,但尚未張貼任何事件。
重要
讓 [Azure 事件方格 查看器] 視窗保持開啟,讓您可以在事件張貼時看到事件。
註冊事件方格資源提供者
除非您之前曾使用 Event Grid,否則您必須註冊事件方格資源提供者。 如果您之前已使用 Event Grid,請跳至下一節。
在 Azure 入口網站 中,執行下列步驟:
在左側功能表上,選取 [ 訂用帳戶]。
從訂用帳戶清單中選取您要用於事件方格的訂用帳戶。
在 [訂用帳戶] 頁面上,選取左側功能表上 設定 下的 [資源提供者]。
搜尋 Microsoft.EventGrid,並確認 [狀態 ] 為 [未註冊]。
在提供者清單中選取 [Microsoft.EventGrid ]。
選取 命令行上的 [註冊 ]。
重新整理以確定 Microsoft.EventGrid 的狀態已變更為 [已註冊]。
訂閱 Blob 記憶體
您可以訂閱主題,告知事件方格您想要追蹤的事件,以及傳送事件的位置。
如果您關閉 儲存體 帳戶頁面,請流覽至您稍早建立的 Azure 儲存體 帳戶。 在左側功能表上,選取 [所有資源 ],然後選取您的記憶體帳戶。
在 [儲存體 帳戶] 頁面上,選取左側功能表上的 [事件]。
選取 [更多選項] 和 [Web 勾點]。 您會使用端點的 Web 攔截,將事件傳送至查看器應用程式。
在 [ 建立事件訂閱 ] 頁面上,執行下列步驟:
輸入事件訂用帳戶的名稱。
輸入系統主題的名稱。 若要了解系統主題,請參閱系統主題概觀。
針對 [端點類型] 選取 [Web Hook]。
針對 [端點],選擇 [ 選取端點],然後輸入Web應用程式的URL並新增
api/updates
至首頁URL(例如:https://spegridsite.azurewebsites.net/api/updates
),然後選取 [ 確認選取專案]。現在,在 [ 建立事件訂閱] 頁面上,選取 [建立 ] 以建立事件訂閱。
再次檢視您的 Web 應用程式,並注意訂閱驗證事件是否已傳送至其中。 選取眼睛圖示以展開事件資料。 事件方格會傳送驗證事件,以便端點確認接收事件資料。 Web 應用程式包括用於驗證訂閱的程式碼。
現在,讓我們觸發事件以了解 Event Grid 如何將訊息散發至您的端點。
將事件傳送至您的端點
您可以藉由上傳檔案來觸發 Blob 儲存體的事件。 此檔案不需要任何特定內容。
在 Azure 入口網站 中,流覽至您的 Blob 記憶體帳戶,然後選取 [允許] 功能表上的 [容器]。
選取 [+ 容器]。 為您的容器指定名稱,並使用任何存取層級,然後選取 [ 建立]。
選取您的新容器。
若要上傳檔案,請選取 [ 上傳]。 在 [ 上傳 Blob ] 頁面上,瀏覽並選取您要上傳以進行測試的檔案,然後選取該頁面上的 [ 上傳 ]。
流覽至您的測試檔案並上傳。
您已觸發此事件,而 Event Grid 會將訊息傳送至您在訂閱時設定的端點。 訊息為 JSON 格式,且其包含具有一或多個事件的陣列。 在下列範例中,JSON 訊息會包含具有單一事件的陣列。 檢視您的 Web 應用程式,並注意到 已收到 Blob 建立 的事件。
清除資源
如果您打算繼續處理此事件,請勿清除本文中建立的資源。 否則,請刪除您在本文中建立的資源。
選取資源群組,然後選取 [ 刪除資源群組]。
下一步
既然您已瞭解如何建立自定義主題和事件訂用帳戶,請深入瞭解事件方格可協助您執行的動作: