Aracılığıyla paylaş


REST API aracılığıyla Azure Data Protection kullanarak Azure Diskleri yedekleme

Bu makalede REST API aracılığıyla Azure Diskleri için yedeklemelerin nasıl yönetileceğini açıklanmaktadır.

Azure Disk Backup, yedekleme ilkelerine göre düzenli anlık görüntüleri ve saklamayı otomatikleştirerek yönetilen diskler için anlık görüntü yaşam döngüsü yönetimini basitleştirir. Altyapı maliyetlerini, özel betikleri ve yönetim ek yükünü ortadan kaldırarak artımlı anlık görüntüler aracılığıyla kilitlenmeye karşı tutarlı, belirli bir zamanda yedekleme sağlar ve bu sayede günde birden çok kez yedekleme yapılmasını destekler. Bu aracısız çözüm, üretim performansı üzerinde sıfır etki sağlar ve hem işletim sistemi hem de veri disklerinin (paylaşılan diskler dahil) Azure VM'sine bağlı olup olmadıklarına bakılmaksızın yedeklenmesine ve geri yüklenmesine olanak tanır.

Azure Disk yedekleme bölgesinin kullanılabilirliği, desteklenen senaryolar ve sınırlamalar hakkında bilgi için bkz . destek matrisi.

Önkoşullar

Diskleri yedeklemeden önce aşağıdaki önkoşulları gözden geçirin:

Yedeklemeyi yapılandırma

Depo ve ilke oluşturulduktan sonra, kullanıcının bir depolama hesabı içindeki tüm Azure bloblarını korumak için dikkate alması gereken iki kritik nokta vardır.

  • Önemli varlıklar
  • İzinler

Önemli varlıklar

Kasa ve ilke oluşturulduktan sonra Azure Disk'i korumak için göz önünde bulundurmanız gereken üç kritik nokta vardır.

  • Korunacak disk: ARM kimliğini ve korunacak diskin konumunu not edin. Bu, diskin tanımlayıcısı olarak görev yapacaktır.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/RG-DiskBackup/providers/Microsoft.Compute/disks/msdiskbackup"
    
  • Anlık görüntü kaynak grubu: Disk anlık görüntüleri aboneliğinizdeki bir kaynak grubunda depolanır. Kılavuz olarak, Azure Backup hizmeti tarafından kullanılacak anlık görüntü veri deposu olarak ayrılmış bir kaynak grubu oluşturmanızı öneririz. Ayrılmış bir kaynak grubuna sahip olmak, kaynak grubu üzerindeki erişim izinlerinin kısıtlanmasıyla yedekleme verilerinin güvenlik ve yönetim kolaylığı sağlar. Disk anlık görüntülerini yerleştirmek istediğiniz kaynak grubunun ARM kimliğini not edin.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/snapshot-rg"
    
  • Yedekleme kasası: Yedekleme kasası, yedeklemeleri etkinleştirmek için disk üzerinde izinler gerektirir. Depoya sistem tarafından atanan yönetilen kimlik, bu tür izinlerin atanması için kullanılır.

İzin atama

RBAC aracılığıyla güvenli depoya (depo MSI ile temsil edilir) ve ilgili diske veya disk RG'ye bazı izinler atamanız gerekir. Bunlar Azure portalı veya CLI aracılığıyla gerçekleştirilebilir. İlgili izinleri atamak için yönetilen disklerin yedeklemesini yapılandırma önkoşullarına bakın.

Yedeklemeyi yapılandırmak için isteği hazırlama

İlgili izinler depoya ve diske ayarlandıktan ve depo ile ilke yapılandırıldıktan sonra, yedeklemeyi yapılandırmak için isteği hazırlayın. Azure Disk için yedeklemeyi yapılandırmak için istek gövdesi aşağıdadır. Azure Disk'in Azure Resource Manager Kimliği (ARM Kimliği) ve ayrıntılarından datasourceinfo bölümünde bahsedilir ve ilke bilgileri, anlık görüntü kaynak grubunun ilke parametrelerinden biri olarak sağlandığı policyinfo bölümünde bulunur.

{
  "backupInstance": {
    "dataSourceInfo": {
      "datasourceType": "Microsoft.Compute/",
      "objectType": "Datasource",
      "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-DiskBackup/providers/Microsoft.Compute/disks/msdiskbackup",
      "resourceLocation": "westUS",
      "resourceName": "msdiskbackup",
      "resourceType": "Microsoft.Compute/disks",
      "resourceUri": ""
    },
    "policyInfo": {
      "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/DiskBackup-Policy",
      "policyParameters": {
        "dataStoreParametersList": [
          {
            "dataStoreType": "OperationalStore",
            "objectType": "AzureOperationalStoreParameters",
            "resourceGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/snapshot-rg"
          }
        ]
      }
    },
    "objectType": "BackupInstance"
  }
}

Yedeklemeyi yapılandırma isteğini doğrulama

Yedeklemeyi yapılandırma isteğinin başarılı olup olmadığını doğrulamak için yedekleme API'sini doğrulayın. Gerekli önkoşulları gerçekleştirmek için yanıtı kullanabilir ve ardından yedekleme isteği için yapılandırmayı gönderebilirsiniz.

Yedekleme isteğinin bir POST işlemi olduğunu ve URI'nin , {subscriptionId}, {vaultName} parametrelerini içerdiğini {vaultresourceGroupName}doğrulayın.

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.DataProtection/backupVaults/{backupVaultName}/validateForBackup?api-version=2021-01-01

Örneğin, bu API şu şekilde çevrilir:

POST https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/validateForBackup?api-version=2021-01-01

Daha önce hazırladığımız istek gövdesi , korunacak Azure Disk'in ayrıntılarını sağlamak için kullanılacaktır.

Örnek istek gövdesi

{
  "backupInstance": {
    "dataSourceInfo": {
      "datasourceType": "Microsoft.Compute/disks",
      "objectType": "Datasource",
      "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-DiskBackup/providers/Microsoft.Compute/disks/msdiskbackup",
      "resourceLocation": "westUS",
      "resourceName": "msdiskbackup",
      "resourceType": "Microsoft.Compute/disks",
      "resourceUri": ""
    },
    "policyInfo": {
      "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/DiskBackup-Policy",
      "policyParameters": {
        "dataStoreParametersList": [
          {
            "dataStoreType": "OperationalStore",
            "objectType": "AzureOperationalStoreParameters",
            "resourceGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/snapshot-rg"
          }
        ]
      }
    },
    "objectType": "BackupInstance"
  }
}

Yedekleme isteği doğrulama yanıtları

Yedekleme isteği doğrulaması zaman uyumsuz bir işlemdir. Bu nedenle, bu işlem ayrı olarak izlenmesi gereken başka bir işlem oluşturur.

İki yanıt döndürür: başka bir işlem oluşturulduğunda 202 (Kabul Edildi) ve bu işlem tamamlandığında 200 (Tamam).

Adı Tür Açıklama
202 Kabul Edildi İşlem zaman uyumsuz olarak tamamlanacak
200 Tamam OperationJobExtendedInfo Kabul edildi
Diğer Durum kodları CloudError İşlemin neden başarısız olduğunu açıklayan hata yanıtı

Yedekleme isteğini doğrulamak için örnek yanıtlar

Hata yanıtı

Verilen disk zaten korumalıysa, yanıtı HTTP 400 (Hatalı istek) olarak döndürür ve verilen diskin ayrıntılarla birlikte bir yedekleme kasasıyla korunduğunu belirtir.

HTTP/1.1 400 BadRequest
Content-Length: 1012
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: 0c99ff0f-6c26-4ec7-899f-205435e89894
x-ms-routing-request-id: CENTRALUSEUAP:20210830T142949Z:0be72802-02ad-485d-b91f-4aadd92c059c
Cache-Control: no-cache
Date: Mon, 30 Aug 2021 14:29:49 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 SharedDataDisk 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": "0c99ff0f-6c26-4ec7-899f-205435e89894"
          }
        }
      }
    ],
    "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,
    "details": null
  }
}
Yanıtı izleme

Veri kaynağı korumasızsa, API daha fazla doğrulama için devam eder ve bir izleme işlemi oluşturur.

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

Basit bir GET komutuyla Azure-AsyncOperation üst bilgisini kullanarak sonuçta elde edilen işlemi izleyin.

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

Tamamlandıktan sonra 200 (Tamam) döndürür ve yanıt gövdesi, izinler gibi yerine getirilmesi gereken diğer gereksinimleri listeler.

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-DiskBackup/providers/Microsoft.Compute/disks/msdiskbackup/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"
}

Tüm izinleri verirseniz doğrulama isteğini yeniden gönderin, sonuçta elde edilen işlemi izleyin ve tüm koşullar karşılanırsa başarı yanıtı 200 (Tamam) olarak döndürülecektir.

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

Yedekleme isteğini yapılandırma

İstek doğrulandıktan sonra, aynı işlemi yedekleme örneği oluşturma API'sine gönderebilirsiniz. Backup örneği, Backup kasası içindeki Azure Backup'ın veri koruma hizmetiyle korunan bir öğeyi temsil eder. Burada Azure Disk yedekleme örneğidir ve küçük eklemelerle yukarıda doğrulanmış olan istek gövdesini kullanabilirsiniz.

Yedekleme örneği için benzersiz bir ad kullanın. Bu nedenle, kaynak adı ile benzersiz tanımlayıcının bir bileşimini kullanmanızı öneririz. Örneğin, aşağıdaki işlemde msdiskbackup-2dc6eb5b-d008-4d68-9e49-7132d99da0ed kullanacağız ve bunu yedekleme örneği adı olarak işaretleyeceğiz.

Yedekleme örneğini oluşturmak veya güncelleştirmek için aşağıdaki PUT işlemini kullanın.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/{BkpvaultName}/backupInstances/{UniqueBackupInstanceName}?api-version=2021-01-01

Örneğin, bu API şu şekilde çevrilir:

 PUT https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msdiskbackup-2dc6eb5b-d008-4d68-9e49-7132d99da0ed?api-version=2021-01-01

Yedeklemeyi yapılandırma isteğini oluşturma

Yedekleme örneği oluşturmak için, istek gövdesinin bileşenleri şunlardır:

Adı Tür Açıklama
özellikler BackupInstance BackupInstanceResource özellikleri
Yedeklemeyi yapılandırmaya yönelik örnek istek

Yukarıda belirttiğimiz gibi yedekleme isteğini benzersiz bir adla doğrulamak için kullandığımız istek gövdesini kullanacağız.

{
  "name": "msdiskbackup-2dc6eb5b-d008-4d68-9e49-7132d99da0ed",
  "type": "Microsoft.DataProtection/backupvaults/backupInstances",
  "properties": {
    "dataSourceInfo": {
      "datasourceType": "Microsoft.Compute/disks",
      "objectType": "Datasource",
      "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-DiskBackup/providers/Microsoft.Compute/disks/msdiskbackup",
      "resourceLocation": "westUS",
      "resourceName": "msdiskbackup",
      "resourceType": "Microsoft.Compute/disks",
      "resourceUri": ""
    },
    "policyInfo": {
      "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/DiskBackup-Policy",
      "policyParameters": {
        "dataStoreParametersList": [
          {
            "dataStoreType": "OperationalStore",
            "objectType": "AzureOperationalStoreParameters",
            "resourceGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/snapshot-rg"
          }
        ]
      }
    },
    "objectType": "BackupInstance"
  }
}

Yedekleme isteğini yapılandırma yanıtları

Yedekleme örneği oluşturma isteği zaman uyumsuz bir işlemdir. Bu nedenle, bu işlem ayrı olarak izlenmesi gereken başka bir işlem oluşturur.

İki yanıt döndürür: yedekleme örneği oluşturulduğunda ve koruma yapılandırılırken 201 (Oluşturuldu) ve yapılandırma tamamlandığında 200 (Tamam) .

Adı Tür Açıklama
201 Oluşturuldu Yedekleme örneği Yedekleme örneği oluşturulur ve koruma yapılandırılır
200 Tamam Yedekleme örneği Koruma yapılandırıldı
Diğer Durum kodları CloudError İşlemin neden başarısız olduğunu açıklayan hata yanıtı
Yedekleme isteğini yapılandırmak için örnek yanıtlar

Yedekleme örneği oluşturmak için PUT isteğini gönderdikten sonra, ilk yanıt Azure-asyncOperation üst bilgisi ile 201 (Oluşturuldu) olur. İstek gövdesinin tüm yedekleme örneği özelliklerini içerdiğini unutmayın.

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/msdiskbackup-2dc6eb5b-d008-4d68-9e49-7132d99da0ed",
  "name": "msdiskbackup-2dc6eb5b-d008-4d68-9e49-7132d99da0ed",
  "type": "Microsoft.DataProtection/backupVaults/backupInstances",
  "properties": {
    "friendlyName": "msdiskbackup",
    "dataSourceInfo": {
      "datasourceType": "Microsoft.Compute/disks",
      "objectType": "Datasource",
      "resourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/RG-DiskBackup/providers/Microsoft.Compute/disks/msdiskbackup",
      "resourceLocation": "westUS",
      "resourceName": "msdiskbackup",
      "resourceType": "Microsoft.Compute/disks",
      "resourceUri": ""
    },
    "policyInfo": {
      "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupPolicies/DiskBackup-Policy",
      "policyParameters": {
        "dataStoreParametersList": [
          {
            "dataStoreType": "OperationalStore",
            "objectType": "AzureOperationalStoreParameters",
            "resourceGroupId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/snapshot-rg"
          }
        ]
      },
    "protectionStatus": {
      "status": "ConfiguringProtection"
    },
    "currentProtectionState": "ConfiguringProtection",
    "provisioningState": "Provisioning",
    "objectType": "BackupInstance"
  }
}

Ardından basit bir GET komutuyla Azure-AsyncOperation üst bilgisini kullanarak sonuçta elde edilen işlemi izleyin.

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

İşlem tamamlandıktan sonra yanıt gövdesinde başarı iletisiyle birlikte 200 (Tamam) döndürür.

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

Korumayı durdurma ve verileri silme

Azure Disk üzerindeki korumayı kaldırmak ve yedekleme verilerini de silmek için silme işlemi gerçekleştirin.

Korumayı durdurma ve verileri silme bir DELETE işlemidir.

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

Örneğin, bu API şu şekilde çevrilir:

DELETE "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/backupInstances/msdiskbackup-2dc6eb5b-d008-4d68-9e49-7132d99da0ed?api-version=2021-01-01"

Silme koruması yanıtları

DELETE koruması zaman uyumsuz bir işlemdir. Bu nedenle, bu işlem ayrı olarak izlenmesi gereken başka bir işlem oluşturur.

İki yanıt döndürür: başka bir işlem oluşturulduğunda 202 (Kabul Edildi) ve bu işlem tamamlandığında 200 (Tamam).

Adı Tür Açıklama
200 Tamam Silme isteğinin durumu
202 Kabul Edildi Kabul edildi
Silme koruması için örnek yanıtlar

DELETE isteğini gönderdikten sonra, ilk yanıt Azure-asyncOperation üst bilgisi ile 202 (Kabul Edildi) olur.

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

Basit bir GET isteğiyle Azure-AsyncOperation üst bilgisini izleyin. İstek başarılı olduğunda, başarı durumu yanıtıyla 200 Tamam döndürür.

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

Sonraki adımlar

Azure portal, Azure PowerShell, AzureCLI, REST API kullanarak Yönetilen Diski geri yükleyin.

Azure Backup REST API'leri hakkında daha fazla bilgi için aşağıdaki makalelere bakın: