إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية تكوين النسخ الاحتياطية للكائنات الثنائية كبيرة الحجم في حساب تخزين عبر واجهة برمجة تطبيقات REST. يتم تكوين النسخ الاحتياطي للنقاط على مستوى حساب التخزين.
يمكنك Azure Backup من تكوين النسخ الاحتياطي بسهولة لحماية الكائنات الثنائية كبيرة الحجم للكتلة في حسابات التخزين الخاصة بك. يمكنك إجراء نسخ احتياطية تشغيلية ومخزنة لحماية الكائنات الثنائية كبيرة الحجم للكتلة في حسابات التخزين الخاصة بك باستخدام Azure Backup.
تعرف على توفر منطقة Azure blob والسيناريوهات والقيود المدعومة.
المتطلبات الأساسية
قبل إجراء نسخ احتياطي للكائنات الثنائية كبيرة الحجم في حساب تخزين باستخدام واجهة برمجة تطبيقات REST، تأكد من:
تكوين النسخ الاحتياطي
بمجرد إنشاء المخزن والنهج، تحتاج إلى النظر في نقطتين هامتين لحماية جميع Azure Blobs داخل حساب تخزين.
- الكيانات الرئيسية
- الأذونات
الكيانات الرئيسية
لتكوين النسخ الاحتياطي، راجع الكيانات الرئيسية التالية المعنية:
حساب التخزين الذي يحتوي على الكائنات الثنائية كبيرة الحجم المراد حمايتها: إحضار معرف Azure Resource Manager لحساب التخزين الذي يحتوي على الكائنات الثنائية كبيرة الحجم المراد حمايتها. يعمل هذا كمعرف لحساب التخزين.
على سبيل المثال، سنستخدم حساب تخزين يسمى msblobbackup، ضمن مجموعة الموارد RG-BlobBackup، في اشتراك مختلف وفي غرب الولايات المتحدة.
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup"مخزن النسخ الاحتياطي: يتطلب مخزن النسخ الاحتياطي أذونات على حساب التخزين لتمكين النسخ الاحتياطية على الكائنات الثنائية كبيرة الحجم الموجودة داخل حساب التخزين. يتم استخدام الهوية المدارة المعينة من قبل النظام للمخزن لتعيين الأذونات.
على سبيل المثال، سنستخدم مخزن نسخ احتياطي يسمى testBkpVault في منطقة غرب الولايات المتحدة ضمن مجموعة موارد TestBkpVaultRG.
تعيين الأذونات
قم بتعيين بعض الأذونات عبر التحكم في الوصول المستند إلى الدور Azure (Azure RBAC) إلى المخزن الذي تم إنشاؤه (ممثلا بهوية الخدمة المدارة للمخزن) وحساب التخزين ذي الصلة. يمكنك تعيين الأذونات عبر مدخل Microsoft Azure أو PowerShell أو REST API. تعرف على المزيد حول جميع الأذونات ذات الصلة .
إعداد الطلب لتكوين النسخ الاحتياطي للكائنات الثنائية كبيرة الحجم
بمجرد تعيين الأذونات ذات الصلة إلى المخزن وحساب التخزين، ويتم تكوين المخزن والنهج، قم بإعداد الطلب لتكوين النسخ الاحتياطي.
ما يلي هو نص الطلب لتكوين النسخ الاحتياطي لجميع النقاط الكبيرة داخل حساب التخزين. يتم ذكر معرف Azure Resource Manager (معرف ARM) لحساب التخزين وتفاصيله في datasourceinfo القسم ومعلومات النهج موجودة في policyinfo القسم .
{
"backupInstance": {
"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": ""
},
"policyInfo": {
"policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/BlobBackup-Policy"
},
"objectType": "BackupInstance"
}
}
لتكوين النسخ الاحتياطي مع تمكين النسخ الاحتياطي المخزن، راجع نص الطلب أدناه.
{backupInstanceDataSourceType is Microsoft.Storage/storageAccounts/blobServices
backupInstanceResourceType is Microsoft.Storage/storageAccounts
{
"id": null,
"name": "{{backupInstanceName}}",
"type": "Microsoft.DataProtection/backupvaults/backupInstances",
"properties": {
"objectType": "BackupInstance",
"dataSourceInfo": {
"objectType": "Datasource",
"resourceID": "/subscriptions/{{backupInstanceSubscriptionId}}/resourceGroups/{{backupInstanceresourcegroup}}/providers/{{backupInstanceResourceType}}/{{backupInstanceName}}",
"resourceName": "{{backupInstanceName}}",
"resourceType": "{{backupInstanceResourceType}}",
"resourceUri": "/subscriptions/{{backupInstanceSubscriptionId}}/resourceGroups/{{backupInstanceRG}}/providers/{{backupInstanceResourceType}}/{{backupInstanceName}}",
"resourceLocation": "{{location}}",
"datasourceType": "{{backupInstanceDataSourceType}}"
},
"policyInfo": {
"policyId": "/subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}}/providers/{{backupVaultRP}}/{{vaultName}}/backupPolicies/{{policyName}}",
"name": "{{policyName}}",
"policyVersion": "3.2",
"policyParameters": {
"dataStoreParametersList": [
],
"backupDatasourceParametersList" : [
{
"objectType": "BlobBackupDatasourceParameters",
"containersList": ["container1", "container2", "container3", "container4", "container5"]
}
]
}
}
}
}
قم بالتحقق من صحة طلب تكوين النسخ الاحتياطي
للتحقق من نجاح طلب تكوين النسخ الاحتياطي، استخدم التحقق من صحة واجهة برمجة تطبيقات النسخ الاحتياطي. يمكنك استخدام الاستجابة لتنفيذ جميع المتطلبات الأساسية المطلوبة ثم إرسال التكوين لطلب النسخ الاحتياطي.
التحقق من صحة طلب النسخ الاحتياطي هو عملية *POST ويحتوي URI على {subscriptionId}معلمات و {vaultName}{vaultresourceGroupName} و.
POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.DataProtection/backupVaults/{backupVaultName}/validateForBackup?api-version=2021-01-01
على سبيل المثال، يترجم هذا إلى:
POST https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/validateForBackup?api-version=2021-01-01
يتم استخدام نص الطلب الذي أعددته سابقا لإعطاء تفاصيل حساب التخزين المراد حمايته.
نموذج طلب النص الأساسي
{
"backupInstance": {
"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": ""
},
"policyInfo": {
"policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/BlobBackup-Policy"
},
"objectType": "BackupInstance"
}
}
مثال على نص الطلب للنسخ الاحتياطي المخزن
{
"objectType": "ValidateForBackupRequest",
"backupInstance": {
"objectType": "BackupInstance",
"dataSourceInfo": {
"objectType": "Datasource",
"resourceID": "/subscriptions/{{backupInstanceSubscriptionId}}/resourceGroups/{{backupInstanceRG}}/providers/{{backupInstanceResourceType}}/{{backupInstanceName}}",
"resourceName": "{{backupInstanceName}}",
"resourceType": "{{backupInstanceResourceType}}",
"resourceUri": "/subscriptions/{{backupInstanceSubscriptionId}}/resourceGroups/{{backupInstanceRG}}/providers/{{backupInstanceResourceType}}/{{backupInstanceName}}",
"resourceLocation": "{{location}}",
"datasourceType": "{{backupInstanceDataSourceType}}"
},
"policyInfo": {
"policyId": "/subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}}/providers/{{backupVaultRP}}/{{vaultName}}/backupPolicies/{{policyName}}",
"name": "{{policyName}}",
"policyVersion": "3.2",
"policyParameters": {
"dataStoreParametersList": [
] ,
"backupDatasourceParametersList" : [
{
"objectType": "BlobBackupDatasourceParameters",
"containersList": ["container1", "container2", "container3", "container4", "container5"]
}
]
}
}
}
}
استجابات للتحقق من صحة طلب النسخ الاحتياطي
التحقق من صحة طلب النسخ الاحتياطي هو عملية غير متزامنة . لذلك، تحتاج العملية بإنشاء عملية أخرى إلى تعقب بشكل منفصل.
يقوم بإرجاع استجابتين: 202 (مقبول) عند إنشاء عملية أخرى؛ 200 (موافق) عند اكتمال هذه العملية.
| الاسم | كتابة | الوصف |
|---|---|---|
| 202 مقبولة | سوف يتم الانتهاء من العملية بشكل غير متزامن | |
| 200 جيد | OperationJobExtendedInfo | مقبول |
| رموز حالة أخرى | CloudError | استجابة خطأ تبين سبب فشل العملية |
الردود على سبيل المثال من أجل التحقق من صحة طلب النسخ الاحتياطي
الاستجابة للخطأ
إذا كان حساب التخزين المحدد محميا بالفعل، فإن الاستجابة هي HTTP 400 (طلب غير صحيح) وتذكر بوضوح أن حساب التخزين المحدد محمي إلى مخزن النسخ الاحتياطي مع التفاصيل.
HTTP/1.1 400 BadRequest
Content-Length: 999
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: f36eb67a-8932-42a8-8aba-c5ee2443aa2e
x-ms-routing-request-id: WESTUS:20210707T124745Z:bcd23af5-fa17-4cd0-9929-a55f141e33ce
Cache-Control: no-cache
Date: Wed, 07 Jul 2021 12:47:45 GMT
X-Powered-By: ASP.NET
{
"error": {
"additionalInfo": [
{
"type": "UserFacingError",
"info": {
"message": "Datasource is already protected under the Backup vault /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault.",
"recommendedAction": [
"Delete the backup instance msblobbackuptemp from the Backup vault /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault to re-protect the datasource in any other vault."
],
"details": null,
"code": "UserErrorDppDatasourceAlreadyProtected",
"target": "",
"innerError": null,
"isRetryable": false,
"isUserError": false,
"properties": {
"ActivityId": "f36eb67a-8932-42a8-8aba-c5ee2443aa2e"
}
}
}
],
"code": "UserErrorDppDatasourceAlreadyProtected",
"message": "Datasource is already protected under the Backup vault /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault.",
"target": null
}
}
إجابة التتبع
إذا كان مصدر البيانات غير محمي، فإن واجهة برمجة التطبيقات تتابع لمزيد من عمليات التحقق من الصحة وتنشئ عملية تعقب.
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/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==?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: 3e7cacb3-65cd-4b3c-8145-71fe90d57327
x-ms-routing-request-id: CENTRALUSEUAP:20210707T124850Z:105f2105-6db1-44bf-8a34-45972a8ba861
Cache-Control: no-cache
Date: Wed, 07 Jul 2021 12:48:50 GMT
Location: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationResults/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==?api-version=2021-01-01
X-Powered-By: ASP.NET
قم بتتبع العملية الناتجة باستخدام رأس Azure-AsyncOperation باستخدام أمر GET بسيط.
GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==?api-version=2021-01-01
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==",
"name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==",
"status": "Inprogress",
"startTime": "2021-07-07T12:48:50.3432229Z",
"endTime": "0001-01-01T00:00:00"
}
يقوم بإرجاع 200 (OK) بمجرد اكتمال التحقق من الصحة ويسرد نص الاستجابة المتطلبات الإضافية التي يجب الوفاء بها، مثل الأذونات.
GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==?api-version=2021-01-01
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==",
"name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzM2NDdhZDNjLTFiNGEtNDU4YS05MGJkLTQ4NThiYjRhMWFkYg==",
"status": "Failed",
"error": {
"additionalInfo": [
{
"type": "UserFacingError",
"info": {
"message": "Appropriate permissions to perform the operation is missing.",
"recommendedAction": [
"Grant appropriate permissions to perform this operation as mentioned at https://aka.ms/UserErrorMissingRequiredPermissions and retry the operation."
],
"code": "UserErrorMissingRequiredPermissions",
"target": "",
"innerError": {
"code": "UserErrorMissingRequiredPermissions",
"additionalInfo": {
"DetailedNonLocalisedMessage": "Validate for Protection failed. Exception Message: The client '00001111-aaaa-2222-bbbb-3333cccc4444' with object id 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/read' over scope '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup/providers/Microsoft.Authorization' or the scope is invalid. If access was recently granted, please refresh your credentials."
}
},
"isRetryable": false,
"isUserError": false,
"properties": {
"ActivityId": "3e7cacb3-65cd-4b3c-8145-71fe90d57327"
}
}
}
],
"code": "UserErrorMissingRequiredPermissions",
"message": "Appropriate permissions to perform the operation is missing."
},
"startTime": "2021-07-07T12:48:50.3432229Z",
"endTime": "2021-07-07T12:49:22Z"
}
إذا تم منح جميع الأذونات، فأعيد إرسال مهمة طلب التحقق من الصحة وتعقب العملية الناتجة. تقوم بإرجاع 200 (OK) كما نجحت، إذا تم استيفاء جميع الشروط.
GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzlhMjk2YWM2LWRjNDMtNGRjZS1iZTU2LTRkZDNiMDhjZDlkOA==?api-version=2021-01-01
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzlhMjk2YWM2LWRjNDMtNGRjZS1iZTU2LTRkZDNiMDhjZDlkOA==",
"name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzlhMjk2YWM2LWRjNDMtNGRjZS1iZTU2LTRkZDNiMDhjZDlkOA==",
"status": "Succeeded",
"startTime": "2021-07-07T13:03:54.8627251Z",
"endTime": "2021-07-07T13:04:06Z"
}
تكوين طلب النسخ الاحتياطي
بمجرد اكتمال التحقق من صحة الطلب، يمكنك إرسال نفس الشيء إلى إنشاء واجهة برمجة تطبيقات مثيل النسخ الاحتياطي. يمثل مثيل النسخ الاحتياطي عنصرًا محميًا بخدمة حماية البيانات في Azure Backup داخل قبو النسخ الاحتياطي. في هذه الحالة، يكون حساب التخزين هو النسخة الاحتياطية ويمكنك استخدام نفس نص الطلب، الذي تم التحقق من صحته أعلاه، مع إضافات ثانوية.
قم باستخدام اسماً فريداً لمثيل النسخ الاحتياطي. لذلك، نوصيك باستخدام مزيج من اسم المورد، ومعرف فريد. في هذا المثال، استخدم msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d هنا وضع علامة عليه كاسم مثيل النسخ الاحتياطي.
لإنشاء أو تحديث نسخة النسخة الاحتياطية؛ استخدم عملية PUT التالية.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/{BkpvaultName}/backupInstances/{UniqueBackupInstanceName}?api-version=2021-01-01
على سبيل المثال، هذا يترجم إلى
PUT https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d?api-version=2021-01-01
قم بإنشاء طلب تكوين النسخ الاحتياطي
لإنشاء نسخة احتياطية، فيما يلي مكونات نص الطلب
| الاسم | كتابة | الوصف |
|---|---|---|
| الخصائص | BackupInstance | خصائص BackupInstanceResource |
طلب مثال لتكوين هذا النسخ الاحتياطي
استخدم نفس نص الطلب الذي استخدمته للتحقق من صحة طلب النسخ الاحتياطي باسم فريد كما ذكرنا أعلاه.
{
"name": "msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d",
"type": "Microsoft.DataProtection/backupvaults/backupInstances",
"properties": {
"objectType": "BackupInstance",
"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": ""
},
"policyInfo": {
"policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/BlobBackup-Policy"
}
}
}
الردود/ الاستجابات لتهيئة طلب النسخ الاحتياطي
طلب إنشاء نسخة احتياطية هو عملية غير متزامنة . لذلك، تحتاج العملية بإنشاء عملية أخرى إلى تعقب بشكل منفصل.
يقوم بإرجاع استجابتين: 201 (تم إنشاؤه) عند إنشاء مثيل النسخ الاحتياطي وتكوين الحماية؛ 200 (موافق) عند اكتمال هذا التكوين.
| الاسم | كتابة | الوصف |
|---|---|---|
| 201 أُنشئ | نسخة احتياطية | تُنشأ نسخة احتياطية، وتتكون الحماية |
| 200 جيد | نسخة احتياطية | تم تكوين الحماية |
| رموز حالة أخرى | CloudError | استجابة خطأ تبين سبب فشل العملية |
الردود على سبيل المثال لكي تكون طلب النسخ الاحتياطي
فور إرسال طلبPUT لإنشاء نسخة احتياطية، تكون الاستجابة الأولية 201 (تم الإنشاء) برأس Azure-asyncOperation.
إشعار
يحتوي نص الطلب على جميع خصائص مثيل النسخ الاحتياطي.
HTTP/1.1 201 Created
Content-Length: 1149
Content-Type: application/json
Expires: -1
Pragma: no-cache
Retry-After: 15
Azure-AsyncOperation: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzI1NWUwNmFlLTI5MjUtNDBkNy1iMjMxLTM0ZWZlMDA3NjdkYQ==?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: 5d9ccf1b-7ac1-456d-8ae3-36c93c0d2427
x-ms-routing-request-id: CENTRALUSEUAP:20210707T170219Z:9e897266-5d86-4d13-b298-6561c60cf043
Cache-Control: no-cache
Date: Wed, 07 Jul 2021 17:02:18 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d",
"name": "msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d",
"type": "Microsoft.DataProtection/backupVaults/backupInstances",
"properties": {
"friendlyName": "msblobbackup",
"dataSourceInfo": {
"resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup",
"resourceUri": "",
"datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
"resourceName": "msblobbackup",
"resourceType": "Microsoft.Storage/storageAccounts",
"resourceLocation": "westus",
"objectType": "Datasource"
},
"policyInfo": {
"policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/BlobBackup-Policy"
},
"protectionStatus": {
"status": "ConfiguringProtection"
},
"currentProtectionState": "ConfiguringProtection",
"provisioningState": "Provisioning",
"objectType": "BackupInstance"
}
}
ثم تتبع العملية الناتجة باستخدام رأس Azure-AsyncOperation عن طريق استخدام أمر GET بسيط.
GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzI1NWUwNmFlLTI5MjUtNDBkNy1iMjMxLTM0ZWZlMDA3NjdkYQ==?api-version=2021-01-01
فور اكتمال العملية، تقوم بإرجاع 200 (موافق) مع رسالة النجاح في نص الاستجابة.
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzI1NWUwNmFlLTI5MjUtNDBkNy1iMjMxLTM0ZWZlMDA3NjdkYQ==",
"name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzI1NWUwNmFlLTI5MjUtNDBkNy1iMjMxLTM0ZWZlMDA3NjdkYQ==",
"status": "Succeeded",
"startTime": "2021-07-07T17:02:19.0611871Z",
"endTime": "2021-07-07T17:02:20Z"
}
هام
بمجرد تكوين حساب التخزين للنسخ الاحتياطي للنقاط، تتأثر بعض الإمكانات، مثل تغيير التغذية وحذف القفل. اعرف المزيد.
إيقاف الحماية وحذف البيانات
لإزالة الحماية على حساب تخزين وحذف بيانات النسخ الاحتياطي أيضا، اتبع عملية الحذف.
تعتبر إيقاف الحماية وحذف البيانات عملية حذف .
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}?api-version=2021-01-01
على سبيل المثال، هذا يترجم إلى:
DELETE "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d?api-version=2021-01-01"
الردود على حذف الحماية
حذف الحماية هي عملية غير متزامنة . لذلك، تحتاج العملية بإنشاء عملية أخرى إلى تعقب بشكل منفصل.
يقوم بإرجاع استجابتين: 202 (مقبول) عند إنشاء عملية أخرى؛ 200 (موافق) عند اكتمال هذه العملية.
| الاسم | كتابة | الوصف |
|---|---|---|
| 200 جيد | حالة طلب الحذف | |
| 202 مقبولة | مقبول |
الردود على سبيل المثال لحذف الحماية
بمجرد إرسال طلب حذف، سيتم قبول الاستجابة الأولية 202 مع رأس 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/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzE1ZjM4YjQ5LWZhMGQtNDMxOC1iYjQ5LTExMDJjNjUzNjM5Zg==?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-deletes: 14999
x-ms-correlation-request-id: fee7a361-b1b3-496d-b398-60fed030d5a7
x-ms-routing-request-id: CENTRALUSEUAP:20210708T071330Z:5c3a9f3e-53aa-4d5d-bf9a-20de5601b090
Cache-Control: no-cache
Date: Thu, 08 Jul 2021 07:13:29 GMT
Location: https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationResults/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzE1ZjM4YjQ5LWZhMGQtNDMxOC1iYjQ5LTExMDJjNjUzNjM5Zg==?api-version=2021-01-01
X-Powered-By: ASP.NET
تتبع رأس Azure-AsyncOperation من خلال طلب GET بسيط. عندما ينجح الطلب، يتم إرجاع 200 موافق مع استجابة حالة النجاح.
GET "https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzE1ZjM4YjQ5LWZhMGQtNDMxOC1iYjQ5LTExMDJjNjUzNjM5Zg==?api-version=2021-01-01"
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzE1ZjM4YjQ5LWZhMGQtNDMxOC1iYjQ5LTExMDJjNjUzNjM5Zg==",
"name": "ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzE1ZjM4YjQ5LWZhMGQtNDMxOC1iYjQ5LTExMDJjNjUzNjM5Zg==",
"status": "Succeeded",
"startTime": "2021-07-08T07:13:30.23815Z",
"endTime": "2021-07-08T07:13:46Z"
}
الخطوات التالية
استعادة البيانات من نسخة Azure Blob الاحتياطية .
للمزيد من المعلومات حول واجهات برمجة التطبيقات REST للنسخ الاحتياطي لـ Azure، راجع المستندات التالية:
- واجهة برمجة تطبيقات REST لموفر حماية البيانات Azure.
- ابدأ باستخدام Azure REST API.
- إدارة مهام النسخ الاحتياطي والاستعادة.
المحتويات ذات الصلة
استعادة Azure Blobs بواسطة Azure Backup باستخدام مدخل AzureوAzure PowerShellوAzure CLI.