Faça backup do Azure VM usando Azure Backup via REST APIBack up an Azure VM using Azure Backup via REST API

Este artigo descreve como gerir backups para um Azure VM usando Azure Backup via REST API.This article describes how to manage backups for an Azure VM using Azure Backup via REST API. Proteção de configuração pela primeira vez para um Azure VM anteriormente desprotegido, desencadeie uma cópia de segurança a pedido de um Azure VM protegido e modifique propriedades de backup de um VM apoiado através da API REST, como explicado aqui.Configure protection for the first time for a previously unprotected Azure VM, trigger an on-demand backup for a protected Azure VM and modify backup properties of a backed-up VM via REST API as explained here.

Consulte para criar cofre e criar tutoriais de API de política REST para criar novos cofres e políticas.Refer to create vault and create policy REST API tutorials for creating new vaults and policies.

Vamos supor que pretende proteger um VM "testVM" sob um grupo de recursos "testRG" para um cofre de Serviços de Recuperação "testVault", presente no grupo de recursos "testVaultRG", com a política padrão (denominada "DefaultPolicy").Let's assume you want to protect a VM "testVM" under a resource group "testRG" to a Recovery Services vault "testVault", present within the resource group "testVaultRG", with the default policy (named "DefaultPolicy").

Configure backup para um VM Azure desprotegido usando REST APIConfigure backup for an unprotected Azure VM using REST API

Descubra VMs Azure desprotegidosDiscover unprotected Azure VMs

Primeiro, o cofre deve ser capaz de identificar o Azure VM.First, the vault should be able to identify the Azure VM. Isto é acionado utilizando a operação de atualização.This is triggered using the refresh operation. É uma operação POST assíncronea que garante que o cofre recebe a mais recente lista de todos os VM desprotegidos na subscrição atual e 'caches' deles.It's an asynchronous POST operation that makes sure the vault gets the latest list of all unprotected VM in the current subscription and 'caches' them. Uma vez que o VM é 'cached', os serviços de recuperação poderão aceder ao VM e protegê-lo.Once the VM is 'cached', Recovery services will be able to access the VM and protect it.

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers?api-version=2016-12-01

O POST URI {subscriptionId} {vaultName} tem, {vaultresourceGroupName} , {fabricName} parâmetros.The POST URI has {subscriptionId}, {vaultName}, {vaultresourceGroupName}, {fabricName} parameters. O {fabricName} é "Azure".The {fabricName} is "Azure". De acordo com o nosso exemplo, {vaultName} é "testVault" e {vaultresourceGroupName} é "testVaultRG".According to our example, {vaultName} is "testVault" and {vaultresourceGroupName} is "testVaultRG". Como todos os parâmetros necessários são dados no URI, não há necessidade de um corpo de pedido separado.As all the required parameters are given in the URI, there's no need for a separate request body.

POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/refreshContainers?api-version=2016-12-01

Respostas à operação de atualizaçãoResponses to refresh operation

A operação "refresh" é uma operação assíncronea.The 'refresh' operation is an asynchronous operation. Significa que esta operação cria outra operação que precisa de ser rastreada separadamente.It means this operation creates another operation that needs to be tracked separately.

Devolve duas respostas: 202 (Aceite) quando outra operação é criada e depois 200 (OK) quando essa operação estiver concluída.It returns two responses: 202 (Accepted) when another operation is created and then 200 (OK) when that operation completes.

NomeName TipoType DescriptionDescription
204 Sem Conteúdo204 No Content OK sem nenhum conteúdo devolvidoOK with No content returned
202 Aceito202 Accepted AceiteAccepted
Respostas de exemplo para atualização de funcionamentoExample responses to refresh operation

Uma vez apresentado o pedido do CORREIO, é devolvida uma resposta 202 (Aceite).Once the POST request is submitted, a 202 (Accepted) response is returned.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
X-Content-Type-Options: nosniff
x-ms-request-id: 43cf550d-e463-421c-8922-37e4766db27d
x-ms-client-request-id: 4910609f-bb9b-4c23-8527-eb6fa2d3253f; 4910609f-bb9b-4c23-8527-eb6fa2d3253f
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: 43cf550d-e463-421c-8922-37e4766db27d
x-ms-routing-request-id: SOUTHINDIA:20180521T105701Z:43cf550d-e463-421c-8922-37e4766db27d
Cache-Control: no-cache
Date: Mon, 21 May 2018 10:57:00 GMT
Location: https://management.azure.com/subscriptions//00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/operationResults/aad204aa-a5cf-4be2-a7db-a224819e5890?api-version=2019-05-13
X-Powered-By: ASP.NET

Acompanhe a operação resultante utilizando o cabeçalho "Localização" com um simples comando GETTrack the resulting operation using the "Location" header with a simple GET command

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/operationResults/aad204aa-a5cf-4be2-a7db-a224819e5890?api-version=2019-05-13

Uma vez descobertos todos os VMs Azure, o comando GET devolve uma resposta 204 (Sem Conteúdo).Once all the Azure VMs are discovered, the GET command returns a 204 (No Content) response. O cofre é agora capaz de descobrir qualquer VM dentro da subscrição.The vault is now able to discover any VM within the subscription.

HTTP/1.1 204 NoContent
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: cf6cd73b-9189-4942-a61d-878fcf76b1c1
x-ms-client-request-id: 25bb6345-f9fc-4406-be1a-dc6db0eefafe; 25bb6345-f9fc-4406-be1a-dc6db0eefafe
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14997
x-ms-correlation-request-id: cf6cd73b-9189-4942-a61d-878fcf76b1c1
x-ms-routing-request-id: SOUTHINDIA:20180521T105825Z:cf6cd73b-9189-4942-a61d-878fcf76b1c1
Cache-Control: no-cache
Date: Mon, 21 May 2018 10:58:25 GMT
X-Powered-By: ASP.NET

Selecionando o Azure VM relevanteSelecting the relevant Azure VM

Pode confirmar que o "caching" é feito listando todos os itens protegidos sob a subscrição e localizar o VM desejado na resposta.You can confirm that "caching" is done by listing all protectable items under the subscription and locate the desired VM in the response. A resposta desta operação também lhe dá informações sobre como os Serviços de Recuperação identificam um VM.The response of this operation also gives you information on how Recovery Services identifies a VM. Uma vez que esteja familiarizado com o padrão, pode saltar este passo e proceder diretamente à proteção ativa.Once you are familiar with the pattern, you can skip this step and directly proceed to enabling protection.

Esta operação é uma operação GET.This operation is a GET operation.

GET https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems?api-version=2016-12-01&$filter=backupManagementType eq 'AzureIaasVM'

O GET URI tem todos os parâmetros necessários.The GET URI has all the required parameters. Não é necessário nenhum corpo de pedido adicional.No additional request body is needed.

Respostas para obter operaçãoResponses to get operation

NomeName TipoType DescriptionDescription
200 OK200 OK WorkloadProtectableItemResourceListWorkloadProtectableItemResourceList OKOK

Respostas de exemplo para obter operaçãoExample responses to get operation

Uma vez que o pedido GET é apresentado, uma resposta de 200 (OK) é devolvida.Once the GET request is submitted, a 200 (OK) response is returned.

HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: 7c2cf56a-e6be-4345-96df-c27ed849fe36
x-ms-client-request-id: 40c8601a-c217-4c68-87da-01db8dac93dd; 40c8601a-c217-4c68-87da-01db8dac93dd
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14979
x-ms-correlation-request-id: 7c2cf56a-e6be-4345-96df-c27ed849fe36
x-ms-routing-request-id: SOUTHINDIA:20180521T071408Z:7c2cf56a-e6be-4345-96df-c27ed849fe36
Cache-Control: no-cache
Date: Mon, 21 May 2018 07:14:08 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET

{
  "value": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG;testVM/protectableItems/vm;iaasvmcontainerv2;testRG;testVM",
      "name": "iaasvmcontainerv2;testRG;testVM",
      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
      "properties": {
        "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
        "virtualMachineVersion": "Compute",
        "resourceGroup": "testRG",
        "backupManagementType": "AzureIaasVM",
        "protectableItemType": "Microsoft.Compute/virtualMachines",
        "friendlyName": "testVM",
        "protectionState": "NotProtected"
      }
    },……………..

Dica

O número de valores numa resposta GET está limitado a 200 para uma 'página'.The number of values in a GET response is limited to 200 for a 'page'. Utilize o campo 'nextLink' para obter o URL para o próximo conjunto de respostas.Use the 'nextLink' field to get the URL for next set of responses.

A resposta contém a lista de todos os VMs Azure desprotegidos e cada um {value} contém todas as informações necessárias pelo Serviço de Recuperação Azure para configurar a cópia de segurança.The response contains the list of all unprotected Azure VMs and each {value} contains all the information required by Azure Recovery Service to configure backup. Para configurar a cópia de segurança, observe o {name} campo e o campo na {virtualMachineId} {properties} secção.To configure backup, note the {name} field and the {virtualMachineId} field in {properties} section. Construa duas variáveis a partir destes valores de campo, como mencionado abaixo.Construct two variables from these field values as mentioned below.

  • containerName = "iaasvmcontainer;" +{name}containerName = "iaasvmcontainer;"+{name}
  • protectedItemName = "vm;" + {name}protectedItemName = "vm;"+ {name}
  • {virtualMachineId} é usado mais tarde no corpo de pedido{virtualMachineId} is used later in the request body

No exemplo, os valores acima traduzidos traduzem-se em:In the example, the above values translate to:

  • containerName = "iaasvmcontainer;iaasvmcontainerv2;testRG;testVM"containerName = "iaasvmcontainer;iaasvmcontainerv2;testRG;testVM"
  • protectedItemName = "vm;iaasvmcontainerv2;testRG;testVM"protectedItemName = "vm;iaasvmcontainerv2;testRG;testVM"

Habilitação de proteção para o VM AzureEnabling protection for the Azure VM

Depois de o VM relevante ser "cached" e "identificado", selecione a política para proteger.After the relevant VM is "cached" and "identified", select the policy to protect. Para saber mais sobre as políticas existentes no cofre, consulte a Lista APIpolítica .To know more about existing policies in the vault, refer to list Policy API. Em seguida, selecione a política relevante referindo-se ao nome da apólice.Then select the relevant policy by referring to the policy name. Para criar políticas, consulte a criação de tutoriais políticos.To create policies, refer to create policy tutorial. "DefaultPolicy" é selecionado no exemplo abaixo."DefaultPolicy" is selected in the example below.

Permitir a proteção é uma operação PUT assíncronea que cria um "item protegido".Enabling protection is an asynchronous PUT operation that creates a 'protected item'.

https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}?api-version=2019-05-13

Os {containerName} e {protectedItemName} são construídos acima.The {containerName} and {protectedItemName} are as constructed above. O {fabricName} é "Azure".The {fabricName} is "Azure". Para o nosso exemplo, isto traduz-se em:For our example, this translates to:

PUT https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;iaasvmcontainerv2;testRG;testVM?api-version=2019-05-13

Criar o corpo de pedidoCreate the request body

Para criar um item protegido, seguem-se os componentes do corpo de pedido.To create a protected item, following are the components of the request body.

NomeName TipoType DescriptionDescription
propriedadesproperties AzureIaaSVMProtectedItemAzureIaaSVMProtectedItem Propriedades de recursos ProtectEdItemProtectedItem Resource properties

Para obter a lista completa das definições do organismo de pedido e outros detalhes, consulte a criação do documento API do artigo de proteção.For the complete list of definitions of the request body and other details, refer to create protected item REST API document.

Corpo de pedido de exemploExample request body

O seguinte órgão de pedido define as propriedades necessárias para criar um item protegido.The following request body defines properties required to create a protected item.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/DefaultPolicy"
  }
}

O {sourceResourceId} que é mencionado acima da resposta de {virtualMachineId} itens protegidos da lista.The {sourceResourceId} is the {virtualMachineId} mentioned above from the response of list protectable items.

Respostas para criar operação de artigo protegidoResponses to create protected item operation

A criação de um item protegido é uma operação assíncronea.The creation of a protected item is an asynchronous operation. Significa que esta operação cria outra operação que precisa de ser rastreada separadamente.It means this operation creates another operation that needs to be tracked separately.

Devolve duas respostas: 202 (Aceite) quando outra operação é criada e depois 200 (OK) quando essa operação estiver concluída.It returns two responses: 202 (Accepted) when another operation is created and then 200 (OK) when that operation completes.

NomeName TipoType DescriptionDescription
200 OK200 OK ProtectEdItemResourceProtectedItemResource OKOK
202 Aceito202 Accepted AceiteAccepted
Respostas de exemplo para criar operação de artigo protegidoExample responses to create protected item operation

Uma vez que envie o pedido PUT para criação ou atualização de artigos protegidos, a resposta inicial é 202 (Aceite) com um cabeçalho de localização ou cabeçalho Azure-async.Once you submit the PUT request for protected item creation or update, the initial response is 202 (Accepted) with a location header or 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/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13
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/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationResults/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13
X-Powered-By: ASP.NET

Em seguida, rastreia a operação resultante utilizando o cabeçalho de localização ou Azure-AsyncOperation cabeçalho com um simples comando GET.Then track the resulting operation using the location header or Azure-AsyncOperation header with a simple GET command.

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13

Uma vez concluída a operação, devolve 200 (OK) com o conteúdo do artigo protegido no organismo de resposta.Once the operation completes, it returns 200 (OK) with the protected item content in the response body.

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM",
  "name": "VM;testRG;testVM",
  "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
  "properties": {
    "friendlyName": "testVM",
    "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "protectionStatus": "Healthy",
    "protectionState": "IRPending",
    "healthStatus": "Passed",
    "lastBackupStatus": "",
    "lastBackupTime": "2001-01-01T00:00:00Z",
    "protectedItemDataId": "17592691116891",
    "extendedInfo": {
      "recoveryPointCount": 0,
      "policyInconsistent": false
    },
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "backupManagementType": "AzureIaasVM",
    "workloadType": "VM",
    "containerName": "iaasvmcontainerv2;testRG;testVM",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/DefaultPolicy",
    "policyName": "DefaultPolicy"
  }
}

Isto confirma que a proteção está ativada para o VM e que o primeiro backup será acionado de acordo com o calendário da política.This confirms that protection is enabled for the VM and the first backup will be triggered according to the policy schedule.

Excluindo os discos na cópia de segurança Azure VMExcluding disks in Azure VM backup

O Azure Backup também fornece uma forma de fazer uma cópia de segurança seletiva de um subconjunto de discos em Azure VM.Azure Backup also provides a way to selectively backup a subset of disks in Azure VM. Mais detalhes são fornecidos aqui.More details are provided here. Se pretender fazer uma cópia de segurança seletiva de alguns discos durante a proteção, o seguinte corte de código deve ser o órgão de pedido durante a proteção ativante.If you want to selectively backup few disks during enabling protection, the following code snippet should be the request body during enabling protection.

{
"properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/DefaultPolicy",
    "extendedProperties":  {
      "diskExclusionProperties":{
          "diskLunList":[0,1],
          "isInclusionList":true
        }
    }
}
}

No órgão de pedido acima, a lista de discos a apoiar é fornecida na secção de propriedades estendidas.In the request body above, the list of disks to be backed up are provided in the extended properties section.

PropriedadeProperty ValorValue
diskLunListdiskLunList A lista LUN em disco é uma lista de LUNs de discos de dados.The disk LUN list is a list of LUNs of data disks. O disco de so é sempre apoiado e não precisa de ser mencionado.OS disk is always backed up and doesn't need to be mentioned.
IsInclusionListIsInclusionList Deve ser verdade para os LUNs serem incluídos durante o backup.Should be true for the LUNs to be included during backup. Se for falso, os REFERIDOS LUNs serão excluídos.If it is false, the aforementioned LUNs will be excluded.

Portanto, se a exigência é fazer backup apenas do disco de so, então todos os discos de dados devem ser excluídos.So, if the requirement is to backup only the OS disk, then all data disks should be excluded. Uma maneira mais fácil é dizer que nenhum disco de dados deve ser incluído.An easier way is to say that no data disks should be included. Assim, a lista lun disco estará vazia e a IsInclusionList será verdadeira.So the disk LUN list will be empty and the IsInclusionList will be true. Da mesma forma, pense na forma mais fácil de selecionar um subconjunto: Alguns discos devem ser sempre excluídos ou alguns discos devem ser sempre incluídos.Similarly, think of what is the easier way of selecting a subset: A few disks should be always excluded or a few disks should always be included. Escolha a lista LUN e o valor variável boolean em conformidade.Choose the LUN list and the boolean variable value accordingly.

Desencadear uma cópia de segurança a pedido de um Azure VM protegidoTrigger an on-demand backup for a protected Azure VM

Uma vez que um Azure VM é configurado para cópia de segurança, as cópias de segurança acontecem de acordo com o calendário da apólice.Once an Azure VM is configured for backup, backups happen according to the policy schedule. Pode esperar pelo primeiro backup programado ou desencadear uma cópia de segurança a pedido a qualquer momento.You can wait for the first scheduled backup or trigger an on-demand backup anytime. A retenção para cópias de segurança a pedido é separada da retenção da política de backup e pode ser especificada para uma determinada data.Retention for on-demand backups is separate from backup policy's retention and can be specified to a particular date-time. Se não for especificado, presume-se que esteja a 30 dias do dia do desencadeamento do backup a pedido.If not specified, it's assumed to be 30 days from the day of the trigger of on-demand backup.

Desencadear uma cópia de segurança a pedido é uma operação POST.Triggering an on-demand backup is a POST operation.

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup?api-version=2016-12-01

Os {containerName} e {protectedItemName} são construídos acima.The {containerName} and {protectedItemName} are as constructed above. O {fabricName} é "Azure".The {fabricName} is "Azure". Para o nosso exemplo, isto traduz-se em:For our example, this translates to:

POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;iaasvmcontainerv2;testRG;testVM/backup?api-version=2016-12-01

Crie o corpo de pedido para backup a pedidoCreate the request body for on-demand backup

Para desencadear uma cópia de segurança a pedido, seguem-se os componentes do corpo de pedido.To trigger an on-demand backup, following are the components of the request body.

NomeName TipoType DescriptionDescription
propriedadesproperties IaaSVMBackupRequestIaaSVMBackupRequest BackupRequestResource propriedadesBackupRequestResource properties

Para obter a lista completa das definições do organismo de pedido e outros detalhes, consulte as cópias de segurança para itens protegidos REST Documento API.For the complete list of definitions of the request body and other details, refer to trigger backups for protected items REST API document.

Órgão de pedido de exemplo para backup a pedidoExample request body for on-demand backup

O seguinte órgão de pedido define as propriedades necessárias para acionar uma cópia de segurança para um item protegido.The following request body defines properties required to trigger a backup for a protected item. Se a retenção não for especificada, será mantida por 30 dias a partir do momento do desencadeamento do trabalho de reserva.If the retention isn't specified, it will be retained for 30 days from the time of trigger of the backup job.

{
   "properties": {
    "objectType": "IaasVMBackupRequest",
    "recoveryPointExpiryTimeInUTC": "2018-12-01T02:16:20.3156909Z"
  }
}

Respostas para backup a pedidoResponses for on-demand backup

Desencadear uma cópia de segurança a pedido é uma operação assíncronea.Triggering an on-demand backup is an asynchronous operation. Significa que esta operação cria outra operação que precisa de ser rastreada separadamente.It means this operation creates another operation that needs to be tracked separately.

Devolve duas respostas: 202 (Aceite) quando outra operação é criada e depois 200 (OK) quando essa operação estiver concluída.It returns two responses: 202 (Accepted) when another operation is created and then 200 (OK) when that operation completes.

NomeName TipoType DescriptionDescription
202 Aceito202 Accepted AceiteAccepted

Respostas de exemplo para backup a pedidoExample responses for on-demand backup

Uma vez que envie o pedido DEM para um backup a pedido, a resposta inicial é 202 (Aceito) com um cabeçalho de localização ou cabeçalho Azure-async.Once you submit the POST request for an on-demand backup, the initial response is 202 (Accepted) with a location header or 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/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testVaultRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/b8daecaa-f8f5-44ed-9f18-491a9e9ba01f?api-version=2019-05-13
X-Content-Type-Options: nosniff
x-ms-request-id: 7885ca75-c7c6-43fb-a38c-c0cc437d8810
x-ms-client-request-id: 7df8e874-1d66-4f81-8e91-da2fe054811d; 7df8e874-1d66-4f81-8e91-da2fe054811d
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: 7885ca75-c7c6-43fb-a38c-c0cc437d8810
x-ms-routing-request-id: SOUTHINDIA:20180521T083541Z:7885ca75-c7c6-43fb-a38c-c0cc437d8810
Cache-Control: no-cache
Date: Mon, 21 May 2018 08:35:41 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testVaultRG;testVM/protectedItems/vm;testRG;testVM/operationResults/b8daecaa-f8f5-44ed-9f18-491a9e9ba01f?api-version=2019-05-13
X-Powered-By: ASP.NET

Em seguida, rastreia a operação resultante utilizando o cabeçalho de localização ou Azure-AsyncOperation cabeçalho com um simples comando GET.Then track the resulting operation using the location header or Azure-AsyncOperation header with a simple GET command.

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/a0866047-6fc7-4ac3-ba38-fb0ae8aa550f?api-version=2019-05-13

Uma vez concluída a operação, retorna 200 (OK) com o ID do trabalho de backup resultante no organismo de resposta.Once the operation completes, it returns 200 (OK) with the ID of the resulting backup job in the response body.

HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: a8b13524-2c95-445f-b107-920806f385c1
x-ms-client-request-id: 5a63209d-3708-4e69-a75f-9499f4c8977c; 5a63209d-3708-4e69-a75f-9499f4c8977c
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14995
x-ms-correlation-request-id: a8b13524-2c95-445f-b107-920806f385c1
x-ms-routing-request-id: SOUTHINDIA:20180521T083723Z:a8b13524-2c95-445f-b107-920806f385c1
Cache-Control: no-cache
Date: Mon, 21 May 2018 08:37:22 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET

{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "status": "Succeeded",
  "startTime": "2018-05-21T08:35:40.9488967Z",
  "endTime": "2018-05-21T08:35:40.9488967Z",
  "properties": {
    "objectType": "OperationStatusJobExtendedInfo",
    "jobId": "7ddead57-bcb9-4269-ac31-6a1b57588700"
  }
}

Uma vez que o trabalho de backup é uma operação de longa duração, tem de ser rastreado como explicado nos trabalhos de monitorização utilizando o documento REST API.Since the backup job is a long running operation, it needs to be tracked as explained in the monitor jobs using REST API document.

Modifique a configuração de backup para um Azure VM protegidoModify the backup configuration for a protected Azure VM

Alteração da política de proteçãoChanging the policy of protection

Para alterar a política com a qual o VM está protegido, pode utilizar o mesmo formato que permitir a proteção.To change the policy with which VM is protected, you can use the same format as enabling protection. Basta fornecer a nova identificação de política no órgão de pedido e apresentar o pedido.Just provide the new policy ID in the request body and submit the request. Por exemplo: Para alterar a política de testVM de 'DefaultPolicy' para 'ProdPolicy', forneça o ID 'ProdPolicy' no organismo de pedido.For example: To change the policy of testVM from 'DefaultPolicy' to 'ProdPolicy', provide the 'ProdPolicy' ID in the request body.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupPolicies/ProdPolicy"
  }
}

A resposta seguirá o mesmo formato mencionado para permitir a proteçãoThe response will follow the same format as mentioned for enabling protection

Excluindo os discos durante a proteção Azure VMExcluding disks during Azure VM protection

Se o VM Azure já estiver apoiado, pode especificar a lista de discos a apoiar ou excluir alterando a política de proteção.If the Azure VM is already backed up, you can specify the list of disks to be backed up or excluded by changing the policy of protection. Basta preparar o pedido no mesmo formato que excluindo discos durante a proteçãoJust prepare the request in the same format as excluding disks during enabling protection

Importante

O órgão de pedido acima é sempre a cópia final dos discos de dados a excluir ou incluído.The request body above is always the final copy of data disks to be excluded or included. Isto não aumenta a configuração anterior.This doesn't add to the previous configuration. Por exemplo: Se atualizar a proteção como "excluir o disco de dados 1" e depois repetir com "excluir o disco de dados 2", apenas o disco de dados 2 está excluído nas cópias de segurança subsequentes e o disco de dados 1 será incluído.For example: If you first update the protection as "exclude data disk 1" and then repeat with "exclude data disk 2", only data disk 2 is excluded in the subsequent backups and data disk 1 will be included. Esta é sempre a lista final que será incluída/excluída nas cópias de segurança subsequentes.This is always the final list which will be included/excluded in the subsequent backups.

Para obter a lista atual de discos excluídos ou incluídos, obtenha as informações de produto protegido, conforme mencionado aqui.To get the current list of disks which are excluded or included, get the protected item information as mentioned here. A resposta fornecerá a lista de LUNs de disco de dados e indica se estão incluídas ou excluídas.The response will provide the list of data disk LUNs and indicates whether they are included or excluded.

Parar a proteção, mas reter os dados existentesStop protection but retain existing data

Para remover a proteção de um VM protegido, mas reter os dados já apoiados, remova a política no órgão de pedido e submeta o pedido.To remove protection on a protected VM but retain the data already backed up, remove the policy in the request body and submit the request. Uma vez que a associação com a política é removida, os backups já não são desencadeados e não são criados novos pontos de recuperação.Once the association with policy is removed, backups are no longer triggered and no new recovery points are created.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "policyId": ""
  }
}

A resposta seguirá o mesmo formato mencionado para desencadear uma cópia de segurança a pedido.The response will follow the same format as mentioned for triggering an on-demand backup. O trabalho resultante deve ser acompanhado, tal como explicado nos postos de controlo, utilizando o documento REST API.The resultant job should be tracked as explained in the monitor jobs using REST API document.

Parar a proteção e apagar dadosStop protection and delete data

Para remover a proteção de um VM protegido e eliminar os dados de cópia de segurança também, execute uma operação de eliminação conforme detalhado aqui.To remove the protection on a protected VM and delete the backup data as well, perform a delete operation as detailed here.

Parar a proteção e eliminar dados é uma operação DELETE.Stopping protection and deleting data is a DELETE operation.

DELETE https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}?api-version=2019-05-13

Os {containerName} e {protectedItemName} são construídos acima.The {containerName} and {protectedItemName} are as constructed above. {fabricName} é "Azure".{fabricName} is "Azure". Para o nosso exemplo, isto traduz-se em:For our example, this translates to:

DELETE https://management.azure.com//Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;iaasvmcontainerv2;testRG;testVM?api-version=2019-05-13

Respostas para eliminar a proteçãoResponses for delete protection

A proteção DELETE é uma operação assíncronea.DELETE protection is an asynchronous operation. Significa que esta operação cria outra operação que precisa de ser rastreada separadamente.It means this operation creates another operation that needs to be tracked separately.

Devolve duas respostas: 202 (Aceite) quando outra operação é criada e, em seguida, 204 (NoContent) quando essa operação estiver concluída.It returns two responses: 202 (Accepted) when another operation is created and then 204 (NoContent) when that operation completes.

NomeName TipoType DescriptionDescription
204 NoContent204 NoContent NoContentNoContent
202 Aceito202 Accepted AceiteAccepted

Importante

Para proteger contra cenários de eliminação acidental, existe uma funcionalidade de eliminação suave disponível para o cofre dos Serviços de Recuperação.In order to protect against accidental delete scenarios, there's a soft-delete feature available for Recovery Services vault. Se o estado de eliminação suave do cofre estiver definido para ativar, a operação de eliminação não apagará imediatamente os dados.If the soft-delete state of the vault is set to enabled, then the delete operation won't immediately delete the data. Será mantido por 14 dias e depois permanentemente purgado.It will be kept for 14 days and then permanently purged. Não é cobrado para armazenamento por este período de 14 dias.You aren't charged for storage for this 14 days period. Para desfazer a operação de eliminação, consulte a secção de eliminação.To undo the deletion operation, refer to the undo-delete section.

Desfazer a eliminaçãoUndo the deletion

Desfazer a eliminação acidental é semelhante à criação do item de reserva.Undoing the accidental deletion is similar to creating the backup item. Depois de desfazer a eliminação, o item é retido, mas não são acionados futuros backups.After undoing the deletion, the item is retained but no future backups are triggered.

A eliminação de desfazer é uma operação PUT muito semelhante a alterar a política e/ou permitir a proteção.Undo deletion is a PUT operation which is very similar to changing the policy and/or enabling the protection. Basta fornecer a intenção de desfazer a supressão com a variável é Reidratar no órgão de pedido e apresentar o pedido.Just provide the intent to undo the deletion with the variable isRehydrate in the request body and submit the request. Por exemplo: Para desfazer a supressão para o testVM, deve ser utilizado o seguinte organismo de pedido.For example: To undo the deletion for testVM, the following request body should be used.

{
  "properties": {
    "protectedItemType": "Microsoft.Compute/virtualMachines",
    "protectionState": "ProtectionStopped",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
    "isRehydrate": true
  }
}

A resposta seguirá o mesmo formato mencionado para desencadear uma cópia de segurança a pedido.The response will follow the same format as mentioned for triggering an on-demand backup. O trabalho resultante deve ser acompanhado, tal como explicado nos postos de controlo, utilizando o documento REST API.The resultant job should be tracked as explained in the monitor jobs using REST API document.

Passos seguintesNext steps

Restaurar os dados de uma cópia de segurança da máquina Virtual Azure.Restore data from an Azure Virtual machine backup.

Para obter mais informações sobre as APIs de backup Azure, consulte os seguintes documentos:For more information on the Azure Backup REST APIs, see the following documents: