Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób przywracania maszyn wirtualnych platformy Azure lub poszczególnych dysków z punktu odzyskiwania przy użyciu interfejsu API REST. Obejmuje ona wybieranie punktów odzyskiwania, wyzwalanie operacji przywracania i wykonywanie przywracania między regionami.
Prerequisites
Po zakończeniu tworzenia kopii zapasowej maszyny wirtualnej platformy Azure za pomocą usługi Azure Backup można przywrócić całe maszyny wirtualne, dyski lub pliki z tej samej kopii zapasowej. W przypadku każdej operacji przywracania należy najpierw zidentyfikować odpowiedni punkt odzyskiwania.
Wybieranie punktu odzyskiwania dla przywracania maszyny wirtualnej platformy Azure
Dostępne punkty odzyskiwania elementu kopii zapasowej można wyświetlić przy użyciu interfejsu API REST listy punktów odzyskiwania. Jest to prosta operacja GET ze wszystkimi odpowiednimi wartościami.
GET https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints?api-version=2019-05-13
{containerName} i {protectedItemName} są skonstruowane tak jak tutaj. Parametr {fabricName} ma wartość Azure.
Identyfikator URI GET zawiera wszystkie wymagane parametry. Nie ma potrzeby dodatkowej treści żądania.
Responses
| Name | Typ | Description |
|---|---|---|
| 200 OK | RecoveryPointResourceList | OK |
Przykładowa odpowiedź
Po przesłaniu identyfikatora URI GET zostanie zwrócona odpowiedź 200 (OK).
HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: 03453538-2f8d-46de-8374-143ccdf60f40
x-ms-client-request-id: c48f4436-ce3f-42da-b537-12710d4d1a24; c48f4436-ce3f-42da-b537-12710d4d1a24
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14998
x-ms-correlation-request-id: 03453538-2f8d-46de-8374-143ccdf60f40
x-ms-routing-request-id: SOUTHINDIA:20180604T071851Z:03453538-2f8d-46de-8374-143ccdf60f40
Cache-Control: no-cache
Date: Mon, 04 Jun 2018 07:18:51 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
{
"value": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/VM;testRG;testVM/recoveryPoints/20982486783671",
"name": "20982486783671",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "IaasVMRecoveryPoint",
"recoveryPointType": "AppConsistent",
"recoveryPointTime": "2018-06-04T06:06:00.5121087Z",
"recoveryPointAdditionalInfo": "",
"sourceVMStorageType": "NormalStorage",
"isSourceVMEncrypted": false,
"isInstantIlrSessionActive": false,
"recoveryPointTierDetails": [
{
"type": 1,
"status": 1
},
{
"type": 2,
"status": 1
}
],
"isManagedVirtualMachine": true,
"virtualMachineSize": "Standard_A1_v2",
"originalStorageAccountOption": false
}
},
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/VM;testRG;testVM/recoveryPoints/23358112038108",
"name": "23358112038108",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "IaasVMRecoveryPoint",
"recoveryPointType": "CrashConsistent",
"recoveryPointTime": "2018-06-03T06:20:56.3043878Z",
"recoveryPointAdditionalInfo": "",
"sourceVMStorageType": "NormalStorage",
"isSourceVMEncrypted": false,
"isInstantIlrSessionActive": false,
"recoveryPointTierDetails": [
{
"type": 1,
"status": 1
},
{
"type": 2,
"status": 1
}
],
"isManagedVirtualMachine": true,
"virtualMachineSize": "Standard_A1_v2",
"originalStorageAccountOption": false
}
},
......
Punkt odzyskiwania jest identyfikowany z polem {name} w podanej odpowiedzi.
Uruchom operacje przywracania dla maszyny wirtualnej Azure
Po wybraniu odpowiedniego punktu przywracania przejdź do wyzwolenia operacji przywracania.
Wszystkie operacje przywracania elementu kopii zapasowej są wykonywane przy użyciu tego samego interfejsu API POST . Tylko treść żądania zmienia się w scenariuszach przywracania.
Important
Wszystkie szczegóły dotyczące różnych opcji przywracania i ich zależności zostały wymienione tutaj. Przed przejściem do wyzwalania tych operacji zapoznaj się z informacjami.
Wyzwalanie operacji przywracania jest żądaniem POST . Dowiedz się więcej o REST API "trigger restore".
POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore?api-version=2019-05-13
Te {containerName} i {protectedItemName} są skonstruowane w sposób pokazany w tym miejscu.
{fabricName} to "Azure" i {recoveryPointId} to pole {name} punktu odzyskiwania wymienionego powyżej.
Po uzyskaniu punktu odzyskiwania skonstruuj treść żądania dla odpowiedniego scenariusza przywracania. W poniższych sekcjach opisano treść żądania dla każdego scenariusza:
Odpowiedź przywracania
Wyzwalanie dowolnej operacji przywracania jest operacją asynchroniczną. Oznacza to, że ta operacja tworzy inną operację, która musi być śledzona oddzielnie.
Zwraca dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji, a następnie 200 (OK) po zakończeniu tej operacji.
| Name | Typ | Description |
|---|---|---|
| 202 Zaakceptowano | Accepted |
Przykładowe odpowiedzi
Po przesłaniu identyfikatora URI POST do wyzwalania dysków przywracania początkowa odpowiedź to 202 (Zaakceptowane) z nagłówkiem lokalizacji lub nagłówkiem azure-async-header.
HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationsStatus/781a0f18-e250-4d73-b059-5e9ffed4069e?api-version=2019-05-13
X-Content-Type-Options: nosniff
x-ms-request-id: 893fe372-8d6c-4c56-b589-45a95eeef95f
x-ms-client-request-id: a15ce064-25bd-4ac6-87e5-e3bc6ec65c0b; a15ce064-25bd-4ac6-87e5-e3bc6ec65c0b
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1198
x-ms-correlation-request-id: 893fe372-8d6c-4c56-b589-45a95eeef95f
x-ms-routing-request-id: SOUTHINDIA:20180604T130003Z:893fe372-8d6c-4c56-b589-45a95eeef95f
Cache-Control: no-cache
Date: Mon, 04 Jun 2018 13:00:03 GMT
Location: https://management.azure.com/subscriptions//subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationResults/781a0f18-e250-4d73-b059-5e9ffed4069e?api-version=2019-05-13
X-Powered-By: ASP.NET
Następnie śledź wynikową operację przy użyciu nagłówka lokalizacji lub nagłówka Azure-AsyncOperation za pomocą prostego polecenia GET .
GET https://management.azure.com/subscriptions//subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/microsoft.recoveryservices/vaults/testVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;testRG;testVM/protectedItems/vm;testRG;testVM/operationResults/781a0f18-e250-4d73-b059-5e9ffed4069e?api-version=2019-05-13
Po zakończeniu operacji zwracany jest kod 200 (OK) z identyfikatorem utworzonego zadania przywracania w treści odpowiedzi.
HTTP/1.1 200 OK
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: ea2a8011-eb83-4a4b-9ed2-e694070a966a
x-ms-client-request-id: a7f3a144-ed80-41ee-bffe-ae6a90c35a2f; a7f3a144-ed80-41ee-bffe-ae6a90c35a2f
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14973
x-ms-correlation-request-id: ea2a8011-eb83-4a4b-9ed2-e694070a966a
x-ms-routing-request-id: SOUTHINDIA:20180604T130917Z:ea2a8011-eb83-4a4b-9ed2-e694070a966a
Cache-Control: no-cache
Date: Mon, 04 Jun 2018 13:09:17 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
{
"id": "781a0f18-e250-4d73-b059-5e9ffed4069e",
"name": "781a0f18-e250-4d73-b059-5e9ffed4069e",
"status": "Succeeded",
"startTime": "2018-06-04T13:00:03.8068176Z",
"endTime": "2018-06-04T13:00:03.8068176Z",
"properties": {
"objectType": "OperationStatusJobExtendedInfo",
"jobId": "3021262a-fb3a-4538-9b37-e3e97a386093"
}
}
Ponieważ zadanie przywracania jest długotrwałą operacją, powinno być śledzone zgodnie z opisem w dokumencie monitorowania zadań przy użyciu interfejsu API REST.
Przywracanie dysków
Jeśli istnieje potrzeba dostosowania tworzenia maszyny wirtualnej na podstawie danych kopii zapasowej, przywróć dyski do wybranego konta magazynu i utwórz maszynę wirtualną na podstawie tych dysków zgodnie z ich wymaganiami. Konto magazynu powinno znajdować się w tym samym regionie co magazyn usługi Recovery Services i nie powinno być nadmiarowe względem stref. Dyski, a także konfiguracja kopii zapasowej maszyny wirtualnej ("vmconfig.json"), są przechowywane na danym koncie magazynu. Jak wyjaśniono tutaj, poniżej znajduje się odpowiednia treść żądania dla dysków przywracania.
Tworzenie treści żądania
Aby wyzwolić przywracanie dysku z kopii zapasowej maszyny wirtualnej platformy Azure, poniżej przedstawiono składniki treści żądania:
| Name | Typ | Description |
|---|---|---|
| properties | IaaSVMRestoreRequest | RestoreRequestResourceProperties |
Aby uzyskać pełną listę definicji treści żądania i innych szczegółów, zobacz artykuł dotyczący interfejsu API REST przywracania wyzwalacza.
Przykładowe żądanie
Następujące ciało żądania definiuje właściwości wymagane do uruchomienia przywracania dysku.
{
"properties": {
"objectType": "IaasVMRestoreRequest",
"recoveryPointId": "20982486783671",
"recoveryType": "RestoreDisks",
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
"storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Storage/storageAccounts/testAccount",
"region": "westus",
"createNewCloudService": false,
"originalStorageAccountOption": false,
"encryptionDetails": {
"encryptionEnabled": false
}
}
}
Selektywne przywracanie dysków
Jeśli selektywnie wykonujesz kopie zapasowe dysków, bieżąca lista dysków kopii zapasowej jest dostępna w podsumowaniu punktu odzyskiwania i szczegółowej odpowiedzi. Możesz również selektywnie przywrócić dyski i więcej szczegółów można znaleźć tutaj. Aby selektywnie przywrócić dysk na liście dysków kopii zapasowej, znajdź numer LUN dysku z odpowiedzi punktu odzyskiwania i dodaj właściwość restoreDiskLunList do treści żądania powyżej , jak pokazano poniżej.
{
"properties": {
"objectType": "IaasVMRestoreRequest",
"recoveryPointId": "20982486783671",
"recoveryType": "RestoreDisks",
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
"storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Storage/storageAccounts/testAccount",
"region": "westus",
"createNewCloudService": false,
"originalStorageAccountOption": false,
"encryptionDetails": {
"encryptionEnabled": false
},
"restoreDiskLunList" : [0]
}
}
Po śledzeniu odpowiedzi zgodnie z opisem w tym miejscu i zakończeniu długotrwałego zadania dyski i konfiguracja kopii zapasowej maszyny wirtualnej ("VMConfig.json") są wyświetlane na danym koncie magazynu.
Zastąp dyski w zarchiwizowanej maszynie wirtualnej
Podczas przywracania dysków utwórz dyski z punktu odzyskiwania, zastąp dyski zastąpi bieżące dyski maszyny wirtualnej kopii zapasowej dyskami z punktu odzyskiwania. Jak wyjaśniono tutaj, poniżej znajduje się odpowiednia treść żądania wymiany dysków.
Tworzenie treści żądania
Aby wyzwolić wymianę dysku z kopii zapasowej maszyny wirtualnej Azure, poniżej przedstawiamy składniki treści żądania.
| Name | Typ | Description |
|---|---|---|
| properties | IaaSVMRestoreRequest | RestoreRequestResourceProperties |
Aby uzyskać pełną listę definicji treści żądania i innych szczegółów, zapoznaj się z dokumentacją funkcji przywracania REST API.
Przykładowe żądanie
Poniższa treść żądania definiuje właściwości wymagane do uruchomienia przywrócenia dysku.
{
"properties": {
"objectType": "IaasVMRestoreRequest",
"recoveryPointId": "20982486783671",
"recoveryType": "OriginalLocation",
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
"storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Storage/storageAccounts/testAccount",
"region": "westus",
"createNewCloudService": false,
"originalStorageAccountOption": false,
"affinityGroup": "",
"diskEncryptionSetId": null,
"subnetId": null,
"targetDomainNameId": null,
"targetResourceGroupId": null,
"targetVirtualMachineId": null,
"virtualNetworkId": null
}
}
Przywróć jako inną maszynę wirtualną
Jak wyjaśniono powyżej, następująca treść żądania definiuje właściwości wymagane do przeprowadzenia procesu przywracania maszyny wirtualnej.
{
"properties": {
"objectType": "IaasVMRestoreRequest",
"recoveryPointId": "348916168024334",
"recoveryType": "AlternateLocation",
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testVM",
"targetVirtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/targetRG/providers/Microsoft.Compute/virtualmachines/targetVM",
"targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/targetRG",
"storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Storage/storageAccounts/testingAccount",
"virtualNetworkId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/targetRG/providers/Microsoft.Network/virtualNetworks/testNet",
"subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/targetRG/providers/Microsoft.Network/virtualNetworks/testNet/subnets/default",
"region": "westus",
"createNewCloudService": false,
"originalStorageAccountOption": false,
"encryptionDetails": {
"encryptionEnabled": false
}
}
}
Odpowiedź powinna być obsługiwana w taki sam sposób, jak wyjaśniono powyżej w przypadku przywracania dysków.
Przywracanie maszyn wirtualnych platformy Azure w różnych regionach
Jeśli przywracanie między regionami (CRR) jest włączone w magazynie, za pomocą którego chronisz swoje maszyny wirtualne, dane kopii zapasowej są replikowane do regionu pomocniczego. Możesz użyć danych kopii zapasowej, aby wykonać operację przywracania. Aby wyzwolić operację przywracania w regionie pomocniczym przy użyciu interfejsu API REST, wykonaj następujące kroki:
Wybierz punkt odzyskiwania w regionie wtórnym
Możesz wyświetlić listę dostępnych punktów odzyskiwania elementu kopii zapasowej w regionie zapasowym przy użyciu interfejsu API REST punktów odzyskiwania dla CRR. Jest to prosta operacja GET ze wszystkimi odpowiednimi wartościami.
GET https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints?api-version=2018-12-20
{containerName} i {protectedItemName} są skonstruowane w tym miejscu. Parametr {fabricName} ma wartość Azure.
Identyfikator URI GET zawiera wszystkie wymagane parametry. Dodatkowa treść żądania nie jest wymagana.
Note
Aby uzyskać punkty odzyskiwania w regionie pomocniczym, użyj API w wersji 2018-12-20, jak w powyższym przykładzie.
Responses
| Name | Typ | Description |
|---|---|---|
| 200 OK | RecoveryPointResourceList | OK |
Przykładowa odpowiedź
Po przesłaniu identyfikatora URI GET zwracana jest odpowiedź 200 (OK).
Headers:
Pragma : no-cache
X-Content-Type-Options : nosniff
x-ms-request-id : bfc4a4e6-c585-46e0-8e38-f11a86093701
x-ms-client-request-id : 4344a9c2-70d8-482d-b200-0ca9cc498812,4344a9c2-70d8-482d-b200-0ca9cc498812
Strict-Transport-Security : max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-resource-requests: 149
x-ms-correlation-request-id : bfc4a4e6-c585-46e0-8e38-f11a86093701
x-ms-routing-request-id : SOUTHINDIA:20210731T112441Z:bfc4a4e6-c585-46e0-8e38-f11a86093701
Cache-Control : no-cache
Date : Sat, 31 Jul 2021 11:24:40 GMT
Server : Microsoft-IIS/10.0
X-Powered-By : ASP.NET
Body:
{
"value": [
{
"id":
"/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG1;testVM/protectedItems/VM;iaasvmcontainerv2;testRG1;testVM/recoveryPoints/932895704780058094",
"name": "932895704780058094",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "IaasVMRecoveryPoint",
"recoveryPointType": "CrashConsistent",
"recoveryPointTime": "2021-07-31T09:24:34.687561Z",
"recoveryPointAdditionalInfo": "",
"sourceVMStorageType": "PremiumVMOnPartialPremiumStorage",
"isSourceVMEncrypted": false,
"isInstantIlrSessionActive": false,
"recoveryPointTierDetails": [
{
"type": 1,
"status": 1
}
],
"isManagedVirtualMachine": true,
"virtualMachineSize": "Standard_D2s_v3",
"originalStorageAccountOption": false,
"osType": "Windows"
}
},
{
"id":
"/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG1;testVM/protectedItems/VM;iaasvmcontainerv2;testRG1;testVM/recoveryPoints/932891484644960954",
"name": "932891484644960954",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "IaasVMRecoveryPoint",
"recoveryPointType": "CrashConsistent",
"recoveryPointTime": "2021-07-30T09:20:01.8355052Z",
"recoveryPointAdditionalInfo": "",
"sourceVMStorageType": "PremiumVMOnPartialPremiumStorage",
"isSourceVMEncrypted": false,
"isInstantIlrSessionActive": false,
"recoveryPointTierDetails": [
{
"type": 1,
"status": 1
},
{
"type": 2,
"status": 1
}
],
"isManagedVirtualMachine": true,
"virtualMachineSize": "Standard_D2s_v3",
"originalStorageAccountOption": false,
"osType": "Windows"
}
},
.....
Punkt odzyskiwania jest identyfikowany z polem {name} w powyższej odpowiedzi.
Uzyskiwanie tokenu dostępu
Aby przeprowadzić przywracanie między regionami, należy zażądać tokenu dostępu, aby autoryzować żądanie dostępu do replikowanych punktów przywracania w regionie pomocniczym. Aby uzyskać token dostępu, wykonaj następujące kroki:
Krok 1.
Użyj interfejsu API właściwości usługi AAD , aby uzyskać właściwości usługi AAD dla regionu pomocniczego (westus w poniższym przykładzie):
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/westus/backupAadProperties?api-version=2018-12-20
Przykład odpowiedzi
Odpowiedź jest zwracana w następującym formacie:
{
"properties": {
"tenantId": "00000000-0000-0000-0000-000000000000",
"audience": "https://RecoveryServices/IaasCoord/aadmgmt/wus",
"servicePrincipalObjectId": "00000000-0000-0000-0000-000000000000"
}
}
Krok 2:
Użyj interfejsu API Get Access Token, aby uzyskać autoryzację żądania dostępu do replikowanych punktów przywracania w regionie pomocniczym.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/accessToken?api-version=2018-12-20
W treść żądania wklej zawartość odpowiedzi zwróconej przez API właściwości AAD w poprzednim kroku.
{
"properties": {
"tenantId": "00000000-0000-0000-0000-000000000000",
"audience": "https://RecoveryServices/IaasCoord/aadmgmt/wus",
"servicePrincipalObjectId": "00000000-0000-0000-0000-000000000000"
}
}
Przykład odpowiedzi
Odpowiedź jest zwracana w następującym formacie:
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;testRG1;testVM/protectedItems/VM;iaasvmcontainerv2;testRG1;testVM/recoveryPoints/26083826328862",
"name": "932879774590051503",
"type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints",
"properties": {
"objectType": "CrrAccessToken",
"accessTokenString": "<access-token-string>",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "testVaultRG",
"resourceName": "testVault",
"resourceId": "000000000000000000",
"protectionContainerId": 000000,
"recoveryPointId": "932879774590051503",
"recoveryPointTime": "7/26/2021 3:35:36 PM",
"containerName": "iaasvmcontainerv2;testRG1;testVM",
"containerType": "IaasVMContainer",
"backupManagementType": "AzureIaasVM",
"datasourceType": "VM",
"datasourceName": "testvm1234",
"datasourceId": "000000000000000000",
"datasourceContainerName": "iaasvmcontainerv2;testRG1;testVM",
"coordinatorServiceStampUri": "https://pod01-coord1.eus.backup.windowsazure.com",
"protectionServiceStampId": "00000000-0000-0000-0000-000000000000",
"protectionServiceStampUri": "https://pod01-prot1h-int.eus.backup.windowsazure.com",
"tokenExtendedInformation": "<IaaSVMRecoveryPointMetadataBase xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" i:type=\"IaaSVMRecoveryPointMetadata_V2015_09\" xmlns=\"http://windowscloudbackup.com/CloudCommon/V2011_09\"><MetadataVersion>V2015_09</MetadataVersion><ContainerType i:nil=\"true\" /><InstantRpGCId>ef4ab5a7-c2c0-4304-af80-af49f48af3d1;AzureBackup_testvm1234_932843259176972511;AzureBackup_20210726_033536;AzureBackupRG_eastus_1</InstantRpGCId><IsBlockBlobEnabled>true</IsBlockBlobEnabled><IsManagedVirtualMachine>true</IsManagedVirtualMachine><OriginalSAOption>false</OriginalSAOption><OsType>Windows</OsType><ReadMetadaFromConfigBlob i:nil=\"true\" /><RecoveryPointConsistencyType>CrashConsistent</RecoveryPointConsistencyType><RpDiskDetails i:nil=\"true\" /><SourceIaaSVMRPKeyAndSecret i:nil=\"true\" /><SourceIaaSVMStorageType>PremiumVMOnPartialPremiumStorage</SourceIaaSVMStorageType><VMSizeDescription>Standard_D2s_v3</VMSizeDescription><Zones xmlns:d2p1=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\" i:nil=\"true\" /></IaaSVMRecoveryPointMetadataBase>",
"rpTierInformation": {
"InstantRP": "Valid",
"HardenedRP": "Valid"
},
"rpOriginalSAOption": false,
"rpIsManagedVirtualMachine": true,
"rpVMSizeDescription": "Standard_D2s_v3",
"bMSActiveRegion": "EastUS"
}
}
Przywracanie dysków do regionu pomocniczego
Użyj API wyzwalania przywracania między regionami, aby przywrócić element do regionu zapasowego.
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore?api-version=2018-12-20
Treść żądania powinna zawierać dwie części:
crossRegionRestoreAccessDetails: wklej blok właściwości odpowiedzi z żądania interfejsu API uzyskiwania tokenu dostępu wykonanego w poprzednim kroku, aby wypełnić ten segment treści żądania.
restoreRequest: Aby wypełnić segment restoreRequest treści żądania, musisz przekazać uzyskany wcześniej identyfikator punktu odzyskiwania wraz z identyfikatorem usługi Azure Resource Manager (ARM) źródłowej maszyny wirtualnej, a także szczegółami konta magazynu w regionie pomocniczym, który ma być używany jako lokalizacja tymczasowa. Aby wykonać przywracanie dysku, określ RestoreDisks jako typ odzyskiwania.
Poniżej przedstawiono przykładową treść żądania, aby przywrócić dyski maszyny wirtualnej do regionu pomocniczego:
{
"crossRegionRestoreAccessDetails": {
"objectType": "CrrAccessToken",
"accessTokenString": "<access-token-string>",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "azurefiles",
"resourceName": "azurefilesvault",
"resourceId": "000000000000000000",
"protectionContainerId": 000000,
"recoveryPointId": "932879774590051503",
"recoveryPointTime": "7/26/2021 3:35:36 PM",
"containerName": "iaasvmcontainerv2;testRG1;testVM",
"containerType": "IaasVMContainer",
"backupManagementType": "AzureIaasVM",
"datasourceType": "VM",
"datasourceName": "testvm1234",
"datasourceId": "000000000000000000",
"datasourceContainerName": "iaasvmcontainerv2;testRG1;testVM",
"coordinatorServiceStampUri": "https://pod01-coord1.eus.backup.windowsazure.com",
"protectionServiceStampId": "00000000-0000-0000-0000-000000000000",
"protectionServiceStampUri": "https://pod01-prot1h-int.eus.backup.windowsazure.com",
"tokenExtendedInformation": "<IaaSVMRecoveryPointMetadataBase xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" i:type=\"IaaSVMRecoveryPointMetadata_V2015_09\" xmlns=\"http://windowscloudbackup.com/CloudCommon/V2011_09\"><MetadataVersion>V2015_09</MetadataVersion><ContainerType i:nil=\"true\" /><InstantRpGCId>ef4ab5a7-c2c0-4304-af80-af49f48af3d1;AzureBackup_testvm1234_932843259176972511;AzureBackup_20210726_033536;AzureBackupRG_eastus_1</InstantRpGCId><IsBlockBlobEnabled>true</IsBlockBlobEnabled><IsManagedVirtualMachine>true</IsManagedVirtualMachine><OriginalSAOption>false</OriginalSAOption><OsType>Windows</OsType><ReadMetadaFromConfigBlob i:nil=\"true\" /><RecoveryPointConsistencyType>CrashConsistent</RecoveryPointConsistencyType><RpDiskDetails i:nil=\"true\" /><SourceIaaSVMRPKeyAndSecret i:nil=\"true\" /><SourceIaaSVMStorageType>PremiumVMOnPartialPremiumStorage</SourceIaaSVMStorageType><VMSizeDescription>Standard_D2s_v3</VMSizeDescription><Zones xmlns:d2p1=\"http://schemas.microsoft.com/2003/10/Serialization/Arrays\" i:nil=\"true\" /></IaaSVMRecoveryPointMetadataBase>",
"rpTierInformation": {
"InstantRP": "Valid",
"HardenedRP": "Valid"
},
"rpOriginalSAOption": false,
"rpIsManagedVirtualMachine": true,
"rpVMSizeDescription": "Standard_D2s_v3",
"bMSActiveRegion": "EastUS"
},
"restoreRequest": {
"affinityGroup": "",
"createNewCloudService": false,
"encryptionDetails": {
"encryptionEnabled": false
},
"objectType": "IaasVMRestoreRequest",
"recoveryPointId": "932879774590051503",
"recoveryType": "RestoreDisks",
"sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG1/providers/Microsoft.Compute/virtualMachines/testVM",
"targetResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG1",
"storageAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG1/providers/Microsoft.Storage/storageAccounts/testStorageAccount",
"region": "westus",
"affinityGroup": "",
"createNewCloudService": false,
"originalStorageAccountOption": false,
"restoreDiskLunList": []
}
}
Podobnie jak operacja przywracania regionu podstawowego, jest to operacja asynchroniczna i musi być śledzona oddzielnie.
Dalsze kroki
Aby uzyskać więcej informacji na temat interfejsów API REST usługi Azure Backup, zobacz następujące dokumenty: