天天看點

【Azure API 管理】APIM服務資源删除後,為什麼不能馬上建立相同名稱的APIM服務呢?

問題描述

使用Azure APIM服務,在删除舊資源準備建立相同名稱的新APIM服務時,嘗試多次都是出現“指定的服務名稱已正在使用”錯誤。但實際上同名稱的服務已經被删除。為什麼多次重建還是提示正在使用呢?

【Azure API 管理】APIM服務資源删除後,為什麼不能馬上建立相同名稱的APIM服務呢?

問題解答

這是因為APIM服務自動啟用了軟删除(Soft-Delete)功能。 在删除 API 管理執行個體時,APIM服務将處于已删除狀态,任何正常的 API 管理操作都無法通路該服務。

在軟删除狀态下:

  • 隻能列出、恢複或清除(永久删除)API 管理執行個體。
  • 在經過預先确定的保留期(48 小時)後,Azure 将指派系統永久删除 API 管理執行個體所對應的底層資料。
  • 不能重複使用 API 管理執行個體的名稱。

如果未在 48 小時内恢複或清除 API 管理執行個體,則系統會自動将其永久删除。

是以,如果要重新建立同名的APIM服務,可以等待48小時後,或者是通過清除方法( Purge a soft-deleted instance ) 來實作清除APIM服務。

Purge a soft-deleted Instance:

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

PS:  Authorization 可以通過 Azure 門戶上 F12 (開發者模式) 下抓取操作APIM服務的請求所使用Authrozation值也可以!​

參考資料

APIM Soft-delete behavior : ​​https://docs.microsoft.com/en-us/azure/api-management/soft-delete#soft-delete-behavior​​

Deleted Services - Purge :​​https://docs.microsoft.com/en-us/rest/api/apimanagement/current-ga/deleted-services/purge?tabs=HTTP​​