適用於:所有 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 管理執行個體的記錄,其中顯示其 deletionDate
和 scheduledPurgeDate
,例如:
{
"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
這會傳回給定訂用帳戶中可取消刪除的所有虛刪除服務的清單,其中顯示每個服務的 deletionDate
和 scheduledPurgeDate
。
復原虛刪除的執行個體
使用 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 管理備份和復原選項: