使用 REST API 为 Blob 创建 Azure 数据保护备份策略

本文介绍如何使用 REST API 为 Azure Blob 创建 Azure 数据保护备份策略。

Azure 备份策略通常控制备份的保留和计划。 由于 Blob 的操作备份在本质上是连续的,因此无需日程安排即可执行备份。 实质上是需要策略来指定保留期。 可以重复使用备份策略来配置多个存储帐户到保管库的备份。

重要

在继续为 Azure Blob 创建策略和配置备份之前,请参阅此部分

本文介绍如何为存储帐户中的 Blob 创建策略。 了解使用 REST API 为 Azure 恢复服务保管库创建备份策略的过程

注意

对较长持续时间进行还原可能会导致还原操作需要较长时间才能完成。 此外,还原数据集所用的时间还取决于在还原期间执行的写入和删除操作的次数。 例如,如果一个帐户有 1 百万个对象,每天增加 3,000 个对象,每天删除 1,000 个对象,将需要大约两个小时才能还原到过去 30 天的点。 对于具有此变化率的帐户,不建议在过去保留时间和还原超过90天。

本文介绍以下内容:

  • 创建策略
  • 创建请求正文
  • 响应

创建策略

若要创建 Azure 备份策略,请使用以下 PUT 操作:

PUT https://management.chinacloudapi.cn/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01

{policyName}{vaultName} 在 URI 中提供。 可以在请求正文中找到其他信息。

重要

目前,我们不支持更新或修改现有策略。 因此,可以使用所需的详细信息创建新策略,并将其分配给相关的备份实例。

创建请求正文

例如,若要为 Blob 备份创建策略,请使用请求正文的以下组件:

名称 必需 类型​​ 说明
properties True BaseBackupPolicy:BackupPolicy BaseBackupPolicyResource 属性

有关请求正文中的完整定义列表,请参阅备份策略 REST API 文档

示例请求正文

以下请求正文定义 Blob 备份的备份策略。

该策略指出:

  • 保留期为 30 天。
  • 数据存储是“操作存储”。
{
  "properties": {
    "datasourceTypes": [
      "Microsoft.Storage/storageAccounts/blobServices"
    ],
    "objectType": "BackupPolicy",
    "policyRules": [
      {
        "name": "Default",
        "objectType": "AzureRetentionRule",
        "isDefault": true,
        "lifecycles": [
          {
            "deleteAfter": {
              "duration": "P30D",
              "objectType": "AbsoluteDeleteOption"
            },
            "sourceDataStore": {
              "dataStoreType": "OperationalStore",
              "objectType": "DataStoreInfoBase"
            }
          }
        ]
      }
    ]
  }
}

要使用保管备份配置备份策略,请使用以下 JSON 脚本:

{
  "id": "/subscriptions/495944b2-66b7-4173-8824-77043bb269be/resourceGroups/Blob-Backup/providers/Microsoft.DataProtection/BackupVaults/yavovaultecy01/backupPolicies/TestPolicy",
  "name": "TestPolicy",
  "type": "Microsoft.DataProtection/BackupVaults/backupPolicies",
  "properties": {
    "policyRules": [
      {
        "name": "Default",
        "objectType": "AzureRetentionRule",
        "isDefault": true,
        "lifecycles": [
          {
            "deleteAfter": {
              "duration": "P30D",
              "objectType": "AbsoluteDeleteOption"
            },
            "sourceDataStore": {
              "dataStoreType": "OperationalStore",
              "objectType": "DataStoreInfoBase"
            },
            "targetDataStoreCopySettings": []
          }
        ]
      },
      {
        "name": "Default",
        "objectType": "AzureRetentionRule",
        "isDefault": true,
        "lifecycles": [
          {
            "deleteAfter": {
              "duration": "P7D",
              "objectType": "AbsoluteDeleteOption"
            },
            "sourceDataStore": {
              "dataStoreType": "VaultStore",
              "objectType": "DataStoreInfoBase"
            },
            "targetDataStoreCopySettings": []
          }
        ]
      },
      {
        "name": "BackupDaily",
        "objectType": "AzureBackupRule",
        "backupParameters": {
          "backupType": "Discrete",
          "objectType": "AzureBackupParams"
        },
        "dataStore": {
          "dataStoreType": "VaultStore",
          "objectType": "DataStoreInfoBase"
        },
        "trigger": {
          "schedule": {
            "timeZone": "UTC",
            "repeatingTimeIntervals": [
              "R/2024-05-08T14:00:00+00:00/P1D"
            ]
          },
          "taggingCriteria": [
            {
              "isDefault": true,
              "taggingPriority": 99,
              "tagInfo": {
                "id": "Default_",
                "tagName": "Default"
              }
            }
          ],
          "objectType": "ScheduleBasedTriggerContext"
        }
      }
    ],
    "datasourceTypes": [
      "Microsoft.Storage/storageAccounts/blobServices"
    ],
    "objectType": "BackupPolicy",
    "name": "TestPolicy"
  }
} 

重要

支持的时间格式仅为 DateTime。 不支持单独的时间格式。

响应

备份策略创建/更新是异步操作,操作成功便会返回“OK”。

名称 Type 说明
200 OK BaseBackupPolicyResource 确定

示例响应

操作完成后,它将在响应正文中返回 200 (OK) 和策略内容。

{
  "id": "/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups//TestBkpVaultRG/providers/Microsoft.RecoveryServices/vaults/testBkpVault/backupPolicies/TestBlobPolicy",
  "name": "TestBlobPolicy",
  "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
  "properties": {
    "policyRules": [
      {
        "lifecycles": [
          {
            "deleteAfter": {
              "objectType": "AbsoluteDeleteOption",
              "duration": "P30D"
            },
            "sourceDataStore": {
              "dataStoreType": "OperationalStore",
              "objectType": "DataStoreInfoBase"
            }
          }
        ],
        "isDefault": true,
        "name": "Default",
        "objectType": "AzureRetentionRule"
      }
    ],
    "datasourceTypes": [
      "Microsoft.Storage/storageAccounts/blobServices"
    ],
    "objectType": "BackupPolicy"
  }
}

后续步骤

为存储帐户中的 Blob 启用保护。

有关 Azure 备份 REST API 的详细信息,请参阅以下文档: