【Azure APIM】验证APIM删除后的恢复步骤
问题描述
在Azure门户中,误删除API Management资源后,怎么办?

问题解答
遇见误删除的第一反应就是:
- 想恢复删除的内容,但是从门户上查看没有发现有可以操作的方面。 (错误,Azure APIM门户已经支持“一键恢复”功能:Recover deleted API Management service - Microsoft Azure 由世纪互联运营)
- 然后想重建同样名称的APIM服务,结果确显示无法重建,提示处于软删除的保护期间。
进一步查看APIM软删除的资料,发现可以实现恢复在48小时以内的被删除的资源。
软删除行为 : https://docs.azure.cn/zh-cn/api-management/soft-delete#soft-delete-behavior
如果 Azure 门户、Azure REST API 或其他 Azure 工具使用 API 2020-06-01-preview 版本或更高版本,则在借助上述方式删除 API Management 实例时,系统会自动实施软删除。
在删除 API 管理实例时,该服务将处于已删除状态,任何正常的 API 管理操作都无法访问该服务。
在软删除状态下:
- 只能列出、恢复或清除(永久删除)API 管理实例。
- 在经过预先确定的保留期(48 小时)后,Azure 将指派系统永久删除 API 管理实例所对应的底层数据。
- 不能重复使用 API 管理实例的名称。
- 如果未在 48 小时内恢复或清除 API 管理实例,则系统会自动将其永久删除。
这是一个巨大的好消息。经过验证,成功恢复被删除的资源。在四年一次的2月29日(闰年)特地记录恢复的步骤:
1) 调用 " 列出已删除的 API 管理实例" 接口,查看被删除APIM资源的信息
## 使用 API 管理按订阅列出操作,将 {subscriptionId} 替换为你的订阅 ID:
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/deletedservices?api-version=2021-08-01## 使用 API 管理按名称获取操作,将 {subscriptionId}、{location} 和 {serviceName} 替换为你的 Azure 订阅、资源位置名称和 API 管理实例名称:
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}?api-version=2021-08-01
* 注:1,2步骤中的请求都需要获取Authorization Token,临时获取方式为 “在Azure APIM门户页面,通过F12(浏览器开发者工具), 查看Network中的请求,从任何一个请求中获取Authorzation Bearer Token即可”。

2) 调用“恢复软删除的实例 ” 接口,设置 restore 属性设置为 true
## 使用 API 管理更新PUT操作,将 {subscriptionId}、{resourceGroup} 和 {apimServiceName} 替换为你的 Azure 订阅、资源组名称和 API 管理名称:
PUT
https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01##Body JSON格式内容:
{
"properties": {
"restore": true
},
"location": "China North 3"
}
* 注:如果Body中缺少location参数,请求会返回错误提示:"error": {"code": "LocationRequired","message": "The location property is required for this definition."}
3) PUT接口发送成功后,等待恢复完成的时间大约在45分钟 ~ 1小时之间。
在恢复期间,APIM的状态显示为:Activating (Service is being activated ... )
误删除后的恢复APIM动画演示:

附录:在Azure APIM页面中的一键恢复 (Recover deleted API Management service)

参考资料
Azure API 管理软删除 : https://docs.azure.cn/zh-cn/api-management/soft-delete#soft-delete-behavior
【END】
【Azure APIM】验证APIM删除后的恢复步骤的更多相关文章
- InnoDB数据库 ibdata1 被删除后 的恢复方法
前提条件:1 ibdata1 被删除 2 数据库文件还存在 特别是 ibd文件 3 原来数据库表结构及索引还在 恢复步骤: 1. 将原来的数据文件COPY到其它目录下. 2. 创建同名表,表结 ...
- sql数据库delete删除后怎么恢复,这是网上找的答案。。希望大神验证指教一下
使用Log Explorer查看和恢复数据 Log Explorer 4.1.可用于SQL Server2005的日志查看工具 下载地址: http://download.csdn.net/sourc ...
- WIN7电脑文件莫名其妙被删除后的恢复
今天早上打开电脑,发现电脑F盘下的WINCE600文件夹下有剩下一小部分文件,绝大部分文件都找不到了,但是我记得自己没有删除过,而且在回收站也没有找到这些被删除的文件,怎恢复呢,今天尝试使用Recov ...
- Linux残留的EFI启动项删除后又恢复的问题
电脑Windows + Fedora双系统,UEFI启动,共用同一个EFI分区.现在删除了Fedora系统,那么应该将EFI分区中的Fedora启动项也删除之. 按照网上的办法,在Windows上,尝 ...
- ALM损坏后的恢复步骤
ALM是HP出品的软件开发生命周期软件,其全称是Application Lifecycle Management,其采用B/S结构,从需求,业务模型到测试用例和缺陷管理亦应具有,满足了一般软件企业对开 ...
- ovirt系统磁盘删除后清理功能验证步骤
测试步骤主要是针对ovirt系统磁盘的‘删除后清理’功能,如下图所示: 测试如下两种方式: 预置条件: 搭建iscsi服务器,且划分一个11G的盘 勾选删除后清理操作步骤:1 .在linux虚拟机 d ...
- Linux下误删除后的恢复操作(ext3/ext4)
Linux是作为一个多用户.多任务的操作系统,文件一旦被删除是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据.在日常工程 ...
- MySQL数据库的自动备份与数据库被破坏后的恢复(3)
[2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面 ...
- MySQL数据库的自动备份与数据库被破坏后的恢复(2)
测试自动备份正常运转与否(备份恢复的方法) 这里,以通过实际操作的过程来介绍问题出现后的恢复方法. [1] 当数据库被删除后的恢复方法 首先建立一个测试用的数据库. [root@CentOS ~]# ...
- 【MySQL】InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据
参考:http://my.oschina.net/sansom/blog/179116 参考:http://www.jb51.net/article/43282.htm 注意!此方法只适用于innod ...
随机推荐
- [转帖]什么是拒绝服务(DoS)攻击?
https://www.cloudflare.com/zh-cn/learning/ddos/glossary/denial-of-service/ 什么是拒绝服务攻击? 拒绝服务(DoS)攻击是一种 ...
- redis 6源码解析之 dict
edis源码的dict.c主要实现了基于hash表的操作,如增删改查,对哈希表大小的扩容和缩容,以及对哈希表的rehash和增量rehash等.在源码的dictScan函数中,非常巧妙精美地实现了对哈 ...
- 手写promise实现自定义封装多个回调函数的执行
自定义封装多个回调函数的执行 <script src="./Promise.js"></script> let p = new Promise((resol ...
- CF676C 题解
使用尺取法(双指针法). 由于字符种类只有 \(2\) 种,答案一定是全 a 或全 b. 情况 \(1\):全 a 快指针循环移动,并统计字符 b 的数量 \(cntb\),直到 \(cntb\) 即 ...
- consul系列文章01---docker安装consul
1.下载镜像 2.运行容器 docker run --name consul -d -p 8500:8500 --restart=always consul agent -server -boots ...
- JS ----- JS原型与原型链终极详解(一)
一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object .Function 是 JS 自带的函数对象.下面举例说明 var o1 = ...
- k8s 中的网络
k8s 中的网络模型 CNI 网络插件 CNI 的设计思想 k8s 中的三层网络 Flannel 的 host-gw Calico 参考 k8s 中的网络模型 CNI 网络插件 docker 容器的网 ...
- el-select添加全部选项
/**给返回的搜索条件插入全部**/ global.addAll = function (list) { let addAllList = list addAllList.unshift({label ...
- idea2018 破解
本人使用的是idea2018.1.11,对2018其它版本的应该都是管用的 idea2018-1.11 下载地址 链接:https://pan.baidu.com/s/1_RlJGZtfMxr1Nx9 ...
- 香橙派上的eMMC分区
准备工作 OrangePi Plus 2E(自带16G的eMMC存储,出厂默认eMMC中附带了Android系统,用于测试板子功能) Ubuntu16.04的TF卡 第一张方式: 该方式可以按需删除指 ...