Crear directivas de copia de seguridad de Azure Recovery Services mediante la API de REST

En este artículo se describe cómo crear directivas para la copia de seguridad de máquinas virtuales de Azure, SQL Database en máquinas virtuales de Azure, base de datos de SAP HANA en máquinas virtuales de Azure y recurso compartido de archivos de Azure.

Obtenga más información sobre crear o modificar una directiva de copia de seguridad para un almacén de Azure Recovery Services mediante la API de REST.

Creación o actualización de una directiva

Para crear o actualizar una directiva de Azure Backup, use la siguiente operación PUT.

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

Los valores de {policyName} y {vaultName} se proporcionan en el URI. Se proporciona información adicional en el cuerpo de la solicitud.

Creación del cuerpo de la solicitud

Si desea crear una directiva para la copia de seguridad de máquinas virtuales de Azure, el cuerpo de la solicitud debe tener los siguientes componentes:

Nombre Obligatorio Type Descripción
properties True ProtectionPolicy:AzureIaaSVMProtectionPolicy Propiedades de ProtectionPolicyResource
etiquetas Object Etiquetas del recurso

Para obtener la lista completa de definiciones en el cuerpo de la solicitud, consulte el artículo API de REST de directiva de copia de seguridad.

Cuerpo de solicitud de ejemplo

Esta sección proporciona el cuerpo de solicitud de ejemplo para crear directivas para la copia de seguridad de la máquina virtual de Azure, la base de datos SQL en la máquina virtual de Azure, la base de datos de SAP HANA en la máquina virtual de Azure y el recurso compartido de archivos de Azure.

Elegir un origen de datos:

El cuerpo de la solicitud siguiente define una directiva de copia de seguridad estándar para las copias de seguridad de máquinas virtuales de Azure.

Esta directiva:

  • Realiza una copia de seguridad semanal todos los lunes, miércoles y jueves a las 10:00 a.m. hora estándar del Pacífico.
  • Conserva las copias de seguridad realizadas los lunes, miércoles o jueves durante una semana.
  • Conserva las copias de seguridad realizadas el primer miércoles y el tercer jueves del mes durante dos meses (invalida las condiciones de retención anteriores, si hubieran).
  • Conserva las copias de seguridad realizadas el cuarto lunes y el cuarto jueves de febrero y noviembre durante cuatro años (invalida las condiciones de retención anteriores, si hubieran).
{
  "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"
        }
      }
    }
  }
}

El cuerpo de la solicitud siguiente define una directiva de copia de seguridad mejorada para las copias de seguridad de máquinas virtuales de Azure que crean varias copias de seguridad al día.

Esta directiva:

  • Realiza una copia de seguridad cada 4 horas a partir de las 15:30 UTC todos los días
  • Conserva la instantánea de recuperación durante 7 días.
  • Conserva las copias de seguridad diarias durante 180 días.
  • Conserva las copias de seguridad realizadas el domingo de cada semana durante 12 semanas.
  • Conserva las copias de seguridad realizadas el primer domingo de cada mes durante 12 meses.
{
	"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
	}
}

Importante

Los formatos de fecha y hora para la programación y la retención admiten solo DateTime. No admiten el formato de hora por separado.

Respuestas

La creación o actualización de las directivas de copia de seguridad es una operación asincrónica. Significa que esta operación crea otra que tiene que ser seguida por separado.

Devuelve dos respuestas: 202 (Aceptado) cuando se crea otra operación. Después, 200 (OK) cuando se complete esa operación.

Nombre Escribir Descripción
200 OK Protection PolicyResource Aceptar
202 - Aceptado Accepted

Respuestas de ejemplo

Una vez enviada la solicitud PUT para la creación o actualización de directivas, la respuesta inicial es 202 (Accepted) (aceptado) con un encabezado de ubicación o Azure-async-header.

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

A continuación, realice un seguimiento de la operación resultante con el encabezado de ubicación o el encabezado Azure-AsyncOperation y un simple comando 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

Una vez completada la operación, devuelve 200 (OK) con el contenido de la directiva en el cuerpo de respuesta.

{
  "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
  }
}

Si una directiva ya se usa para proteger un elemento, su actualización dará como resultado modificar la protección para todos estos elementos asociados.

Pasos siguientes

Habilitación de la protección de una máquina virtual de Azure sin protección.

Para más información sobre las API REST de Azure Backup, consulte los siguientes documentos: