إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية استعادة جهاز Azure الظاهري أو الأقراص باستخدام واجهة برمجة تطبيقات REST.
المتطلبات الأساسية
بعد إكمال النسخ الاحتياطي لجهاز Azure الظاهري باستخدام Azure Backup، يمكنك استعادة الأجهزة الظاهرية أو الأقراص أو الملفات بالكامل من نفس النسخة الاحتياطية. بالنسبة لأي عملية استعادة، يجب عليك أولا تحديد نقطة الاسترداد ذات الصلة.
تحديد نقطة الاسترداد
يمكن إدراج نقاط الاسترداد المتوفرة لعنصر النسخ الاحتياطي باستخدام واجهة برمجة تطبيقات REST الخاص بنقطة الاسترداد في القائمة. إنها عملية GET بسيطة مزودة بجميع القيم ذات الصلة.
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} و{protectedItemName} على أفضل وجه هنا.
{fabricName} عبارة عن Azure.
يشتمل معرف الموارد المنتظم الخاص بـ GET جميع المعلمات المطلوبة. لا حاجة إلى هيئة طلب إضافية.
الاستجابات
| Name | كتابة | الوصف |
|---|---|---|
| 200 جيد | RecoveryPointResourceList | موافق |
مثال على الاستجابة
بمجرد إرسال معرف الموارد المنتظم الخاص بـ GET، سترجع إليك استجابة 200 (موافق).
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
}
},
......
يتم تحديد نقطة الاسترداد مع الحقل في {name} الاستجابة المحددة.
استعادة العمليات
بعد تحديد نقطة الاستعادة ذات الصلة، تابع تشغيل عملية الاستعادة.
يتم تنفيذ جميع عمليات الاستعادة على عنصر النسخ الاحتياطي باستخدام نفس واجهة برمجة التطبيقات POST. يتغير نص الطلب فقط مع سيناريوهات الاستعادة.
هام
جميع التفاصيل المتعلقة بخيارات الاستعادة المختلفة وتبعياتها مذكورة هنا. يُرجى المراجعة قبل الشروع في بدء هذه العمليات.
تشغيل عمليات الاستعادة هو عبارة عن طلب POST. تعرف على المزيد حول واجهة برمجة تطبيقات REST "استعادة المشغل".
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
تم إنشاء {containerName} و{protectedItemName} على أفضل وجه هنا.
{fabricName} هو "Azure" و{recoveryPointId} هو حقل{name} لنقطة الاسترداد المذكورة أعلاه.
بمجرد الحصول على نقطة الاسترداد، قم بإنشاء نص الطلب لسيناريو الاستعادة ذي الصلة. توضح الأقسام التالية نص الطلب لكل سيناريو:
استعادة الاستجابة
يُعد تشغيل أي عملية استعادة بمثابة عملية غير متزامنة. وهذا يعني أن هذه العملية تنشئ عملية أخرى تحتاج إلى تعقبها بشكل منفصل.
تقوم بإرجاع استجابتين: 202 (مقبول) عند إنشاء عملية أخرى، ثم 200 (موافق) عندما تكتمل تلك العملية.
| Name | كتابة | الوصف |
|---|---|---|
| 202 مقبولة | مقبول |
أمثلة على الردود
بمجرد إرسال معرف الموارد المنتظم الخاص بـ POST لتشغيل أقراص الاستعادة، ستكون الاستجابة الأولية هي 202 (مقبول) برأس موقع أو رأس Azure-async.
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
ثم تعقب العملية الناتجة باستخدام رأس الموقع أو رأس Azure-AsyncOperation مع أمر 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
بمجرد اكتمال العملية، يرجع 200 (موافق) مع معرِّف مهمة الاستعادة الناتجة في نص الاستجابة.
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"
}
}
منذ مهمة الاستعادة هي عملية طويلة الأمد، يجب أن يتم تعقب كما هو موضح في مهام الشاشة باستخدام مستند واجهة برمجة تطبيقات REST.
استعادة الأقراص
إذا كانت هناك حاجة لتخصيص إنشاء جهاز ظاهري من بيانات النسخ الاحتياطي، فاستعادة الأقراص إلى حساب تخزين مختار وإنشاء جهاز ظاهري من تلك الأقراص وفقا لمتطلباتها. يجب أن يكون حساب التخزين في نفس المنطقة مثل قبو خدمات الاسترداد ولا يجب أن يكون زائداً عن الحاجة في المنطقة. يتم تخزين الأقراص، بالإضافة إلى تكوين الجهاز الظاهري الذي تم نسخه احتياطيا ("vmconfig.json")، في حساب التخزين المحدد. كما هو موضح هنا، يتم توفير نص الطلب ذي الصلة لاستعادة الأقراص أدناه.
إنشاء نص الطلب
لتشغيل استعادة قرص من نسخة احتياطية من Azure VM، فيما يلي مكونات نص الطلب:
| Name | كتابة | الوصف |
|---|---|---|
| الخصائص | IaaSVMRestoreRequest | RestoreRequestResourceProperties |
للحصول على القائمة الكاملة لتعريفات نص الطلب والتفاصيل الأخرى، راجع مقالة تشغيل استعادة واجهة برمجة تطبيقات REST.
عينة طلب
يحدد نص الطلب التالي الخصائص المطلوبة لتشغيل استعادة القرص:
{
"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 إلى نص الطلب أعلاه كما هو موضح أدناه.
{
"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]
}
}
بمجرد تتبع الاستجابة كما هو موضح هنا، واكتمال المهمة طويلة الأمد، تظهر الأقراص وتكوين الجهاز الظاهري الذي تم نسخه احتياطيا ("VMConfig.json") في حساب التخزين المحدد.
استبدال الأقراص في جهاز ظاهري مدعوم
بينما تقوم أقراص الاستعادة بإنشاء أقراص من نقطة الاسترداد، تستبدل الأقراص المستبدلة الأقراص الحالية الخاصة بالجهاز الظاهري الاحتياطي بالأقراص الواردة من نقطة الاسترداد. كما هو موضح هنا، يتم توفير نص الطلب ذي الصلة لاستبدال الأقراص أدناه.
إنشاء نص الطلب
لتشغيل استبدال قرص من النسخ الاحتياطي لجهاز Azure الظاهري، فيما يلي مكونات نص الطلب.
| Name | كتابة | الوصف |
|---|---|---|
| الخصائص | IaaSVMRestoreRequest | RestoreRequestResourceProperties |
للحصول على قائمة كاملة بالتعريفات من نص الطلب وتفاصيل أخرى، راجع مستند مشغل استعادة واجهة برمجة تطبيقات REST.
عينة طلب
يعرف نص الطلب التالي الخصائص المطلوبة لتشغيل استعادة القرص.
{
"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
}
}
استعادة كجهاز ظاهري آخر
كما هو موضح أعلاه، يحدد نص الطلب التالي الخصائص المطلوبة لتشغيل استعادة الجهاز الظاهري.
{
"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
}
}
}
يجب معالجة الاستجابة بنفس الطريقة الموضحة أعلاه لاستعادة الأقراص.
استعادة عبر المنطقة
إذا تم تمكين الاستعادة عبر المناطق (CRR) على المخزن التي قمت بحماية الأجهزة الظاهرية فيها، فسيتم نسخ البيانات المنسوخة احتياطياً نسخاً متماثلاً إلى المنطقة الثانوية. يمكنك استخدام بيانات النسخ الاحتياطي لتنفيذ عملية استعادة. لتشغيل عملية استعادة في المنطقة الثانوية باستخدام واجهة برمجة تطبيقات REST، اتبع الخطوات التالية:
تحديد نقطة الاسترداد في المنطقة الثانوية
يمكنك سرد نقاط الاسترداد المتوفرة لعنصر النسخ احتياطي في المنطقة الثانوية باستخدام واجهة برمجة تطبيقات REST لنقاط استرداد القائمة الخاصة بعملية الاستعادة عبر المناطق. إنها عملية GET بسيطة مزودة بجميع القيم ذات الصلة.
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} و{protectedItemName} على أفضل وجه هنا.
{fabricName} عبارة عن Azure.
يشتمل معرف الموارد المنتظم الخاص بـ GET جميع المعلمات المطلوبة. لا يلزم وجود نص طلب إضافي.
إشعار
للحصول على نقاط الاسترداد في المنطقة الثانوية، استخدم إصدار واجهة برمجة التطبيقات 2018-12-20 كما هو الحال في المثال أعلاه.
الاستجابات
| Name | كتابة | الوصف |
|---|---|---|
| 200 جيد | RecoveryPointResourceList | موافق |
مثال على الاستجابة
بمجرد إرسال معرف الموارد المنتظم الخاص بـ GET، سترجع إليك استجابة 200 (موافق).
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"
}
},
.....
تُحدد نقطة الاسترداد باستخدام حقل {name} في الاستجابة أعلاه.
الحصول على رمز مميز للوصول
لإجراء استعادة عبر المناطق، تحتاج إلى رمز مميز للوصول لتخويل طلبك للوصول إلى نقاط الاستعادة المنسوخة نسخا متماثلا في المنطقة الثانوية. للحصول على رمز مميز للوصول، اتبع الخطوات التالية:
الخطوة 1:
استخدم واجهة برمجة التطبيقات لخصائص AAD (دليل Azure النشط) للحصول على خصائص AAD للمنطقة الثانوية (westus في المثال أدناه):
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/westus/backupAadProperties?api-version=2018-12-20
مثال على الرد
يتم إرجاع الاستجابة بالتنسيق التالي:
{
"properties": {
"tenantId": "00000000-0000-0000-0000-000000000000",
"audience": "https://RecoveryServices/IaasCoord/aadmgmt/wus",
"servicePrincipalObjectId": "00000000-0000-0000-0000-000000000000"
}
}
الخطوة 2:
استخدم الحصول على واجهة برمجة تطبيقات الرمز المميز للوصول لتخويل طلبك للوصول إلى نقاط الاستعادة المنسوخة نسخاً متماثلاً في المنطقة الثانوية:
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
للحصول على نص الطلب، لصق محتويات الاستجابة التي تم إرجاعها بواسطة API خصائص AAD (دليل Azure النشط) في الخطوة السابقة.
{
"properties": {
"tenantId": "00000000-0000-0000-0000-000000000000",
"audience": "https://RecoveryServices/IaasCoord/aadmgmt/wus",
"servicePrincipalObjectId": "00000000-0000-0000-0000-000000000000"
}
}
مثال على الرد
يتم إرجاع الاستجابة بالتنسيق التالي:
{
"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"
}
}
استعادة الأقراص إلى المنطقة الثانوية
استخدم واجهة برمجة التطبيقات لمشغل الاستعادة عبر المناطق لاستعادة عنصر إلى المنطقة الثانوية.
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupCrossRegionRestore?api-version=2018-12-20
يجب أن يكون نص الطلب على جزأين:
crossRegionRestoreAccessDetails: الصق كتلة properties للاستجابة من طلب Get Access Token API الذي تم إجراؤه في الخطوة السابقة لملء هذا الجزء من نص الطلب.
restoreRequest: لملء الجزء restoreRequest لملء من نص الطلب، ستحتاج إلى تمرير معرف نقطة الاسترداد الذي تم الحصول عليه سابقاً، إلى جانب معرف إدارة موارد Azure (ARM) الخاص بـ VM المصدر، بالإضافة إلى تفاصيل حساب التخزين في المنطقة الثانوية ليتم استخدامه كموقع مرحلي. لإجراء استعادة القرص، حدد RestoreDisks كنوع الاسترداد.
التالي هو نموذج طلب نص استعادة الأقراص الخاصة بجهاز ظاهري إلى المنطقة الثانوية:
{
"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": []
}
}
على غرار عملية استعادة المنطقة الأساسية، هذه عملية غير متزامنة وتحتاج إلى تعقب بشكل منفصل.
الخطوات التالية
للمزيد من المعلومات حول واجهات برمجة التطبيقات REST للنسخ الاحتياطي لـ Azure، راجع المستندات التالية: