Återställa Azure-blobar till en specifik tidpunkt med hjälp av Azure Data Protection REST API

Den här artikeln beskriver hur du återställer blobar av Azure Backup med hjälp av REST API. Du kan också återställa Azure Blobs via Azure Backup med hjälp av Azure-portalen, Azure PowerShell och Azure CLI.

Viktigt!

Innan du fortsätter med att återställa Azure-blobbar med hjälp av Azure Backup, se viktiga punkter.

Förutsättningar

Den här artikeln anser att du har en säkerhetskopia konfigurerad för ett eller flera av dina lagringskonton. Lär dig hur du konfigurerar en säkerhetskopia för blockblobdata om det inte är konfigurerat.

För att illustrera återställningsstegen i den här artikeln refererar vi till blobar i ett lagringskonto med namnet msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d skyddat med ett befintligt Säkerhetskopieringsvalv TestBkpVaultunder resursgruppen testBkpVaultRG.

Förbereda för återställning av Azure Blobs

Nu kan du utföra återställningsåtgärden för driftsäkerhetskopiering och valvsäkerhetskopiering för Azure Blobs.

Välj en säkerhetskopieringsnivå:

Hämta det giltiga tidsintervallet för återställning

Eftersom den operativa säkerhetskopieringen för blobar är kontinuerlig finns det inga distinkta punkter att återställa från. Istället behöver vi hämta det giltiga tidsintervallet under vilket blobbar kan återställas till en godtycklig tidpunkt. I det här exemplet ska vi kontrollera giltiga tidsintervall för återställning inom de senaste 30 dagarna.

De återställningsbara tidsintervallen kan visas med hjälp av api:et för återställningsbart tidsintervall . Det är ett POST-API som utlöser en åtgärd för att beräkna intervallet med kontinuerliga säkerhetskopior för blobarna i lagringskontot.

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

I vårt exempel översätts detta till

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

Skapa begärandetexten för att hämta giltiga tidsintervall för återställning

Om du vill utlösa en åtgärd för att beräkna giltiga tidsintervall följer du komponenterna i en begärandetext.

Namn Typ Beskrivning
sourceDatastoreType RestoreSourceDataStoreType Det datalager som innehåller de data som ska återställas
starttid Sträng Starttid för begäran om liståterställningsintervall. ISO 8601-format.
sluttid Sträng Sluttid för begäran om liståterställningsintervall. ISO 8601-format.

Exempel på begärandetext för att hämta giltigt tidsintervall

Följande begärandetext definierar egenskaper som krävs för att hämta tidsintervallen för de kontinuerliga data som kan återställas. Eftersom blobsäkerhetskopior finns i lagringskontot är datalagringen 'operational'. Du kan ge start- och sluttid som hjälper till att begränsa sökprocessen och returnera det tillgängliga tidsintervallet.

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

Svar för att hämta giltiga tidsintervall

När du har skickat POST-begäran är svaret 200(OK) med start- och sluttiden för det tillgängliga intervallet för återställning inom den angivna start- och sluttiden för begäran.

Namn Typ Beskrivning
200(OK) AzureBackupFindRestorableTimeRangesResponseResource OKEJ
Andra statuskoder CloudError Felsvar som beskriver varför åtgärden misslyckades.
Exempelsvar för att hämta giltiga tidsintervall
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"
  }
}

När tidpunkten för att återställa till samma lagringskonto har bestämts finns det flera alternativ för återställning.

Alternativ 1: Återställa alla blobar till en viss tidpunkt

Med det här alternativet återställs alla blockblobar i lagringskontot genom att återställa dem till den valda tidpunkten. Lagringskonton som innehåller stora mängder data eller som bevittnar en hög omsättning kan ta längre tid att återställa.

Konstruera begärandetexten för återställning av alla blobar till en viss tidpunkt

De viktigaste punkterna att komma ihåg i det här scenariot är:

  • Återställning sker till samma lagringskonto, vilket innebär att målobjektet för återställningen är samma som källdatakällan. Detta återspeglas i avsnittet information om återställningsmål nedan.
  • Det här är kontinuerliga säkerhetskopior och därför är återställningstiden en tidpunkt och inte en distinkt återställningspunkt.
  • Alla blobar återställs
  • Källdatalagringen där säkerhetskopiorna finns är samma lagringskonto. Därför är källdatalagringen "Operational" datastore.
{
  "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"
  }
}

Alternativ 2: Återställa få containrar till en tidpunkt

Med det här alternativet kan du välja upp till 10 containrar för att återställa eller återställa en delmängd blobar med hjälp av en prefixmatchning. Du kan ange upp till 10 lexikografiska intervall av blobar inom en enda behållare eller över flera behållare för att återställa dessa blobar till deras tidigare tillstånd vid en given tidpunkt. I händelse av att använda prefix, här är några saker att tänka på:

  • Du kan använda ett snedstreck (/) för att skilja mellan container-namnet och blob-prefixet.
  • Början av det angivna intervallet är inkluderande, men det angivna intervallet är exkluderande.

Läs mer om hur prefix används för att återställa blobområden.

Skapa begäran om återställning till en specifik tidpunkt för valda containrar eller flera blobar.

De viktigaste punkterna att komma ihåg i det här scenariot är:

  • Återställning sker till samma lagringskonto, vilket innebär att målobjektet för återställningen är samma som källdatakällan. Detta återspeglas i avsnittet information om återställningsmål nedan.
  • Det här är kontinuerliga säkerhetskopior och därför är återställningstiden en tidpunkt och inte en distinkt återställningspunkt.
  • Några objekt i lagringskontot har återställts. De kan vara containrar eller blobar med ett prefixmönster.
  • Källdatalagringen, dvs. där säkerhetskopiorna finns, är samma lagringskonto. Därför är källdatalagringen "Operational" datastore.
{
  "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"
  }
}

Verifiera återställningsbegäranden

När begärandetexten har förberetts kan den verifieras med hjälp av verifieringen för återställnings-API:et. Precis som API:et Validate-for-backup är detta en POST-åtgärd .

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

I vårt exempel översätts detta till:

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"

Begärandetexten för det här POST-API:et beskrivs här. Vi har byggt upp samma sak i ovanstående avsnitt för scenarierna återställning av alla blobar och återställning av några objekt. Vi använder samma för att utlösa en verifieringsåtgärd.

Svar för att verifiera återställningsbegäranden

Begäran om verifieringsåterställning är en asynkron åtgärd. Det innebär att den här åtgärden skapar en annan åtgärd som måste spåras separat.

Den returnerar två svar: 202 (accepterad) när en annan åtgärd skapas och 200 (OK) när åtgärden slutförs.

Namn Typ Beskrivning
200 Okej Status för verifieringsbegäran
202 Accepterad Godkänd

Exempelsvar för att återställa valideringsbegäran

När POST-åtgärden har skickats godkänns det första svaret 202 tillsammans med ett Azure-asyncOperation-huvud.

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

Spåra Azure-AsyncOperation-huvudet med en enkel GET-begäran . När begäran lyckas returnerar den 200 OK med ett framgångsstatussvar.

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

Utlös begäranden om återställning

Den utlösande återställningsåtgärden är ett POST-API . All information om utlösaråterställningsåtgärden dokumenteras här.

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

I vårt exempel översätts detta till:

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"

Skapa en begärandetext för återställningsåtgärder

När begäranden har verifierats kan samma begärandetext användas för att utlösa återställningsbegäran med mindre ändringar.

Exempel på begärandetext för återställning av alla blobar

Den enda ändringen från brödtexten validate-restore-request är att ta bort objektet "restoreRequest" i början.

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

Exempel på begärandetext för att återställa objekt eller några få blobbar.

Den enda ändringen från brödtexten validate-restore-request är att ta bort objektet "restoreRequest" i början.

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

Svar på begäranden om återställning av utlösare

Begäran om återställning av utlösare är en asynkron åtgärd. Det innebär att den här åtgärden skapar en annan åtgärd som måste spåras separat.

Den returnerar två svar: 202 (accepterad) när en annan åtgärd skapas och 200 (OK) när åtgärden slutförs.

Namn Typ Beskrivning
200 Okej Status för återställningsbegäran
202 Accepterad Godkänd

Exempelsvar på begäran om återställning av utlösare

När POST-åtgärden har skickats godkänns det första svaret 202 tillsammans med ett Azure-asyncOperation-huvud.

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

Spåra Azure-AsyncOperation-huvudet med en enkel GET-begäran . När begäran lyckas returnerar den 200 OK med ett jobb-ID, som ska spåras ytterligare för slutförande av återställningsbegäran.

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

Spåra arbeten

Begäran om att utlösa återställning startar återställningsjobbet och det resulterande jobb-ID:n spåras med GET Jobs API.

Använd det enkla GET-kommandot för att spåra JobId som angavs i svar på utlösarens återställning ovan.

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

Jobbstatusen ovan anger att återställningsjobbet har slutförts och att alla blobar har återställts till den angivna tidpunkten.

Nästa steg

Översikt över säkerhetskopiering av Azure-blobar.

Mer information om REST-API:er för Azure Backup finns i följande dokument: