使用 REST API 创建 Azure 备份保管库
Azure 备份的新数据保护平台为较新的工作负荷(例如存储帐户中的 blob、托管磁盘和 PostgreSQL 服务器的 PaaS 平台)提供了增强的备份和还原功能。 它旨在最大程度地降低管理开销,同时简化备份的组织。 “备份保管库”是数据保护平台的基础,这不同于“恢复服务”保管库。
创建保管库 REST API 文档中概述了使用 REST API 创建 Azure 备份保管库的步骤。 让我们使用本文档作为参考在“中国北部”区域中“TestBkpVaultRG”资源组下面创建一个名为“testBkpVault”的保管库。
若要创建或更新 Azure 备份保管库,请使用以下 PUT 操作。
PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/testBkpVault?api-version=2021-01-01
创建请求
若要创建 PUT 请求,必须使用 {subscription-id}
参数。 如果拥有多个订阅,请参阅使用多个订阅。 你将定义资源的 {resourceGroupName}
和 {vaultName}
以及 api-version
参数。 本文使用的是 api-version=2021-01-01
。
以下标头是必需的:
请求标头 | 说明 |
---|---|
Content-Type: | 必需。 设置为 application/json 。 |
Authorization: | 必需。 设置为有效的Bearer 访问令牌。 |
有关如何创建请求的详细信息,请参阅 REST API 请求/响应的组件。
创建请求正文
下面的通用定义用来构建请求正文:
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
eTag | String | 可选的 eTag | |
location | 是 | String | 资源位置 |
properties | 是 | BackupVault | 保管库的属性 |
标识 | DPPIdentityDetails | 指明每个 Azure 资源的唯一系统标识符 | |
标记 | Object | 资源标记 |
请注意,保管库名称和资源组名称是在 PUT URI 中提供的。 请求正文定义位置。
示例请求正文
以下示例正文用于在“中国北部”区域中创建一个保管库。 指定位置。
{
"location": "ChinaNorth",
"tags": {
"key1": "val1"
},
"identity": {
"type": "None"
},
"properties": {
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
}
}
如果要创建备份保管库并同时生成系统分配的标识,则应提供以下请求正文。
{
"location": "ChinaNorth",
"tags": {
"key1": "val1"
},
"identity": {
"type": "systemAssigned"
},
"properties": {
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
}
}
响应
创建备份保管库的是一种异步操作。 这意味着,此操作会创建另一个需要单独跟踪的操作。 对于要创建或更新备份保管库的操作,有两个成功响应:
名称 | Type | 说明 |
---|---|---|
200 正常 | BackupVaultResource | OK |
201 Created | BackupVaultResource | 创建 |
其他状态代码 | CloudError |
有关 REST API 响应的详细信息,请参阅处理响应消息。
示例响应
下面是前面的示例请求正文的精简后 201 Created 响应,该响应表明已分配了一个 id 并且 provisioningState 为 Succeeded:
{
"eTag": null,
"id": "/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/TestBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/testBkpVault",
"identity": {
"principalId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenantId": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"location": "ChinaNorth",
"name": "testBkpVault",
"properties": {
"provisioningState": "Succeeded",
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "GeoRedundant"
}
]
},
"resourceGroup": "TestBkpVaultRG",
"systemData": null,
"tags": {},
"type": "Microsoft.DataProtection/backupVaults"
}
后续步骤
有关 Azure REST API 的详细信息,请参阅以下文档: