Condividi tramite


Backup di condivisione file di Azure usando Backup di Azure tramite l'API REST

Questo articolo illustra 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 di Servizi di ripristino e i criteri per la configurazione del backup per la condivisione file. Se non lo si è già fatto, vedere le esercitazioni Creare insiemi di credenziali e Creare criteri per creare nuovi insiemi di credenziali e criteri.

Per questo articolo, saranno necessarie le risorse seguenti:

  • RecoveryServicesVault: azurefilesvault

  • Criteri: schedule1

  • Gruppo di risorse: azurefiles

  • Account di archiviazione: testvault2

  • Condivisione file: testshare

Configurare il backup di 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 di cui è possibile eseguire il backup nell'insieme di credenziali di Servizi di ripristino. Questa azione viene attivata tramite l'operazione di aggiornamento, Si tratta di un'operazione di POST asincrona che assicura che l'insieme di credenziali riceva l'elenco più recente di tutte le condivisioni file di Azure non protette nella sottoscrizione corrente e li ''memorizza nella cache''. Una volta ''memorizzata nella cache'' la condivisione file, i servizi di ripristino possono accedervi 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 include i parametri {subscriptionId}, {vaultName}, {vaultresourceGroupName} e {fabricName}. Nell'esempio, i valori per i diversi parametri sono i seguenti:

  • {fabricName} è Azure

  • {vaultName} è azurefilesvault

  • {vaultresourceGroupName} è azurefiles

  • $filter=backupManagementType eq 'AzureStorage'

Poiché tutti i parametri obbligatori vengono specificati nell'URI, non è necessario un corpo della 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.

L'operazione restituisce due risposte: 202 (Accettata) quando viene creata un'altra operazione e 200 (OK) quando tale operazione viene completata.

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

Una volta individuati gli account di Archiviazione di Azure, il comando GET restituisce una risposta 204 che non prevede la restituzione di alcun contenuto. L'insieme di credenziali è ora in grado di individuare qualsiasi account di archiviazione con condivisioni file di cui è possibile eseguire il 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 di account di archiviazione con condivisioni file di cui è possibile eseguire il backup con l'insieme di credenziali di Servizi di ripristino

Per confermare che la ''memorizzazione nella cache'' sia stata eseguita, elencare tutti gli account di archiviazione con condivisioni file di cui è possibile eseguire il 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 è riuscita. L'insieme di credenziali di Servizi di ripristino è ora in grado di 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} - Si tratta dell'attributo name presente nel corpo della risposta dell'operazione GET ProtectableContainers. In questo esempio, è StorageContainer;Storage;AzureFiles;testvault2

Nota

Accettare sempre l'attributo nome della risposta e inserirlo in questa richiesta. Non impostare come hard-code né creare il formato nome-contenitore. Se viene creato o viene eseguito l’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, fare riferimento a ProtectionContainers-Register.

Si tratta di un'operazione asincrona che restituisce due risposte: "202 Accepted" quando l'operazione è accettata e "200 OK" quando l'operazione è completata. Per tenere traccia dello stato dell'operazione, usare l'intestazione della posizione 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 completamento 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 registrationstatusnel corpo della risposta. In questo caso, viene visualizzato lo stato registrato per testvault2, quindi l'operazione di registrazione ha avuto esito positivo.

Richiedere informazioni su tutte le condivisioni file non protette presenti in un account di archiviazione

È possibile richiedere informazioni sugli elementi protetti in un account di archiviazione tramite 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. In questo esempio, è StorageContainer;Storage;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 di cui si vuole eseguire il backup

È possibile elencare tutti gli elementi proteggibili nella sottoscrizione e individuare la condivisione file desiderata di cui eseguire il backup tramite 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 segue:

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

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 tutte le informazioni richieste dal servizio di ripristino di Azure per configurare il backup.

Abilitare il backup per la condivisione file

Dopo aver "identificato" la condivisione file pertinente con il nome descrittivo, selezionare i criteri da proteggere. Per altre informazioni sui criteri esistenti nell’insieme di credenziali, vedere l'elenco di API dei criteri. 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 containername 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 di protezione e alle risposte degli elementi proteggibili.

Nota

Accettare sempre l'attributo nome della risposta e inserirlo in questa richiesta. Non eseguire l’hard-code né creare il formato di container-name o il formato del nome dell'elemento protetto. Se viene creato o eseguito l’hard-code, la chiamata API avrà esito negativo nel caso in cui il formato di container-name o del nome dell'elemento protetto cambi 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 è il parentcontainerFabricID in risposta a GET backupprotectableItems.

Risposta di esempio

La creazione di un elemento protetto è un'operazione asincrona che crea un'altra operazione che deve essere rilevata. L'operazione restituisce due risposte: 202 (Accepted) quando viene creata un'altra operazione e 200 (OK) quando tale operazione viene completata.

Dopo aver inviato la PUT richiesta di creazione o aggiornamento di elementi protetti, 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 location o 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 una condivisione file

Una volta configurata la 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.

L'operazione restituisce due risposte: 202 (Accepted) quando viene creata un'altra operazione e 200 (OK) quando tale operazione viene completata.

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 location o 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.

Corpo della risposta di esempio

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