共用方式為


使用命名空間主題將事件傳遞至 Azure 事件中樞 - Azure 入口網站

本文提供逐步指示,以 CloudEvents JSON 格式 將事件發佈至 Azure 事件方格,並使用推送傳遞模型傳遞這些事件。

具體來說,您可以使用 Azure 入口網站和 Curl 將事件發佈至事件方格中的命名空間主題,並將這些事件從事件訂用帳戶推送至事件中樞處理程式目的地。 如需推送傳遞模型的詳細資訊,請參閱 推送傳遞概觀

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

建立事件方格命名空間

事件方格命名空間會提供您張貼事件的使用者定義端點。 下列範例會使用 Azure Cloud Shell 中的 Bash,在您的資源群組中建立命名空間。 命名空間名必須是唯一的,因為它是域名系統 (DNS) 條目的一部分。

  1. 瀏覽至 Azure 入口網站。

  2. 在主題的搜尋欄中,輸入 Event Grid Namespaces,然後從結果中選取 Event Grid Namespaces

    顯示 Azure 入口網站中搜尋列的螢幕快照。

  3. 在 [ 事件方格命名空間] 頁面上,選取命令行上的 [+ 建立 ]。 顯示 [事件方格命名空間] 頁面的螢幕快照,其中包含已選取命令行上的 [建立] 按鈕。

  4. 在 [建立命名空間] 頁面上,遵循下列步驟:

    1. 選取您要在其中建立命名空間的 [Azure 訂用帳戶]
    2. 選取 [ 新建 ] 或選取現有的資源群組,以建立新的資源群組。
    3. 輸入命名空間的名稱
    4. 選取您要建立資源群組 的位置
    5. 然後,選取 [檢閱 + 建立]
      顯示 [建立命名空間] 頁面的螢幕快照。
    6. 在 [檢閱 + 建立] 頁面上,選取 [建立]
  5. 在 [ 部署] 頁面上,選取 [成功部署后 移至資源 ]。

取得存取金鑰

  1. 在 [ 事件方格命名空間] 頁面上,選取左側功能表上的 [存取密鑰 ]。
  2. 選取 存取金鑰旁的 [複製] 按鈕。 顯示 [事件方格命名空間] 頁面的螢幕擷取畫面,其中已選取 [存取金鑰] 索引標籤。
  3. 將存取金鑰儲存在某處。 您稍後會在本快速入門中使用此入口網站。

啟用事件方格命名空間的受控識別

在事件方格命名空間中啟用系統指派的受控識別。 若要使用受控識別將事件傳遞至事件中樞命名空間中的事件中樞,請遵循下列步驟:

  1. 啟用系統指派或使用者指派的受控識別: 命名空間。 繼續閱讀下一節,以瞭解如何使用 Azure CLI 啟用受控識別。
  2. 將身分識別新增至事件中樞命名空間上的 Azure 事件中樞數據傳送者 角色,繼續閱讀下一節,以尋找如何新增角色指派。
  3. 設定使用事件中樞作為端點的事件訂用帳戶,以使用系統指派或使用者指派的受控識別。

在本節中,您會在命名空間上啟用系統指派的受控識別。 您稍後會在本快速入門中執行其他步驟。

  1. 在 [ 事件方格命名空間] 頁面上,選取左側功能表上的 [ 身分識別 ]。

  2. 在 [身分識別] 頁面上,針對 [狀態] 選取 [開啟]。

  3. 選取命令列上的 [儲存]

    顯示 [事件方格命名空間] 頁面 [身分識別] 索引標籤的螢幕快照。

在命名空間中建立主題

建立主題,用來保存發佈至命名空間端點的所有事件。

  1. 在左側選單中選取主題
  2. 在 [ 主題] 頁面上,選取命令行上的 [+ 主題 ]。 顯示 [主題] 頁面的螢幕快照。
  3. 在 [ 建立主題] 頁面上,遵循下列步驟:
    1. 輸入主題的名稱
    2. 選取 ,創建
      顯示 [建立主題] 頁面的螢幕快照。

建立事件中樞命名空間

建立事件中樞資源,以用作命名空間主題推送傳遞訂用帳戶的處理常式目的地。 請在因特網瀏覽器的個別索引標籤或個別視窗中執行這些步驟。 流覽至 Azure 入口網站,並使用您之前和相同 Azure 訂用帳戶所使用的相同認證登入。

  1. 在搜尋列中輸入 事件中樞 ,然後選取 [事件中樞]。
  2. 在 [ 事件中樞] 頁面上,選取命令行上的 [+ 建立 ]。
  3. 在 [ 建立命名空間] 頁面上,遵循下列步驟:
    1. 選擇您用來建立事件方格命名空間的 Azure 訂閱
    2. 選取您稍早使用 的資源群組
    3. 輸入事件中樞命名空間 的名稱
    4. 選取您用於事件方格命名空間的相同 位置
    5. 選擇基本以設定定價層。
    6. 選擇 檢閱 + 創建 顯示 [建立事件中樞命名空間] 頁面的螢幕快照。
    7. [檢閱] 頁面上,選取 [建立]
  4. 部署 頁面上,部署成功後,選取 移至資源

將事件方格受控識別新增至事件中樞資料傳送者角色

  1. 在 [事件中樞命名空間] 頁面上,選取左側功能表上的 [存取控制 (IAM)]
  2. 選取命令列上的 新增 ->新增角色指派 此截圖顯示 [事件中樞命名空間] 頁面,且已選取 [存取控制] 索引標籤。
  3. 在 [ 新增角色指派 ] 頁面上,搜尋 事件中樞數據傳送者,然後從角色清單中選取 [Azure 事件中樞數據發件者 ],然後選取 [ 下一步]。 顯示 [新增角色指派] 頁面的螢幕快照。
  4. 在 [ 成員] 索引標籤中,選取類型的 [受控識別 ],然後選取 [ + 選取成員]。 顯示 [新增角色指派] 頁面 [成員] 索引標籤的螢幕快照。
  5. 在 [選取受控識別] 頁面上,選取受控識別的事件方格命名空間,然後選取與事件方格命名空間同名的受控識別。 顯示 [選取受控識別] 頁面的螢幕快照。
  6. 在 [ 選取受控識別 ] 頁面上,選擇 [ 選取]。 顯示所選受控識別的螢幕快照。
  7. 現在,在 [新增角色指派] 頁面上,選取 [檢閱 + 指派] 顯示 [新增角色指派] 頁面的螢幕擷取畫面,其中已選取 [受控識別]。
  8. 在 [檢閱 + 指派] 頁面,選取 [檢閱 + 指派]

建立事件中樞

  1. 事件中樞命名空間 頁面上,選取左側功能表上的 事件中樞
  2. 事件中樞 頁面上,選取功能列上的 + 事件中樞 顯示 [事件中樞] 頁面的螢幕擷取畫面,其中已選取 [+ 事件中樞]。
  3. 在 [ 建立事件中樞 ] 頁面上,輸入事件中樞的名稱,然後選取 [ 檢閱 + 建立]。 顯示 [建立事件中樞] 頁面的螢幕快照。
  4. 在 [檢閱 + 建立] 頁面上,選取 [建立]

建立事件訂閱

建立事件訂閱,將其傳遞模式設定為 Push,其支援 推送傳遞

  1. 從使用 [事件中樞命名空間] 頁面開啟的索引標籤或 視窗,切換至使用 [事件方格命名空間] 頁面開啟的索引標籤或視窗。
  2. 在 [事件方格命名空間] 頁面上,選取左側功能表上的 [主題]
  3. 在 [ 主題] 頁面上,選取您在上一個步驟中建立的主題。
  4. 選取命令行上的 [+ 訂用帳戶 ]。 顯示已選取 [建立訂用帳戶] 按鈕之 [主題] 頁面的螢幕快照。
  5. 在 [建立事件訂閱] 頁面上,遵循下列步驟:
    1. 在 [ 基本] 索引標籤中,輸入事件訂閱 的名稱
    2. 選擇 推送 作為事件傳遞模式。
    3. 確認已針對端點類型選取事件中樞
    4. 選取 [設定端點] 顯示 [建立訂閱] 頁面的螢幕快照,頁面上將 [推送] 選為傳遞模式。
    5. 在 [ 選取事件中樞 ] 頁面上,遵循下列步驟:
      1. 選取具有事件中樞的Azure 訂閱資源群組
      2. 選取 事件中樞命名空間事件中樞
      3. 然後,選取 [確認選取項目] 顯示 [選取事件中樞] 頁面的螢幕快照。
    6. 回到 [建立訂用帳戶] 頁面,針對 [受控識別類型] 選取 [系統指派] 顯示 [建立訂用帳戶] 頁面的螢幕擷取畫面,其中已針對 [受控識別類型] 設定 [系統指派]。
    7. 選取 ,創建

將事件傳送至您的主題

現在,依照本節中的步驟,將範例事件傳送至命名空間主題。

  1. 在 Azure 入口網站中啟動 Cloud Shell。 切換至 Bash

    顯示 Cloud Shell 的螢幕快照。

  2. 在 Cloud Shell 中,執行下列命令來宣告變數來保存命名空間的存取金鑰。 您稍早在本快速入門中記下此存取金鑰。

    key=ACCESSKEY
    
  3. 宣告要保存發行作業 URI 的變數。 將 NAMESPACENAME 取代為您的事件方格命名空間的名稱,將 TOPICNAME 取代為主題的名稱。

    publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
    
  4. 建立符合 CloudEvents 規範事件的 範例:

    event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
    

    data 元素是您事件的負載。 任何語式正確的 JSON 都可以進入這個欄位。 如需可在事件中執行之屬性(也稱為內容屬性)的詳細資訊,請參閱 CloudEvents 規格。

  5. 使用 CURL 將事件傳送至主題。 CURL 是可傳送 HTTP 要求的公用程式。

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

    流覽至 Azure 入口網站中的 [ 事件中樞命名空間] 頁面 ,重新整理頁面,並確認圖表中的傳入訊息計數器指出已收到事件。

    顯示事件中樞頁面的螢幕快照,其中顯示已收到事件的圖表。

後續步驟

在本文中,您已建立並設定事件方格命名空間和事件中樞資源。 如需從事件中樞接收事件的逐步說明,請參閱下列教程: