Condividi tramite


Eseguire il backup della condivisione file di Azure usando Backup di Azure tramite l'API REST

Questo articolo descrive come eseguire il backup di una condivisione file di Azure usando Backup di Azure tramite l'API REST.

Questo articolo presuppone che sia già stato creato un insieme di credenziali e criteri di Servizi di ripristino per la configurazione del backup per la condivisione file. Se non è stato fatto, vedere le esercitazioni sulla creazione dell'insieme di credenziali e sulla creazione di api REST dei criteri per la creazione di nuovi insiemi di credenziali e criteri.

Per questo articolo verranno usate le risorse seguenti:

  • RecoveryServicesVault: azurefilesvault

  • Policy:schedule1

  • Gruppo di risorse: azurefiles

  • Account di archiviazione: testvault2

  • Condivisione file: testshare

Configurare il backup per una condivisione file di Azure non protetta tramite l'API REST

Individuare gli account di archiviazione con condivisioni file di Azure non protette

L'insieme di credenziali deve individuare tutti gli account di archiviazione di Azure nella sottoscrizione con condivisioni file che possono essere sottoposte a backup nell'insieme di credenziali di Servizi di ripristino. Questa azione viene attivata tramite l'operazione di aggiornamento, È un'operazione POST asincrona che garantisce che l'insieme di credenziali ottenga l'elenco più recente di tutte le condivisioni file di Azure non protette nella sottoscrizione corrente e "cache". Dopo che la condivisione file è "memorizzata nella cache", i servizi di ripristino possono accedere alla condivisione file e proteggerla.

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

L'URI POST ha {subscriptionId}parametri , {vaultName}, {vaultresourceGroupName}e {fabricName} . Nell'esempio il valore per i diversi parametri sarà il seguente:

  • {fabricName} è Azure

  • {vaultName} è azurefilesvault

  • {vaultresourceGroupName} è azurefiles

  • $filter=backupManagementType eq 'AzureStorage'

Poiché tutti i parametri necessari vengono forniti nell'URI, non è necessario un corpo di richiesta separato.

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'

Risposte all'operazione di aggiornamento

L'operazione di aggiornamento è un'operazione asincrona. Ciò significa che l'operazione consente di creare un'altra operazione che deve essere registrata separatamente.

Restituisce due risposte: 202 (accettata) quando viene creata un'altra operazione e 200 (OK) al termine dell'operazione.

Risposte di esempio all'operazione di aggiornamento

Dopo che la richiesta POST è stata inviata, viene restituita una risposta 202 di accettazione.

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'

Tenere traccia dell'operazione risultante tramite l'intestazione "Location" con un semplice 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

Dopo aver individuato tutti gli account di Archiviazione di Azure, il comando GET restituisce una risposta 204 (Nessun contenuto). L'insieme di credenziali è ora in grado di individuare qualsiasi account di archiviazione con condivisioni file che possono essere sottoposte a backup all'interno della sottoscrizione.

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

Ottenere l'elenco degli account di archiviazione con condivisioni file che possono essere sottoposte a backup con l'insieme di credenziali di Servizi di ripristino

Per verificare che venga eseguita la "memorizzazione nella cache", elencare tutti gli account di archiviazione nella sottoscrizione con condivisioni file che possono essere sottoposte a backup con l'insieme di credenziali di Servizi di ripristino. Individuare quindi l'account di archiviazione desiderato nella risposta. Questa operazione viene eseguita usando l'operazione 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'

All'URI GET sono associati tutti i parametri obbligatori. Non è necessario alcun corpo della richiesta aggiuntivo.

Esempio di corpo della risposta:

{

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

​      }

​    }

  ]

}

Poiché è possibile individuare l'account di archiviazione testvault2 nel corpo della risposta con il nome descrittivo, l'operazione di aggiornamento eseguita in precedenza ha avuto esito positivo. L'insieme di credenziali di Servizi di ripristino può ora individuare correttamente gli account di archiviazione con condivisioni file non protette nella stessa sottoscrizione.

Registrare l'account di archiviazione con l'insieme di credenziali di Servizi di ripristino

Questo passaggio è necessario solo se non è stato registrato l'account di archiviazione con l'insieme di credenziali in precedenza. È possibile registrare l'insieme di credenziali tramite l'operazione 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

Impostare le variabili per l'URI come indicato di seguito:

  • {resourceGroupName} - azurefiles
  • {fabricName} - Azure
  • {vaultName} - azurefilesvault
  • {containerName} : questo è l'attributo name nel corpo della risposta dell'operazione GET ProtectableContainers. Nell'esempio è StorageContainer; Archiviazione; AzureFiles;testvault2

Nota

Prendere sempre l'attributo name della risposta e compilarlo in questa richiesta. Non eseguire il codice rigido o creare il formato del nome del contenitore. Se si crea o hard-code, la chiamata API avrà esito negativo se il formato del nome del contenitore cambia in 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

Il corpo della richiesta di creazione è il seguente:

{

 "properties": {


  "containerType": "StorageContainer",


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


  "resourceGroup": "AzureFiles",


  "friendlyName": "testvault2",


  "backupManagementType": "AzureStorage"

 }
}

Per l'elenco completo delle definizioni del corpo della richiesta e altri dettagli, vedere ProtectionContainers-Register.

Si tratta di un'operazione asincrona e restituisce due risposte: "202 Accettata" quando l'operazione viene accettata e "200 OK" al termine dell'operazione. Per tenere traccia dello stato dell'operazione, usare l'intestazione percorso per ottenere lo stato più recente dell'operazione.

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

Esempio di corpo della risposta al termine dell'operazione:

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

È possibile verificare se la registrazione ha avuto esito positivo dal valore del parametro registrationstatus nel corpo della risposta. In questo caso, viene visualizzato lo stato registrato per testvault2, quindi l'operazione di registrazione ha avuto esito positivo.

Verificare tutte le condivisioni file non protette in un account di archiviazione

È possibile richiedere informazioni sugli elementi protetti in un account di archiviazione usando l'operazione Protection Containers-Inquire . Si tratta di un'operazione asincrona e i risultati devono essere rilevati usando l'intestazione della posizione.

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

Impostare le variabili per l'URI precedente come indicato di seguito:

  • {vaultName} - azurefilesvault
  • {fabricName} - Azure
  • {containerName}- Fare riferimento all'attributo name nel corpo della risposta dell'operazione GET ProtectableContainers. Nell'esempio è StorageContainer; Archiviazione; 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

Una volta completata la richiesta, restituisce il codice di stato "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

Selezionare la condivisione file che si vuole eseguire il backup

È possibile elencare tutti gli elementi protetti nella sottoscrizione e individuare la condivisione file desiderata da eseguire il backup usando l'operazione GET backupprotectableItems .

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

Costruire l'URI come indicato di seguito:

  • {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

Risposta di esempio:

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

La risposta contiene l'elenco di tutte le condivisioni file non protette e contiene tutte le informazioni necessarie dal servizio di ripristino di Azure per configurare il backup.

Abilitare il backup per la condivisione file

Dopo che la condivisione file pertinente è "identificata" con il nome descrittivo, selezionare il criterio da proteggere. Per altre informazioni sui criteri esistenti nell'insieme di credenziali, vedere l'API Criteri di elenco. e quindi selezionare i criteri rilevanti facendo riferimento al nome dei criteri stessi. Per creare i criteri, vedere l'esercitazione sulla creazione di criteri.

L'abilitazione della protezione è un'operazione PUT asincrona che crea un "elemento protetto".

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

Impostare le variabili nome contenitore e protecteditemname usando l'attributo ID nel corpo della risposta dell'operazione GET backupprotectableitems.

Nell'esempio, l'ID della condivisione file da proteggere è:

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

In alternativa, è possibile fare riferimento all'attributo name del contenitore protezione e alle risposte agli elementi protette.

Nota

Prendere sempre l'attributo name della risposta e compilarlo in questa richiesta. Non eseguire il codice rigido o creare il formato del nome del contenitore o il formato del nome dell'elemento protetto. Se si crea o hard-code, la chiamata API avrà esito negativo se il formato del nome del contenitore o il formato del nome dell'elemento protetto cambia in 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

Creare un corpo della richiesta:

Il corpo della richiesta seguente definisce le proprietà necessarie per creare un elemento protetto.

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

SourceResourceId è parentcontainerFabricID in risposta a GET backupprotectableItems.

Risposta di esempio

La creazione di un elemento protetto è un'operazione asincrona, che crea un'altra operazione da tenere traccia. Restituisce due risposte: 202 (accettata) quando viene creata un'altra operazione e 200 (OK) al termine dell'operazione.

Dopo aver inviato la richiesta PUT per la creazione o l'aggiornamento dell'elemento protetto, la risposta iniziale è 202 (accettata) con un'intestazione di posizione.

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

Tenere quindi traccia dell'operazione risultante usando l'intestazione del percorso o l'intestazione Azure-AsyncOperation con un 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

Dopo che è stata completata, l'operazione restituisce 200 (OK) con il contenuto dell'elemento protetto nel corpo della risposta.

Corpo della risposta di esempio:

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

Ciò conferma che la protezione è abilitata per la condivisione file e il primo backup verrà attivato in base alla pianificazione dei criteri.

Attivare un backup su richiesta per la condivisione file

Dopo aver configurato una condivisione file di Azure per il backup, i backup vengono eseguiti in base alla pianificazione dei criteri. È possibile attendere il primo backup pianificato o attivare un backup su richiesta in qualsiasi momento.

L'attivazione di un backup su richiesta è un'operazione 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} sono costruiti in precedenza durante l'abilitazione del backup. Per questo esempio, la situazione è quindi la seguente:

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

Creare il corpo della richiesta

Di seguito vengono indicati i componenti del corpo della richiesta necessari per attivare un backup su richiesta.

Nome Tipo Descrizione
Proprietà AzurefilesharebackupReques Proprietà BackupRequestResource

Per l'elenco completo di definizioni del corpo della richiesta e altri dettagli, vedere il documento sull'API REST per attivare il backup di elementi protetti.

Esempio di corpo della richiesta

{

  "properties":{

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

}

Risposte all'operazione di backup su richiesta

L'attivazione di un backup su richiesta è un'operazione asincrona. Ciò significa che l'operazione consente di creare un'altra operazione che deve essere registrata separatamente.

Restituisce due risposte: 202 (accettata) quando viene creata un'altra operazione e 200 (OK) al termine dell'operazione.

Risposte di esempio all'operazione di backup su richiesta

Dopo aver inviato la richiesta POST per un backup su richiesta, la risposta iniziale è 202 (accettazione) con un'intestazione location o Azure-async.

'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'

Tenere quindi traccia dell'operazione risultante usando l'intestazione del percorso o l'intestazione Azure-AsyncOperation con un 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

Al termine dell'operazione, viene restituita la risposta 200 (OK) con l'ID del processo di backup risultante nel corpo della risposta.

Esempio di corpo della risposta

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

Poiché il processo di backup è un'operazione con esecuzione prolungata, ne deve essere tenuta traccia come illustrato nel documento per monitorare i processi usando l'API REST.

Passaggi successivi