分享方式:


API 管理虛刪除 (預覽)

適用於:所有 API 管理 層

透過 API 管理虛刪除,您可以復原和還原最近刪除的 API 管理執行個體。 此功能可防止意外刪除 API 管理執行個體。

目前,視您刪除 API 管理執行個體的方式而定,執行個體可能是虛刪除且在保留期間可復原,不然就是永久刪除:

  • 使用 Azure 入口網站或 REST API 2020-06-01-preview 或更新版本刪除 API 管理執行個體時,即為虛刪除
  • 使用 2020-06-01-preview 之前的 REST API 版本刪除的 API 管理執行個體會永久刪除
  • 在 Azure PowerShell 或 Azure CLI 中使用 API 管理命令刪除的 API 管理執行個體為虛刪除

支援介面

透過 REST API 2020-06-01-preview 或更新版本,或適用於 .NET、Go 或 Python 的 Azure SDK,可對虛刪除的執行個體執行復原和其他作業。

提示

請參閱 Azure REST API 參考以取得呼叫 Azure REST API 的秘訣和工具,以及參閱 API 管理 REST 以取得 API 管理特有的其他資訊。

作業 描述 API 管理命名空間 最低 API 版本
建立或更新 建立或更新 API 管理服務。 API 管理服務 任意
建立或更新restore 屬性設定為 true 復原 (取消刪除) 先前虛刪除的 API 管理服務。 如果指定 restore 並設定為 true,則會忽略其他所有屬性。 API 管理服務 2020-06-01-preview
刪除 刪除現有的 API 管理服務。 API 管理服務 2020-06-01-preview
依名稱取得 依名稱取得虛刪除的 API 管理服務。 已刪除的服務 2020-06-01-preview
依訂用帳戶列出 列出給定訂用帳戶中可取消刪除的所有虛刪除的服務。 已刪除的服務 2020-06-01-preview
清除 清除 API 管理服務 (永久刪除,不允許取消刪除)。 已刪除的服務 2020-06-01-preview

虛刪除行為

您可以使用任何 API 版本來建立 API 管理執行個體。 使用 Azure 入口網站、Azure REST API 或另一個使用 API 2020-06-01-preview 或更新版本的 Azure 工具來刪除 API 管理執行個體時,即自動虛刪除。

虛刪除 API 管理執行個體時,服務會處於已刪除狀態,因此無法供一般 API 管理作業存取。

處於虛刪除狀態:

  • 只能列出復原清除 (永久刪除) API 管理執行個體。
  • Azure 排定在預先決定的保留期間 (48 小時) 之後,永久刪除對應至 API 管理執行個體的基礎資料。
  • 您無法重複使用 API 管理執行個體的名稱。

如果在 48 小時內未復原或清除 API 管理執行個體,則自動永久刪除。

列出已刪除的 API 管理執行個體

您可以使用「已刪除的服務」依名稱取得依訂用帳戶列出作業,確認可還原 (取消刪除) 虛刪除的 API 管理執行個體。

依名稱取得虛刪除的執行個體

使用 API 管理依名稱取得作業,並將 {subscriptionId}{location}{serviceName} 換成您的 Azure 訂用帳戶、資源位置名稱和 API 管理執行個體名稱:

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}?api-version=2021-08-01

如果可取消刪除,Azure 會傳回 API 管理執行個體的記錄,其中顯示其 deletionDatescheduledPurgeDate,例如:

{
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ApiManagement/locations/southcentralus/deletedservices/apimtest",
    "name": "apimtest",
    "type": "Microsoft.ApiManagement/deletedservices",
    "location": "South Central US",
    "properties": {
        "serviceId": "/subscriptions/########-####-####-####-############/resourceGroups/apimtestgroup/providers/Microsoft.ApiManagement/service/apimtest",
        "scheduledPurgeDate": "2021-11-26T19:40:26.3596893Z",
        "deletionDate": "2021-11-24T19:40:50.1013572Z"
    }
}

列出給定訂用帳戶的所有虛刪除的執行個體

使用 API 管理依訂用帳戶列出作業,並將 {subscriptionId} 換成您的訂用帳戶識別碼:

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/deletedservices?api-version=2021-08-01

這會傳回給定訂用帳戶中可取消刪除的所有虛刪除服務的清單,其中顯示每個服務的 deletionDatescheduledPurgeDate

復原虛刪除的執行個體

使用 API 管理建立或更新作業,並將 {subscriptionId}{resourceGroup}{apimServiceName} 換成您的 Azure 訂用帳戶、資源群組名稱和 API 管理名稱:

PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01

. . . 並在要求本文中將 restore 屬性設定為 true。 (指定此旗標並設定為 true 時,將會忽略其他所有屬性。)例如:

{
  "properties": {
    "publisherEmail": "help@contoso.com",
    "publisherName": "Contoso",
    "restore": true
  },
  "sku": {
    "name": "Developer",
    "capacity": 1
  },
  "location": "South Central US"
}

清除虛刪除的執行個體

使用 API 管理清除作業,並將 {subscriptionId}{location}{serviceName} 換成您的 Azure 訂用帳戶、資源位置和 API 管理名稱。

注意

若要清除虛刪除的執行個體,除了 API 管理執行個體的「參與者」存取權限之外,您還必須具有訂用帳戶範圍的下列 RBAC 權限:Microsoft.ApiManagement/locations/deletedservices/delete, Microsoft.ApiManagement/deletedservices/read。

DELETE https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}?api-version=2021-08-01

這會從 Azure 永久刪除 API 管理執行個體。

刪除之後重複使用 API 管理執行個體名稱

可以在新的部署中,重複使用 API 管理執行個體的名稱:

  • 從 Azure 永久刪除 (清除)執行個體之後。

  • 在與原始執行個體相同的訂用帳戶中。

無法在新的部署中,重複使用 API 管理執行個體的名稱:

  • 當執行個體遭到虛刪除時。

  • 在用於部署原始執行個體之訂用帳戶以外的訂用帳戶中,即使在原始執行個體已從 Azure 永久刪除 (清除) 後也是如此。 無論使用的新訂用帳戶位於相同或不同的 Microsoft Entra 租用戶中,此限制均適用。 此限制在刪除後的幾天或更長的時間內有效,具體取決於訂用帳戶類型。

    此限制是因為 Azure 將服務主機名稱保留給客戶的租用戶一段保留期間,以防止 DNS 項目懸置導致子網域接管的威脅。 如需詳細資訊,請參閱防止 DNS 項目懸置並避免子網域接管。 若要查看 Microsoft Entra 租用戶中訂用帳戶的所有懸置 DNS 項目,請參閱識別懸置 DNS 項目

下一步

了解長期 API 管理備份和復原選項: