適用於:取用 | 開發人員 | 基本 | 標準 | 進階
「API 管理」能與「Azure 事件方格」整合,讓您能夠將事件通知傳送給其他服務並觸發下游程序。 事件方格是一個完全受控的事件路由服務,這使用發佈-訂閱模型。 事件方格內建支援 Azure Functions 和 Azure Logic Apps 等 Azure 服務,並可使用 Webhook 將事件警示傳遞給非 Azure 服務。
您可以訂閱下列類型的 API 管理事件:
- 控制平面事件:當您建立、更新或刪除特定 API 管理資源時,會產生這些事件。 例如,您可以在 API 管理實例中建立新使用者或新產品時收到事件。
- 數據平面事件 (預覽):這些事件會在 API 管理閘道的作業期間產生。 目前,API 管理可以針對 後端斷路器 和自我裝載閘道 存取令牌的生命週期產生事件。
如需可用事件的完整清單,請參閱 API 管理的事件方格架構。
例如,使用與 Event Grid 整合,您可以組建應用程式來更新資料庫、建立帳單帳戶,並在每次將使用者新增至 API 管理執行個體時傳送電子郵件通知。
在此文章中,您會訂閱 API 管理執行個體中的 Event Grid 事件、觸發事件,並將事件傳送至處理資料的端點。 為了保持簡單,您會將事件傳送至收集並顯示訊息的範例 Web 應用程式:
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱開始使用 Azure Cloud Shell。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能的詳細資訊,請參閱 使用和管理 Azure CLI 的擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
- 如果您沒有 API 管理服務,請完成下列快速入門:建立 Azure API 管理執行個體
- 在 API 管理執行個體中啟用系統指派的受控識別。
- 如果您沒有部署範例端點的資源群組,請建立資源群組。
建立事件端點
在本節中,您可以使用 Resource Manager 範本,來將預先建置的範例 Web 應用程式部署到 Azure App Service。 您稍後會訂閱 API 管理執行個體的事件方格事件,並指定此應用程式做為要將事件傳送至其中的端點。
若要部署範例應用程式,您可以使用 Azure CLI、Azure PowerShell 或 Azure 入口網站。 下列範例會在 Azure CLI 中使用 az deployment group create 命令。
將
RESOURCE_GROUP_NAME
設定為現有資源群組的名稱將
SITE_NAME
設定為 Web 應用程式的唯一名稱網站名稱在 Azure 中必須是唯一的,因為它會構成 Web 應用程式完整網域名稱 (FQDN) 的一部分。 在後續小節中,您會在網頁瀏覽器中瀏覽至應用程式的 FQDN,藉以檢視您的事件。
RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>
az deployment group create \
--resource-group $RESOURCE_GROUP_NAME \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
--parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan
成功部署之後 (可能需要幾分鐘的時間),開啟瀏覽器,然後瀏覽至您的 Web 應用程式以確定它正在執行:
https://<your-site-name>.azurewebsites.net
您應該會看到範例應用程式已呈現,且其中未顯示任何事件訊息。
註冊事件方格資源提供者
若您先前未曾使用過事件方格,您將必須註冊事件方格資源提供者。 如果您先前曾使用過事件方格,請跳到下一節。
在 Azure 入口網站中,執行下列步驟:
選取左側功能表上的 [訂用帳戶]。
從訂用帳戶清單中選取您要用於事件方格的訂用帳戶。
在 [訂用帳戶] 頁面上,在左側功能表的 [設定] 下方選取 [資源提供者]。
搜尋 [Microsoft.EventGrid],並確認 [狀態] 為 [未註冊]。
在提供者清單中選取 [Microsoft.EventGrid]。
在命令列上選取 [註冊]。
重新整理以確定 Microsoft.EventGrid 的狀態已變更為已註冊。
訂閱 API 管理事件
在事件方格中,您可以訂閱「主題」,以告知它您想要追蹤的事件,以及要將它們傳送至何處。 在這裡,您會在 API 管理執行個體中建立事件的訂閱。
在 Azure 入口網站中,瀏覽至您的 API 管理執行個體。
選取 [事件]> [+ 事件訂閱]。
在 [基本] 索引標籤上:
- 輸入事件訂閱的描述性名稱。
- 在 [事件種類] 中,選取要傳送至事件方格的一個或多個 API 管理事件類型。 如需此文章中的範例,請至少選取 Microsoft.APIManagement.ProductCreated
- 在 [端點詳細資料] 中,選取 [Webhook] 事件種類,按一下 [選取端點],然後輸入您的 Web 應用程式 URL,後面接著
api/updates
。 範例:https://myapp.azurewebsites.net/api/updates
。 - 選取 [確認選取項目]。
將其餘索引標籤上的設定保留為預設值,然後選取 [建立]。
觸發程序和檢視事件
現在,範例應用程式已啟動且正在執行,而您已使用事件方格來訂閱 API 管理執行個體,您已準備產生事件。
例如,在 API 管理執行個體中建立產品。 如果您的事件訂閱包含 Microsoft.APIManagement.ProductCreated 事件,則建立產品會觸發推送至 Web 應用程式端點的事件。
瀏覽至您的事件方格檢視器 Web 應用程式,而您應該會看到 ProductCreated
事件。 選取事件旁邊的按鈕以顯示詳細資料。
Event Grid 事件結構描述
API 管理事件資料包含 resourceUri
,可識別觸發事件的 API 管理資源。 如需 API 管理事件訊息結構描述的詳細資訊,請參閱事件方格文件:
相關內容
- 深入瞭解訂閱事件。