Condividi tramite


Eseguire il ripristino temporizzato di BLOB di Azure usando l'API REST di Protezione dati di Azure

Questo articolo descrive come ripristinare i BLOB di Azure utilizzando Azure Backup e le API REST. È anche possibile ripristinare BLOB di Azure tramite Backup di Azure usando il portale di Azure, Azure PowerShell, l'interfaccia della riga di comando di Azure.

Importante

Prima di procedere al ripristino di BLOB di Azure usando Backup di Azure, vedere i punti importanti.

Prerequisiti

Questo articolo parte dal presupposto che sia disponibile un backup configurato per uno o più account di archiviazione. Scoprire come configurare un backup per i dati BLOB in blocchi se non è già configurato.

Per illustrare i passaggi di ripristino descritti in questo articolo, faremo riferimento ai BLOB in un account di archiviazione denominato msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d protetto con un insieme di credenziali di backup esistente TestBkpVault, nel gruppo di risorse testBkpVaultRG.

Preparativi per il ripristino dei BLOB di Azure

È ora possibile eseguire l'operazione di ripristino per il backup operativo e il backup con insieme di credenziali per i BLOB di Azure.

Scegliere un livello di backup:

Recuperare l'intervallo di tempo valido per il ripristino

Poiché il backup operativo per i BLOB è continuo, non esistono punti distinti da cui eseguire il ripristino. È invece necessario recuperare l'intervallo di tempo valido in cui i BLOB possono essere ripristinati a un momento qualsiasi. In questo esempio si verificherà la presenza di intervalli di tempo validi da ripristinare negli ultimi 30 giorni.

È possibile ottenere un elenco degli intervalli di tempo ripristinabili tramite l’API Trova intervalli di tempo ripristinabili. Si tratta di un'API POST, che attiva un'operazione per calcolare l'intervallo di backup continui per i BLOB nell'account di archiviazione.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/findRestorableTimeRanges?api-version=2021-01-01

Per questo esempio, l’istruzione è quindi la seguente:

POST https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d/findRestorableTimeRanges?api-version=2021-01-01

Creare il corpo della richiesta per recuperare gli intervalli di tempo validi per il ripristino

Per attivare un'operazione per calcolare gli intervalli di tempo validi, di seguito sono riportati i componenti di un corpo della richiesta.

Nome Tipo Descrizione
sourceDatastoreType RestoreSourceDataStoreType Archivio dati che contiene i dati da ripristinare
ora di inizio Stringa Ora di inizio per la richiesta di creazione dell’elenco degli intervalli di ripristino. Formato ISO 8601.
ora di fine Stringa Ora di fine per la richiesta di creazione dell’elenco degli intervalli di ripristino. Formato ISO 8601.

Corpo della richiesta di esempio per recuperare gli intervalli di tempo validi per il ripristino

Il corpo della richiesta seguente definisce le proprietà necessarie per recuperare gli intervalli di tempo dei dati continui che possono essere ripristinati. Poiché i backup di BLOB si trovano nell'account di archiviazione, l'archivio dati è operativo (OperationalStore). È possibile specificare un'ora di inizio e di fine che consenta di restringere il processo di ricerca e restituire l'intervallo di tempo disponibile.

{
  "sourceDataStoreType": "OperationalStore",
  "startTime": "",
  "endTime": ""
}

Risposte per il recupero degli intervalli di tempo validi

Dopo aver inviato la richiesta POST, la risposta è 200(OK) con l'ora di inizio e di fine dell'intervallo disponibile per il ripristino comprese entro l'ora di inizio e di fine specificate nella richiesta.

Nome Tipo Descrizione
200(OK) AzureBackupFindRestorableTimeRangesResponseResource Va bene
Altri codici di stato CloudError Risposta di errore che descrive il motivo per cui l'operazione non è riuscita.
Risposta di esempio per il recupero degli intervalli di tempo validi
HTTP/1.1 200 OK
Content-Length: 379
Content-Type: application/json
Expires: -1
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id:
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: a2b7c2d9-01f5-499a-b521-55da4862c79a
x-ms-routing-request-id: CENTRALUSEUAP:20210708T184646Z:4996a2bf-2df8-48a7-9b53-a552466a27f7
Cache-Control: no-cache
Date: Thu, 08 Jul 2021 18:46:45 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET

{
  "id": "msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d",
  "type": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges",
  "properties": {
    "restorableTimeRanges": [
      {
        "startTime": "2021-07-06T18:46:45.947728Z",
        "endTime": "2021-07-08T18:46:45.9932408Z",
        "objectType": "RestorableTimeRange"
      }
    ],
    "objectType": "AzureBackupFindRestorableTimeRangesResponse"
  }
}

Dopo aver individuato il punto nel tempo da ripristinare nello stesso account di archiviazione, sono disponibili più opzioni per il ripristino.

Opzione 1: Eseguire un ripristino temporizzato di tutti i BLOB

Questa opzione consente di ripristinare tutti i BLOB in blocchi nell'account di archiviazione eseguendo il rollback al punto nel tempo selezionato. Gli account di archiviazione contenenti grandi quantità di dati o con una varianza elevata possono richiedere più tempo per il ripristino.

Costruzione del corpo della richiesta per il ripristino temporizzato di tutti i BLOB

I punti chiave da ricordare in questo scenario sono:

  • Il ripristino viene eseguito nello stesso account di archiviazione, ovvero l'oggetto di destinazione per il ripristino è uguale all'origine dati di origine. Ciò si riflette nella sezione seguente sulle informazioni di destinazione per il ripristino.
  • Si tratta di backup continui e quindi il tempo di ripristino è un punto temporizzato e non un punto di ripristino distinto.
  • Vengono ripristinati tutti i BLOB
  • L'archivio dati di origine, in cui si trovano i backup, è lo stesso account di archiviazione. Di conseguenza, l'archivio dati di origine è operativo (OperationalStore).
{
  "restoreRequestObject": {
    "objectType": "AzureBackupRecoveryTimeBasedRestoreRequest",
    "restoreTargetInfo": {
      "objectType": "RestoreTargetInfo",
      "recoveryOption": "FailIfExists",
      "restoreLocation": "westus",
      "datasourceInfo": {
        "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
        "objectType": "Datasource",
        "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
        "resourceLocation": "westus",
        "resourceName": "msblobbackup",
        "resourceType": "Microsoft.Storage/storageAccounts",
        "resourceUri": ""
      }
    },
    "sourceDataStoreType": "OperationalStore",
    "recoveryPointTime": "2021-07-08T00:00:00.0000000Z"
  }
}

Opzione 2: Eseguire un ripristino temporizzato di pochi contenitori

L'uso di questa opzione consente di selezionare fino a 10 contenitori da ripristinare o di ripristinare un sottoinsieme di BLOB in base alla corrispondenza del prefisso. È possibile specificare fino a 10 intervalli lessicografici di BLOB all'interno di un singolo contenitore o in più contenitori per riportare tali BLOB allo stato precedente in un determinato punto nel tempo. Se si usano i prefissi, ecco alcuni aspetti da tenere presente:

  • È possibile usare una barra (/) per separare il nome del contenitore dal prefisso del BLOB.
  • L'inizio dell'intervallo specificato è inclusivo, ma l'intervallo specificato è esclusivo.

Altre informazioni sull'uso di prefissi per ripristinare gli intervalli di BLOB.

Costruire il corpo della richiesta per il ripristino temporizzato di contenitori selezionati o alcuni BLOB

I punti chiave da ricordare in questo scenario sono:

  • Il ripristino viene eseguito nello stesso account di archiviazione, ovvero l'oggetto di destinazione per il ripristino è uguale all'origine dati di origine. Ciò si riflette nella sezione seguente sulle informazioni di destinazione per il ripristino.
  • Si tratta di backup continui e quindi il tempo di ripristino è un punto temporizzato e non un punto di ripristino distinto.
  • Vengono ripristinati alcuni elementi all'interno dell'account di archiviazione. Possono essere contenitori o BLOB con un modello di prefisso.
  • L'archivio dati di origine, ovvero la posizione in cui si trovano i backup, è lo stesso account di archiviazione. Di conseguenza, l'archivio dati di origine è operativo (OperationalStore).
{
  "restoreRequestObject": {
    "objectType": "AzureBackupRecoveryTimeBasedRestoreRequest",
    "restoreTargetInfo": {
      "objectType": "ItemLevelRestoreTargetInfo",
      "recoveryOption": "FailIfExists",
      "restoreLocation": "westus",
      "restoreCriteria": [
        {
          "objectType": "RangeBasedItemLevelRestoreCriteria",
          "minMatchingValue": "Container1",
          "maxMatchingValue": "Container10-0"
        }
      ],
      "datasourceInfo": {
        "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
        "objectType": "Datasource",
        "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
        "resourceLocation": "westus",
        "resourceName": "msblobbackup",
        "resourceType": "Microsoft.Storage/storageAccounts",
        "resourceUri": ""
      }
    },
    "sourceDataStoreType": "OperationalStore",
    "recoveryPointTime": "2021-07-08T00:00:00.0000000Z"
  }
}

Convalidare le richieste di ripristino

Dopo aver preparato il corpo della richiesta, può essere convalidato usando l'API di convalida per il ripristino. Analogamente all'API di convalida per il backup, si tratta di un'operazione POST.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore?api-version=2021-01-01

Per questo esempio, la situazione è quindi la seguente:

POST "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d/validateRestore?api-version=2021-01-01"

Il corpo della richiesta per questa API POST è riportato in dettaglio qui. Lo stesso codice è stato costruito nella sezione precedente per gli scenari di ripristino di tutti i BLOB e di ripristino di alcuni elementi. Verrà usato lo stesso codice per attivare un'operazione di convalida.

Risposta per le richieste di convalida del ripristino

La richiesta di convalida del ripristino è 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.

Nome Tipo Descrizione
200 Va bene Stato della richiesta di convalida
202 - Accettato Accettata

Risposta di esempio per la richiesta di convalida del ripristino

Dopo l'invio dell'operazione POST, la risposta iniziale sarà 202 (Accettata) insieme a un'intestazione Azure-AsyncOperation.

HTTP/1.1 202 Accepted
Content-Length: 0
Expires: -1
Pragma: no-cache
Retry-After: 10
Azure-AsyncOperation: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzVlNzMxZDBiLTQ3MDQtNDkzNS1hYmNjLWY4YWEzY2UzNTk1ZQ==?api-version=2021-01-01
X-Content-Type-Options: nosniff
x-ms-request-id:
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: bae60c92-669d-45a4-aed9-8392cca7cc8d
x-ms-routing-request-id: CENTRALUSEUAP:20210708T205935Z:f51db7a4-9826-4084-aa3b-ae640dc78af6
Cache-Control: no-cache
Date: Thu, 08 Jul 2021 20:59:35 GMT
Location: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationResults/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzVlNzMxZDBiLTQ3MDQtNDkzNS1hYmNjLWY4YWEzY2UzNTk1ZQ==?api-version=2021-01-01
X-Powered-By: ASP.NET

Tenere traccia dell'intestazione Azure-AsyncOperation con una semplice richiesta GET. Dopo che la richiesta avrà esito positivo, restituirà 200 (OK) con una risposta di stato di esito positivo.

 GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzVlNzMxZDBiLTQ3MDQtNDkzNS1hYmNjLWY4YWEzY2UzNTk1ZQ==?api-version=2021-01-01

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzVlNzMxZDBiLTQ3MDQtNDkzNS1hYmNjLWY4YWEzY2UzNTk1ZQ==",
  "name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzVlNzMxZDBiLTQ3MDQtNDkzNS1hYmNjLWY4YWEzY2UzNTk1ZQ==",
  "status": "Succeeded",
  "startTime": "2021-07-08T20:59:35.0060264Z",
  "endTime": "2021-07-08T20:59:57Z"
}

Attivare le richieste di ripristino

L'attivazione dell'operazione di ripristino è un'API POST. Tutti i dettagli sull'attivazione dell'operazione di ripristino sono documentati qui.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore?api-version=2021-01-01

Per questo esempio, la situazione è quindi la seguente:

POST "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d/restore?api-version=2021-01-01"

Creare un corpo della richiesta per le operazioni di ripristino

Dopo la convalida delle richieste, è possibile usare lo stesso corpo della richiesta per attivare la richiesta di ripristino con modifiche minime.

Corpo della richiesta di esempio per il ripristino di tutti i BLOB

L'unica modifica rispetto al corpo della richiesta di convalida del ripristino è la rimozione dell'oggetto "restoreRequest" all'inizio.

{
  "objectType": "AzureBackupRecoveryTimeBasedRestoreRequest",
  "restoreTargetInfo": {
    "objectType": "RestoreTargetInfo",
    "recoveryOption": "FailIfExists",
    "restoreLocation": "westus",
    "datasourceInfo": {
      "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
      "objectType": "Datasource",
      "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
      "resourceLocation": "westus",
      "resourceName": "msblobbackup",
      "resourceType": "Microsoft.Storage/storageAccounts",
      "resourceUri": ""
    }
  },
  "sourceDataStoreType": "OperationalStore",
  "recoveryPointTime": "2021-07-08T00:00:00Z"
}

Corpo della richiesta di esempio per il ripristino di alcuni elementi o pochi BLOB

L'unica modifica rispetto al corpo della richiesta di convalida del ripristino è la rimozione dell'oggetto "restoreRequest" all'inizio.

{
  "objectType": "AzureBackupRecoveryTimeBasedRestoreRequest",
  "restoreTargetInfo": {
    "objectType": "ItemLevelRestoreTargetInfo",
    "recoveryOption": "FailIfExists",
    "restoreLocation": "westus",
    "restoreCriteria": [
      {
        "objectType": "RangeBasedItemLevelRestoreCriteria",
        "minMatchingValue": "Container1",
        "maxMatchingValue": "Container2"
      }
    ],
    "datasourceInfo": {
      "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
      "objectType": "Datasource",
      "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
      "resourceLocation": "westus",
      "resourceName": "msblobbackup",
      "resourceType": "Microsoft.Storage/storageAccounts",
      "resourceUri": ""
    }
  },
  "sourceDataStoreType": "OperationalStore",
  "recoveryPointTime": "2021-07-08T00:00:00.0000000Z"
}

Risposta alle richieste di attivazione del ripristino

La richiesta di attivazione del ripristino è 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.

Nome Tipo Descrizione
200 Va bene Stato della richiesta di ripristino
202 - Accettato Accettata

Risposta di esempio alla richiesta di attivazione del ripristino

Dopo l'invio dell'operazione POST, la risposta iniziale sarà 202 (Accettata) insieme a un'intestazione Azure-AsyncOperation.

HTTP/1.1 202 Accepted
Content-Length: 0
Expires: -1
Pragma: no-cache
Retry-After: 30
Azure-AsyncOperation: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExO2Q1NDIzY2VjLTczYjYtNDY5ZC1hYmRjLTc1N2Q0ZTJmOGM5OQ==?api-version=2021-01-01
X-Content-Type-Options: nosniff
x-ms-request-id:
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1197
x-ms-correlation-request-id: 8661209c-5b6a-44fe-b676-4e2b9c296593
x-ms-routing-request-id: CENTRALUSEUAP:20210708T204652Z:69e3fa4b-c5d9-4601-9410-598006ada187
Cache-Control: no-cache
Date: Thu, 08 Jul 2021 20:46:52 GMT
Location: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationResults/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExO2Q1NDIzY2VjLTczYjYtNDY5ZC1hYmRjLTc1N2Q0ZTJmOGM5OQ==?api-version=2021-01-01
X-Powered-By: ASP.NET

Tenere traccia dell'intestazione Azure-AsyncOperation con una semplice richiesta GET. Quando la richiesta ha esito positivo, restituisce 200 OK con un ID processo, che deve essere ulteriormente monitorato per il completamento della richiesta di ripristino.

GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExO2Q1NDIzY2VjLTczYjYtNDY5ZC1hYmRjLTc1N2Q0ZTJmOGM5OQ==?api-version=2021-01-01

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExO2Q1NDIzY2VjLTczYjYtNDY5ZC1hYmRjLTc1N2Q0ZTJmOGM5OQ==",
  "name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExO2Q1NDIzY2VjLTczYjYtNDY5ZC1hYmRjLTc1N2Q0ZTJmOGM5OQ==",
  "status": "Succeeded",
  "startTime": "2021-07-08T20:46:52.4110868Z",
  "endTime": "2021-07-08T20:46:56Z",
  "properties": {
    "jobId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupJobs/c4bd49a1-0645-4eec-b207-feb818962852",
    "objectType": "OperationJobExtendedInfo"
  }
}

Tenere traccia dei processi

Le richieste di attivazione del ripristino avviano il processo di ripristino e l'ID processo risultante viene tracciato usando l'API GET per i processi.

Usare il semplice comando GET per tenere traccia dell'ID processo specificato nella risposta di attivazione del ripristino precedente.

 GET /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupJobs/c4bd49a1-0645-4eec-b207-feb818962852?api-version=2021-01-01

{
  "properties": {
    "activityID": "4195ca6c-e02d-11eb-b0b1-70bc105e2242",
    "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
    "backupInstanceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d",
    "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/BlobBackup-Policy",
    "dataSourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
    "vaultName": "BV-JPE-GRS",
    "backupInstanceFriendlyName": "msblobbackup",
    "policyName": "BlobBackup-Policy",
    "sourceResourceGroup": "RG-BlobBackup",
    "dataSourceName": "msblobbackup",
    "progressEnabled": false,
    "etag": "W/\"datetime'2021-07-08T20%3A48%3A36.6999667Z'\"",
    "sourceSubscriptionID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
    "dataSourceLocation": "westus",
    "startTime": "2021-07-08T20:44:19.5467125Z",
    "endTime": "2021-07-08T20:48:35.8297312Z",
    "dataSourceType": "Microsoft.Storage/storageAccounts/blobServices",
    "operationCategory": "Restore",
    "operation": "Restore",
    "status": "Completed",
    "isUserTriggered": true,
    "supportedActions": [
      ""
    ],
    "duration": "PT4M16.2830187S",
    "extendedInfo": {
      "sourceRecoverPoint": {
        "recoveryPointTime": "2021-07-08T00:00:00Z"
      },
      "recoveryDestination": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
      "subTasks": [
        {
          "taskId": 1,
          "taskName": "Trigger Restore",
          "taskStatus": "Completed"
        }
      ]
    }
  },
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupJobs/c4bd49a1-0645-4eec-b207-feb818962852",
  "name": "c4bd49a1-0645-4eec-b207-feb818962852",
  "type": "Microsoft.DataProtection/BackupVaults/backupJobs"
}

Lo stato del processo precedente indica che il processo di ripristino è stato completato e che sono stati ripristinati tutti i BLOB in base alla temporizzazione specificata.

Passaggi successivi

Panoramica del backup dei BLOB di Azure.

Per altre informazioni sulle API REST di Backup di Azure, vedere i documenti seguenti: