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.