共用方式為


將 Azure 事件方格系統主題重新放置到另一個區域

本文涵蓋將 Azure 事件方格系統主題重新放置到另一個區域的建議方法、指導方針及做法。

有各種原因讓您想要將現有的 Azure 資源從某個區域移至另一個區域。 您可能想要:

  • 利用新的 Azure 區域。
  • 只部署特定區域中可用的功能或服務。
  • 符合內部原則和治理需求。
  • 與公司合併和收購保持一致
  • 符合容量規劃需求。

以下是本文涵蓋的高階步驟:

  • 將包含 Azure 儲存體帳戶及其相關系統主題的資源群組匯出至 Resource Manager 範本。 您也可以只匯出系統主題的範本。 如果您採用此路由,請記得先將 Azure 事件來源 (在此範例中為 Azure 儲存體帳戶) 移至另一個區域,再移動系統主題。 然後,在為系統主題匯出的範本中,更新儲存體帳戶在目標區域中的外部識別碼。
  • 修改範本以新增 endpointUrl 屬性,使其指向訂閱系統主題的 Webhook。 匯出系統主題時,其訂用帳戶 (在此案例中為 Webhook) 也會匯出至範本,但不包含 endpointUrl 屬性。 因此,您必須加以更新,以指向訂閱主題的端點。 此外,將 location 屬性的值更新為新的位置或區域。 對於其他類型的事件處理常式,您只需要更新位置。
  • 使用範本部署資源至目標區域。 您將指定要在目標區域中建立的儲存體帳戶和系統主題的名稱。
  • 驗證部署。 確認當您將檔案上傳至目標區域中的 Blob 儲存體時,會叫用 Webhook。
  • 若要完成移動,請從來源區域刪除資源 (事件來源和系統主題)。

必要條件

準備

首先,請匯出包含系統事件來源 (Azure 儲存體帳戶) 及其相關系統主題之資源群組的 Resource Manager 範本。

  1. 登入 Azure 入口網站

  2. 選取左功能表上的 [資源群組]。 然後,選取您為其建立系統主題的事件來源所屬的資源群組。 在下列範例中,這是 Azure 儲存體帳戶。 資源群組包含儲存體帳戶及其相關聯的系統主題。

    資源群組頁面的螢幕擷取畫面。

  3. 在左側功能表上,選取 [設定] 底下的 [匯出範本],然後選取工具列上的 [下載]

    儲存體帳戶 - 匯出範本頁面的螢幕擷取畫面。

  4. 找出您從入口網站下載的 .zip 檔案,然後將該檔案解壓縮至您選擇的資料夾。 此 ZIP 檔案包含範本和參數 JSON 檔案。

  5. 在選擇的編輯器中,開啟 [template.json]

  6. Webhook 的 URL 不會匯出至範本。 因此,請執行下列步驟:

    1. 在範本檔案中,搜尋 WebHook

    2. 在 [屬性] 區段中,於最後一行的結尾處加上逗號 (,) 字元。 在此範例中為 "preferredBatchSizeInKilobytes": 64

    3. 新增 endpointUrl 屬性,並將其值設定為您的 Webhook URL,如下列範例所示。

      "destination": {
          "properties": {
              "maxEventsPerBatch": 1,
              "preferredBatchSizeInKilobytes": 64,
              "endpointUrl": "https://mysite.azurewebsites.net/api/updates"
          },
          "endpointType": "WebHook"
      }
      

      注意

      對於其他類型的事件處理常式,所有屬性都會匯出至範本。 您只需要將 location 屬性更新至目標區域,如下一個步驟所示。

  7. 儲存體帳戶資源的 location 更新至目標區域或位置。 若要取得位置代碼,請參閱 Azure 位置。 區域名稱除去空格即為區域代碼,例如,West US 即為 westus

    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2019-06-01",
    "name": "[parameters('storageAccounts_spegridstorage080420_name')]",
    "location": "westus",
    
  8. 重複前述步驟,以更新範本中系統主題資源的 location

    "type": "Microsoft.EventGrid/systemTopics",
    "apiVersion": "2020-04-01-preview",
    "name": "[parameters('systemTopics_spegridsystopic080420_name')]",
    "location": "westus",
    
  9. 儲存範本。

重新部署

部署範本,以在目標區域中建立儲存體帳戶和儲存體帳戶的系統主題。

  1. 在 Azure 入口網站中,選取 [建立資源]
  2. 在 [搜尋 Marketplace] 中,輸入範本部署,然後按 ENTER
  3. 選取 [範本部署]
  4. 選取 建立
  5. 選取 [在編輯器中組建您自己的範本]
  6. 選取 [載入檔案],然後依照指示來載入您在上一節中下載的範本 template.json 檔案。
  7. 選取 [儲存] 以儲存範本。
  8. 在 [自訂部署] 頁面上,依照下列步驟執行。
    1. 選取 Azure 訂用帳戶

    2. 在目標區域選取現有的資源群組,或建立資源群組。

    3. 針對 [區域],請選取目標區域。 如果您選取現有的資源群組,這項設定會是唯讀狀態。

    4. 針對 [系統主題名稱],輸入將與儲存體帳戶相關聯的系統主題名稱。

    5. 針對 [儲存體帳戶名稱],輸入要在目標區域中建立之儲存體帳戶的名稱。

      部署 Resource Manager 範本頁面的螢幕擷取畫面。

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

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

Verify

  1. 部署成功之後,選取 [移至資源群組]
  2. 在 [資源群組] 頁面上,確認事件來源 (在此範例中為 Azure 儲存體帳戶) 和系統主題已建立。
  3. 將檔案上傳至 Azure Blob 儲存體中的容器,並確認 Webhook 已收到事件。 如需詳細資訊,請參閱將事件傳送至您的端點

捨棄或清除

若要完成移動,請刪除來源區域中的儲存體帳戶及其相關聯的系統主題所屬的資源群組。

如果您要重新開始,請刪除目標區域中的資源群組,並重複本文準備重新建立小節中的步驟。

若要使用 Azure 入口網站來刪除資源群組 (來源或目標):

  1. 在 Azure 入口網站頂端的搜尋視窗中,輸入資源群組,然後從搜尋結果選取 [資源群組]

  2. 選取要刪除的資源群組,然後從工具列選取 [刪除]

    刪除資源群組的螢幕擷取畫面。

  3. 在 [確認] 頁面上,輸入資源群組的名稱,然後選取 [刪除]。