Создание политик резервного копирования служб восстановления Azure с помощью REST API

В этой статье описывается создание политик для резервного копирования виртуальной машины Azure, базы данных SQL в виртуальной машине Azure, базы данных SAP HANA в виртуальной машине Azure и общей папке Azure.

Дополнительные сведения о создании или изменении политики резервного копирования для хранилища служб восстановления Azure с помощью REST API.

Создание или обновление политики

Чтобы создать или обновить политику Azure Backup, используйте следующую операцию PUT .

PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}?api-version=2019-05-13

{policyName} и {vaultName} предоставляются в URI. Дополнительные сведения предоставляются в тексте запроса.

Создание текста запроса

Если вы хотите создать политику резервного копирования виртуальных машин Azure, текст запроса должен иметь следующие компоненты:

имени Обязательно Type Описание
свойства Истина ProtectionPolicy:AzureIaaSVMProtectionPolicy Свойства ProtectionPolicyResource
tags Object Теги ресурсов

Полный список определений в тексте запроса см . в статье REST API политики резервного копирования.

Примеры текста запроса

В этом разделе приведен пример текста запроса для создания политик для резервного копирования виртуальной машины Azure, базы данных SQL в виртуальной машине Azure, базы данных SAP HANA в виртуальной машине Azure и общей папке Azure.

Выберите источник данных:

Следующий текст запроса определяет стандартную политику резервного копирования для резервных копий виртуальных машин Azure.

Эта политика выполняет следующие действия.

  • создает еженедельную резервную копию каждый понедельник, среду и четверг в 10:00 по Тихоокеанскому времени США (зима);
  • хранит резервные копии, создающиеся каждый понедельник, среду и четверг, в течение одной недели;
  • хранит резервные копии, создающиеся каждую первую среду и третий четверг месяца в течение двух месяцев (предыдущие условия хранения перезаписываются, если они есть);
  • хранит резервные копии, создающиеся в четвертый понедельник и четвертый четверг февраля и ноября в течение четырех лет (предыдущие условия хранения перезаписываются, если они есть).
{
  "properties": {
    "backupManagementType": "AzureIaasVM",
    "timeZone": "Pacific Standard Time",
    "schedulePolicy": {
      "schedulePolicyType": "SimpleSchedulePolicy",
      "scheduleRunFrequency": "Weekly",
      "scheduleRunTimes": [
        "2018-01-24T10:00:00Z"
      ],
      "scheduleRunDays": [
        "Monday",
        "Wednesday",
        "Thursday"
      ]
    },
    "retentionPolicy": {
      "retentionPolicyType": "LongTermRetentionPolicy",
      "weeklySchedule": {
        "daysOfTheWeek": [
          "Monday",
          "Wednesday",
          "Thursday"
        ],
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 1,
          "durationType": "Weeks"
        }
      },
      "monthlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Wednesday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "First",
            "Third"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 2,
          "durationType": "Months"
        }
      },
      "yearlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "monthsOfYear": [
          "February",
          "November"
        ],
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Monday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "Fourth"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 4,
          "durationType": "Years"
        }
      }
    }
  }
}

Следующий текст запроса определяет расширенную политику резервного копирования для резервных копий виртуальных машин Azure, создавая несколько резервных копий в день.

Эта политика выполняет следующие действия.

  • Выполняет резервное копирование каждые 4 часа с 3:30 вечера UTC каждый день
  • Сохраняет моментальный снимок мгновенного восстановления в течение 7 дней
  • Сохраняет ежедневные резервные копии в течение 180 дней
  • Сохраняет резервные копии, сделанные в воскресенье каждую неделю в течение 12 недель
  • Сохраняет резервные копии, сделанные в первое воскресенье каждого месяца в течение 12 месяцев
{
	"properties": {
		"backupManagementType": "AzureIaasVM",
		"policyType": "V2",
		"instantRPDetails": {},
		"schedulePolicy": {
			"schedulePolicyType": "SimpleSchedulePolicyV2",
			"scheduleRunFrequency": "Hourly",
			"hourlySchedule": {
				"interval": 4,
				"scheduleWindowStartTime": "2023-02-06T15:30:00Z",
				"scheduleWindowDuration": 24
			}
		},
		"retentionPolicy": {
			"retentionPolicyType": "LongTermRetentionPolicy",
			"dailySchedule": {
				"retentionTimes": [
					"2023-02-06T15:30:00Z"
				],
				"retentionDuration": {
					"count": 180,
					"durationType": "Days"
				}
			},
			"weeklySchedule": {
				"daysOfTheWeek": [
					"Sunday"
				],
				"retentionTimes": [
					"2023-02-06T15:30:00Z"
				],
				"retentionDuration": {
					"count": 12,
					"durationType": "Weeks"
				}
			},
			"monthlySchedule": {
				"retentionScheduleFormatType": "Weekly",
				"retentionScheduleWeekly": {
					"daysOfTheWeek": [
						"Sunday"
					],
					"weeksOfTheMonth": [
						"First"
					]
				},
				"retentionTimes": [
					"2023-02-06T15:30:00Z"
				],
				"retentionDuration": {
					"count": 12,
					"durationType": "Months"
				}
			}
		},
		"tieringPolicy": {
			"ArchivedRP": {
				"tieringMode": "DoNotTier",
				"duration": 0,
				"durationType": "Invalid"
			}
		},
		"instantRpRetentionRangeInDays": 7,
		"timeZone": "UTC",
		"protectedItemsCount": 0
	}
}

Внимание

Форматы времени для расписания и хранения поддерживают только DateTime. Они не поддерживают только формат времени.

Отклики

Создание и обновление политики резервного копирования является асинхронной операцией. Это означает, что такая операция создает другую операцию, которая должна отслеживаться отдельно.

Она возвращает два ответа: 202 (принято) при создания другой операции, а затем — 200 (ОК) после завершения операции.

Имя. Тип Описание
200 OK ProtectionPolicyResource ОК
202 — принято Акцептировано

Примеры ответов

После отправки запроса PUT для создания или обновления политики будет получен первоначальный ответ 202 (принято) с заголовком расположения или асинхронным заголовком Azure.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01
X-Content-Type-Options: nosniff
x-ms-request-id: db785be0-bb20-4598-bc9f-70c9428b170b
x-ms-client-request-id: e1f94eef-9b2d-45c4-85b8-151e12b07d03; e1f94eef-9b2d-45c4-85b8-151e12b07d03
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: db785be0-bb20-4598-bc9f-70c9428b170b
x-ms-routing-request-id: SOUTHINDIA:20180521T073907Z:db785be0-bb20-4598-bc9f-70c9428b170b
Cache-Control: no-cache
Date: Mon, 21 May 2018 07:39:06 GMT
Location: https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2019-05-13
X-Powered-By: ASP.NET

Затем отследите итоговую операцию, используя заголовок location или Azure-AsyncOperation с помощью простой команды GET.

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2019-05-13

После завершения операции он возвращает код 200 (ОК) с содержимым политики в тексте ответа.

{
  "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupPolicies/testPolicy1",
  "name": "testPolicy1",
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies",
  "properties": {
    "backupManagementType": "AzureIaasVM",
    "schedulePolicy": {
      "schedulePolicyType": "SimpleSchedulePolicy",
      "scheduleRunFrequency": "Weekly",
      "scheduleRunDays": [
        "Monday",
        "Wednesday",
        "Thursday"
      ],
      "scheduleRunTimes": [
        "2018-01-24T10:00:00Z"
      ],
      "scheduleWeeklyFrequency": 0
    },
    "retentionPolicy": {
      "retentionPolicyType": "LongTermRetentionPolicy",
      "weeklySchedule": {
        "daysOfTheWeek": [
          "Monday",
          "Wednesday",
          "Thursday"
        ],
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 1,
          "durationType": "Weeks"
        }
      },
      "monthlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Wednesday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "First",
            "Third"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 2,
          "durationType": "Months"
        }
      },
      "yearlySchedule": {
        "retentionScheduleFormatType": "Weekly",
        "monthsOfYear": [
          "February",
          "November"
        ],
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Monday",
            "Thursday"
          ],
          "weeksOfTheMonth": [
            "Fourth"
          ]
        },
        "retentionTimes": [
          "2018-01-24T10:00:00Z"
        ],
        "retentionDuration": {
          "count": 4,
          "durationType": "Years"
        }
      }
    },
    "timeZone": "Pacific Standard Time",
    "protectedItemsCount": 0
  }
}

Если политика уже используется для защиты элемента, любое обновление в политике приведет к изменению защиты всех связанных элементов.

Следующие шаги

Включите защиту для незащищенной виртуальной машины Azure.

Дополнительные сведения о REST API Azure Backup с использованием API REST см. в следующих документах: