Partilhar via


Backup do compartilhamento de arquivos do Azure usando o Backup do Azure via API REST

Este artigo descreve como fazer backup de um compartilhamento de arquivos do Azure usando o Backup do Azure via API REST.

Este artigo pressupõe que você já tenha criado um cofre dos Serviços de Recuperação e uma política para configurar o backup para seu compartilhamento de arquivos. Se ainda não o fez, consulte os tutoriais Criar cofre e criar política REST API para criar novos cofres e políticas.

Para este artigo, usaremos os seguintes recursos:

  • RecoveryServicesVault: azurefilesvault

  • Política: schedule1

  • Grupo de recursos: azurefiles

  • Conta de armazenamento: testvault2

  • Partilha de ficheiros: testshare

Configurar o backup para um compartilhamento de arquivos desprotegido do Azure usando a API REST

Descubra contas de armazenamento com compartilhamentos de arquivos do Azure desprotegidos

O cofre precisa descobrir todas as contas de armazenamento do Azure na assinatura com compartilhamentos de arquivos que podem ser copiados para o cofre dos Serviços de Recuperação. Isso é acionado usando a operação de atualização. É uma operação POST assíncrona que garante que o cofre obtenha a lista mais recente de todos os compartilhamentos de Arquivos do Azure desprotegidos na assinatura atual e os 'armazene em cache'. Uma vez que o compartilhamento de arquivos é 'armazenado em cache', os serviços de recuperação podem acessar o compartilhamento de arquivos e protegê-lo.

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

O URI POST tem {subscriptionId}, {vaultName}, {vaultresourceGroupName}, e {fabricName} parâmetros. No nosso exemplo, o valor para os diferentes parâmetros será o seguinte:

  • {fabricName} é Azure

  • {vaultName} é azurefilesvault

  • {vaultresourceGroupName} é azurefiles

  • $filter=backupManagementType eq 'AzureStorage'

Como todos os parâmetros necessários são fornecidos no URI, não há necessidade de um corpo de solicitação separado.

POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/refreshContainers?api-version=2016-12-01&$filter=backupManagementType eq 'AzureStorage'

Respostas à operação de atualização

A operação 'refresh' é uma operação assíncrona. Isso significa que essa operação cria outra operação que precisa ser rastreada separadamente.

Ele retorna duas respostas: 202 (Aceito) quando outra operação é criada e 200 (OK) quando essa operação é concluída.

Exemplos de respostas à operação de atualização

Uma vez que a solicitação POST é enviada, uma resposta 202 (Aceito) é retornada.

HTTP/1.1 202 Accepted
'Pragma': 'no-cache'
'Expires': '-1'
'Location': ‘https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/ResourceGroups
/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/operationResults/
cca47745-12d2-42f9-b3a4-75335f18fdf6?api-version=2016-12-01’
'Retry-After': '60'
'X-Content-Type-Options': 'nosniff'
'x-ms-request-id': '6cc12ceb-90a2-430d-a1ec-9b6b6fdea92b'
'x-ms-client-request-id': ‘3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61’
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
'X-Powered-By': 'ASP.NET'
'x-ms-ratelimit-remaining-subscription-reads': '11996'
'x-ms-correlation-request-id': '6cc12ceb-90a2-430d-a1ec-9b6b6fdea92b'
'x-ms-routing-request-id': CENTRALUSEUAP:20200203T091326Z:6cc12ceb-90a2-430d-a1ec-9b6b6fdea92b'
'Date': 'Mon, 03 Feb 2020 09:13:25 GMT'

Acompanhe a operação resultante usando o cabeçalho "Location" com um simples comando GET

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/operationResults/cca47745-12d2-42f9-b3a4-75335f18fdf6?api-version=2016-12-01

Depois que todas as contas de Armazenamento do Azure forem descobertas, o comando GET retornará uma resposta 204 (Sem Conteúdo). O cofre agora pode descobrir qualquer conta de armazenamento com compartilhamentos de arquivos que podem ser copiados dentro da assinatura.

HTTP/1.1 200 NoContent
Cache-Control  : no-cache
Pragma   : no-cache
X-Content-Type-Options  : nosniff
x-ms-request-id    : d9bdb266-8349-4dbd-9688-de52f07648b2
x-ms-client-request-id  : 3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61
Strict-Transport-Security  : max-age=31536000; includeSubDomains
X-Powered-By    : ASP.NET
x-ms-ratelimit-remaining-subscription-reads: 11933
x-ms-correlation-request-id   : d9bdb266-8349-4dbd-9688-de52f07648b2
x-ms-routing-request-id  : CENTRALUSEUAP:20200127T105304Z:d9bdb266-8349-4dbd-9688-de52f07648b2
Date   : Mon, 27 Jan 2020 10:53:04 GMT

Obter lista de contas de armazenamento com compartilhamentos de arquivos que podem ser copiados com o cofre dos Serviços de Recuperação

Para confirmar se o "cache" foi feito, liste todas as contas de armazenamento na assinatura com compartilhamentos de arquivos que podem ser copiados com o cofre dos Serviços de Recuperação. Em seguida, localize a conta de armazenamento desejada na resposta. Isso é feito usando a operação GET ProtectableContainers .

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectableContainers?api-version=2016-12-01&$filter=backupManagementType eq 'AzureStorage'

O GET URI tem todos os parâmetros necessários. Não é necessário nenhum corpo de solicitação adicional.

Exemplo de corpo de resposta:

{

  "value": [

​    {

​      "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers
 /Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/

protectableContainers/StorageContainer;Storage;AzureFiles;testvault2",

​      "name": "StorageContainer;Storage;AzureFiles;testvault2",

​      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",

​      "properties": {

​        "friendlyName": "testvault2",

​        "backupManagementType": "AzureStorage",

​        "protectableContainerType": "StorageContainer",

​        "healthStatus": "Healthy",

​        "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/
 AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2"

​      }

​    }

  ]

}

Como podemos localizar a conta de armazenamento testvault2 no corpo da resposta com o nome amigável, a operação de atualização executada acima foi bem-sucedida. O cofre dos Serviços de Recuperação agora pode descobrir com êxito contas de armazenamento com compartilhamentos de arquivos desprotegidos na mesma assinatura.

Registrar conta de armazenamento com o cofre dos Serviços de Recuperação

Esta etapa só é necessária se você não tiver registrado a conta de armazenamento no cofre anteriormente. Você pode registrar o cofre por meio da operação ProtectionContainers-Register.

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

Defina as variáveis para o URI da seguinte maneira:

  • {resourceGroupName} - azurefiles
  • {fabricName} - Azure
  • {vaultName} - azurefilesvault
  • {containerName} - Este é o atributo name no corpo da resposta da operação GET ProtectableContainers. No nosso exemplo, é StorageContainer;Storage;AzureFiles;testvault2

Nota

Pegue sempre o atributo name da resposta e preencha-o nesta solicitação. Não codifice nem crie o formato container-name. Se você criá-lo ou codificá-lo, a chamada de API falhará se o formato de nome do contêiner for alterado no futuro.


PUT https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2?api-version=2016-12-01

O corpo da solicitação de criação é o seguinte:

{

 "properties": {


  "containerType": "StorageContainer",


  "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",


  "resourceGroup": "AzureFiles",


  "friendlyName": "testvault2",


  "backupManagementType": "AzureStorage"

 }
}

Para obter a lista completa de definições do corpo da solicitação e outros detalhes, consulte ProtectionContainers-Register.

Esta é uma operação assíncrona e retorna duas respostas: "202 Accepted" quando a operação é aceita e "200 OK" quando a operação é concluída. Para acompanhar o status da operação, use o cabeçalho do local para obter o status mais recente da operação.

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/operationresults/1a3c8ee7-e0e5-43ed-b8b3-73cc992b6db9?api-version=2016-12-01

Exemplo de corpo de resposta quando a operação é concluída:

{
    "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/
protectionContainers/StorageContainer;Storage;AzureFiles;testvault2",
    "name": "StorageContainer;Storage;AzureFiles;testvault2",
    "properties": {
        "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",
        "protectedItemCount": 0,
        "friendlyName": "testvault2",
        "backupManagementType": "AzureStorage",
        "registrationStatus": "Registered",
        "healthStatus": "Healthy",
        "containerType": "StorageContainer",
        "protectableObjectType": "StorageContainer"
    }
}

Você pode verificar se o registro foi bem-sucedido a partir do valor do registrationstatus parâmetro no corpo da resposta. No nosso caso, ele mostra o status como registrado para testvault2, então a operação de registro foi bem-sucedida.

Informe-se sobre todos os compartilhamentos de arquivos desprotegidos em uma conta de armazenamento

Você pode obter informações sobre itens protegíveis em uma conta de armazenamento usando a operação Protection Containers-Inquire . É uma operação assíncrona e os resultados devem ser rastreados usando o cabeçalho location.

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

Defina as variáveis para o URI acima da seguinte maneira:

  • {vaultName} - azurefilesvault
  • {fabricName} - Azure
  • {containerName}- Consulte o atributo name no corpo da resposta da operação GET ProtectableContainers. No nosso exemplo, é StorageContainer; Armazenagem; AzureFiles; Testvault2
https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/inquire?api-version=2016-12-01

Uma vez que a solicitação é bem-sucedida, ele retorna o código de status "OK"

Cache-Control : no-cache
Pragma   : no-cache
X-Content-Type-Options: nosniff
x-ms-request-id  : 68727f1e-b8cf-4bf1-bf92-8e03a9d96c46
x-ms-client-request-id  : 3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61
Strict-Transport-Security: max-age=31536000; includeSubDomains
Server  : Microsoft-IIS/10.0
X-Powered-B : ASP.NET
x-ms-ratelimit-remaining-subscription-reads: 11932
x-ms-correlation-request-id  : 68727f1e-b8cf-4bf1-bf92-8e03a9d96c46
x-ms-routing-request-id   : CENTRALUSEUAP:20200127T105305Z:68727f1e-b8cf-4bf1-bf92-8e03a9d96c46
Date  : Mon, 27 Jan 2020 10:53:05 GMT

Selecione o compartilhamento de arquivos do qual deseja fazer backup

Você pode listar todos os itens protegíveis na assinatura e localizar o compartilhamento de arquivos desejado para backup usando a operação GET backupprotectableItems .

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

Construa o URI da seguinte maneira:

  • {vaultName} - azurefilesvault
  • {$filter} - backupManagementType eq 'AzureStorage'
GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupProtectableItems?$filter=backupManagementType eq 'AzureStorage'&api-version=2016-12-01

Exemplo de resposta:

Status Code:200

{
    "value": [
        {
            "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;afaccount1/protectableItems/azurefileshare;azurefiles1",
            "name": "azurefileshare;azurefiles1",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
            "properties": {
                "parentContainerFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/afaccount1",
                "parentContainerFriendlyName": "afaccount1",
                "azureFileShareType": "XSMB",
                "backupManagementType": "AzureStorage",
                "workloadType": "AzureFileShare",
                "protectableItemType": "AzureFileShare",
                "friendlyName": "azurefiles1",
                "protectionState": "NotProtected"
            }
        },
        {
            "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;afsaccount/protectableItems/azurefileshare;afsresource",
            "name": "azurefileshare;afsresource",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
            "properties": {
                "parentContainerFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/afsaccount",
                "parentContainerFriendlyName": "afsaccount",
                "azureFileShareType": "XSMB",
                "backupManagementType": "AzureStorage",
                "workloadType": "AzureFileShare",
                "protectableItemType": "AzureFileShare",
                "friendlyName": "afsresource",
                "protectionState": "NotProtected"
            }
        },
        {
            "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;testvault2/protectableItems/azurefileshare;testshare",
            "name": "azurefileshare;testshare",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
            "properties": {
                "parentContainerFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",
                "parentContainerFriendlyName": "testvault2",
                "azureFileShareType": "XSMB",
                "backupManagementType": "AzureStorage",
                "workloadType": "AzureFileShare",
                "protectableItemType": "AzureFileShare",
                "friendlyName": "testshare",
                "protectionState": "NotProtected"
            }
        }
    ]
}

A resposta contém a lista de todos os compartilhamentos de arquivos desprotegidos e contém todas as informações exigidas pelo Serviço de Recuperação do Azure para configurar o backup.

Habilitar backup para o compartilhamento de arquivos

Depois que o compartilhamento de arquivos relevante for "identificado" com o nome amigável, selecione a política a ser protegida. Para saber mais sobre as políticas existentes no cofre, consulte listar API de política. Em seguida, selecione a política relevante referindo-se ao nome da política. Para criar políticas, consulte o tutorial Criar política.

Habilitar a proteção é uma operação PUT assíncrona que cria um "item protegido".

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

Defina as variáveis containername e protecteditemname usando o atributo ID no corpo da resposta da operação GET backupprotectableitems.

No nosso exemplo, o ID da partilha de ficheiros que queremos proteger é:

"/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;testvault2/protectableItems/azurefileshare;testshare
  • {containername} - recipiente de armazenamento; armazenamento; AzureFiles; Testvault2
  • {protectedItemName} - azurefileshare; compartilhamento de teste

Ou você pode se referir ao atributo name do contêiner de proteção e às respostas do item protegível.

Nota

Pegue sempre o atributo name da resposta e preencha-o nesta solicitação. Não codifice nem crie o formato de nome de contêiner ou o formato de nome de item protegido. Se você criá-lo ou codificá-lo, a chamada de API falhará se o formato de nome de contêiner ou o formato de nome de item protegido for alterado no futuro.


PUT https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/protectedItems/azurefileshare;testshare?api-version=2016-12-01

Crie um corpo de solicitação:

O corpo da solicitação a seguir define as propriedades necessárias para criar um item protegido.

{
  "properties": {
    "protectedItemType": "AzureFileShareProtectedItem",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",
    "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupPolicies/schedule1"
  }
}

O sourceResourceId é o parentcontainerFabricID em resposta a GET backupprotectableItems.

Pedido de Resposta

A criação de um item protegido é uma operação assíncrona, que cria outra operação que precisa ser rastreada. Ele retorna duas respostas: 202 (Aceito) quando outra operação é criada e 200 (OK) quando essa operação é concluída.

Depois de enviar a solicitação PUT para criação ou atualização de item protegido, a resposta inicial é 202 (Aceito) com um cabeçalho de local.

HTTP/1.1 202 Accepted
Cache-Control  : no-cache
Pragma  : no-cache
Location : https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/protectedItems/azurefileshare;testshare/operationResults/c3a52d1d-0853-4211-8141-477c65740264?api-version=2016-12-01
Retry-Afte  : 60
Azure-AsyncOperation  : https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/protectedItems/azurefileshare;testshare/operationResults/c3a52d1d-0853-4211-8141-477c65740264?api-version=2016-12-01
X-Content-Type-Options : nosniff
x-ms-request-id : b55527fa-f473-4f09-b169-9cc3a7a39065
x-ms-client-request-id: 3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61
Strict-Transport-Security : max-age=31536000; includeSubDomains
X-Powered-By  : ASP.NET
x-ms-ratelimit-remaining-subscription-writes: 1198
x-ms-correlation-request-id : b55527fa-f473-4f09-b169-9cc3a7a39065
x-ms-routing-request-id  : CENTRALUSEUAP:20200127T105412Z:b55527fa-f473-4f09-b169-9cc3a7a39065
Date : Mon, 27 Jan 2020 10:54:12 GMT

Em seguida, acompanhe a operação resultante usando o cabeçalho location ou o cabeçalho Azure-AsyncOperation com um comando GET .

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupOperations/c3a52d1d-0853-4211-8141-477c65740264?api-version=2016-12-01

Quando a operação for concluída, ela retornará 200 (OK) com o conteúdo do item protegido no corpo da resposta.

Corpo da resposta da amostra:

{
    "id": "c3a52d1d-0853-4211-8141-477c65740264",
    "name": "c3a52d1d-0853-4211-8141-477c65740264",
    "status": "Succeeded",
    "startTime": "2020-02-03T18:10:48.296012Z",
    "endTime": "2020-02-03T18:10:48.296012Z",
    "properties": {
        "objectType": "OperationStatusJobExtendedInfo",
        "jobId": "e2ca2cf4-2eb9-4d4b-b16a-8e592d2a658b"
    }
}

Isso confirma que a proteção está habilitada para o compartilhamento de arquivos e o primeiro backup será acionado de acordo com o cronograma da política.

Acionar um backup sob demanda para compartilhamento de arquivos

Depois que um compartilhamento de arquivos do Azure é configurado para backup, os backups são executados de acordo com a agenda da política. Você pode aguardar o primeiro backup agendado ou acionar um backup sob demanda a qualquer momento.

Acionar um backup sob demanda é uma operação POST.

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

{containerName} e {protectedItemName} são como construído acima ao habilitar o backup. Para o nosso exemplo, isto traduz-se em:

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;azurefiles;testvault2/protectedItems/AzureFileShare;testshare/backup?api-version=2017-07-01

Criar corpo de solicitação

Para acionar um backup sob demanda, a seguir estão os componentes do corpo da solicitação.

Nome Tipo Description
Propriedades AzurefilesharebackupReques BackupRequestResource propriedades

Para obter a lista completa de definições do corpo da solicitação e outros detalhes, consulte o documento da API REST de backups de gatilho para itens protegidos.

Exemplo de corpo de solicitação

{

  "properties":{

   "objectType":"AzureFileShareBackupRequest",
    "recoveryPointExpiryTimeInUTC":"2020-03-07T18:29:59.000Z"
}

}

Respostas à operação de backup sob demanda

Acionar um backup sob demanda é uma operação assíncrona. Isso significa que essa operação cria outra operação que precisa ser rastreada separadamente.

Ele retorna duas respostas: 202 (Aceito) quando outra operação é criada e 200 (OK) quando essa operação é concluída.

Exemplos de respostas à operação de backup sob demanda

Depois de enviar a solicitação POST para um backup sob demanda, a resposta inicial é 202 (Aceito) com um cabeçalho de local ou Azure-async-header.

'Cache-Control': 'no-cache'
'Pragma': 'no-cache'
'Expires': '-1'
'Location': https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;azurefiles;testvault2/protectedItems/AzureFileShare;testshare/operationResults/dc62d524-427a-4093-968d-e951c0a0726e?api-version=2017-07-01
'Retry-After': '60'
'Azure-AsyncOperation': https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;azurefiles;testvault2/protectedItems/AzureFileShare;testshare/operationsStatus/dc62d524-427a-4093-968d-e951c0a0726e?api-version=2017-07-01
'X-Content-Type-Options': 'nosniff'
'x-ms-request-id': '2e03b8d4-66b1-48cf-8094-aa8bff57e8fb'
'x-ms-client-request-id': 'a644712a-4895-11ea-ba57-0a580af42708, a644712a-4895-11ea-ba57-0a580af42708'
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
'X-Powered-By': 'ASP.NET'
'x-ms-ratelimit-remaining-subscription-writes': '1199'
'x-ms-correlation-request-id': '2e03b8d4-66b1-48cf-8094-aa8bff57e8fb'
'x-ms-routing-request-id': 'WESTEUROPE:20200206T040339Z:2e03b8d4-66b1-48cf-8094-aa8bff57e8fb'
'Date': 'Thu, 06 Feb 2020 04:03:38 GMT'
'Content-Length': '0'

Em seguida, acompanhe a operação resultante usando o cabeçalho location ou o cabeçalho Azure-AsyncOperation com um comando GET .

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupOperations/dc62d524-427a-4093-968d-e951c0a0726e?api-version=2016-12-01

Quando a operação for concluída, ela retornará 200 (OK) com a ID do trabalho de backup resultante no corpo da resposta.

Corpo de resposta da amostra

{
    "id": "dc62d524-427a-4093-968d-e951c0a0726e",
    "name": "dc62d524-427a-4093-968d-e951c0a0726e",
    "status": "Succeeded",
    "startTime": "2020-02-06T11:06:02.1327954Z",
    "endTime": "2020-02-06T11:06:02.1327954Z",
    "properties": {
        "objectType": "OperationStatusJobExtendedInfo",
        "jobId": "39282261-cb52-43f5-9dd0-ffaf66beeaef"
    }
}

Como o trabalho de backup é uma operação de longa execução, ele precisa ser rastreado conforme explicado nos trabalhos de monitor usando o documento da API REST.

Próximos passos

  • Saiba como restaurar compartilhamentos de arquivos do Azure usando a API REST.