削除したものと同じ名前のAPI Managementサービスを作成できないことがある

このエントリは2022/11/11現在の情報に基づいています。将来の機能追加や変更に伴い、記載内容との乖離が発生する可能性があります。

いつもの人から、タイトル通りの問い合わせが届いた。

Azure API Managementのインスタンスを作成したが、選択したSKUが所望のものではなかったので、Azure Portalから一旦削除してから再度同じ名前、異なるSKUで作成しようとしたところ、エラーになった。なぜ?

これは以下のドキュメントにある通り、論理削除状態になっているため。

API Management の論理的な削除 (プレビュー) / API Management soft-delete (preview)
https://learn.microsoft.com/azure/api-management/soft-delete

どうやら問い合わせ主はPortalで削除したために、論理削除になった結果、再作成時にエラーが発生したよう。

対処法

作成時のオプションは特にないので、削除時のみ注意する必要がある。

  • Portalで削除しない
  • Azure CLIやPowerShell、もしくは古いREST APIで削除する

でもPortalで削除したほうが楽(Resource Groupごと削除したい)ということもあるので、その場合は以下の手順を踏む必要がある。

1. REST API (Deleted Services – Get By Name) を使って論理削除されたAPI Managementインスタンスが存在することを確認

Deleted Services – Get By Name
https://learn.microsoft.com/rest/api/apimanagement/current-ga/deleted-services/get-by-name

2-(a) 別の REST API (Deleted Services – Purge) を使って、論理削除されたAPI Managementインスタンスを完全削除

Deleted Services – Purge
https://learn.microsoft.com/rest/api/apimanagement/current-ga/deleted-services/purge

2-(b) 論理削除されたAPI Managementインスタンスを回復する場合には、REST API (Api Management Service – Create Or Update) を使う。このとき、JSONにrestoreフラグがあるので、これをtrueにしておく(ドキュメントにもある通り、restoreフラグがtrueであれば、他の設定は無視される)。

Api Management Service – Create Or Update
https://learn.microsoft.com/rest/api/apimanagement/current-ga/api-management-service/create-or-update

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

詳細はこちら。

削除された API Management インスタンスを一覧表示する / List deleted API Management instances
https://learn.microsoft.com/azure/api-management/soft-delete#list-deleted-api-management-instances

論理的に削除されたインスタンスを回復する / Recover a soft deleted instance
https://learn.microsoft.com/azure/api-management/soft-delete#recover-a-soft-deleted-instance

論理的に削除されたインスタンスを消去する / Recover a soft deleted instance
https://learn.microsoft.com/azure/api-management/soft-delete#purge-a-soft-deleted-instance

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中