Aracılığıyla paylaş


REST API aracılığıyla Azure Data Protection kullanarak depolama hesabındaki blobları yedekleme

Bu makalede, REST API aracılığıyla depolama hesabındaki bloblar için yedeklemelerin nasıl yapılandırıldığı açıklanmaktadır. Blobların yedekleri depolama hesabı düzeyinde yapılandırılır.

Azure Backup, depolama hesaplarınızdaki blok bloblarını korumak için yedeklemeyi kolayca yapılandırmanıza olanak tanır. Azure Backup'ı kullanarak depolama hesaplarınızdaki blok bloblarını korumak için işlemsel ve kasalı yedeklemeler yapabilirsiniz.

Azure blob bölgesinin kullanılabilirliği, desteklenen senaryolar ve sınırlamalar hakkında bilgi edinin.

Önkoşullar

REST API kullanarak depolama hesabındaki blobları yedeklemeden önce şunları yaptığınızdan emin olun:

Yedeklemeyi yapılandırma

Kasayı ve ilkeyi oluşturduktan sonra, bir depolama hesabındaki tüm Azure Bloblarını korumak için iki kritik noktayı göz önünde bulundurmanız gerekir.

  • Önemli varlıklar
  • İzinler

Önemli varlıklar

Yedekleme yapılandırması için aşağıdaki önemli varlıkları gözden geçirin:

  • Korunacak blobları içeren depolama hesabı: Korunacak blobları içeren depolama hesabının Azure Resource Manager kimliğini getirin. Bu, depolama hesabının tanımlayıcısı olarak görev görür.

    Örneğin, RG-BlobBackup kaynak grubu altında, farklı bir abonelikte ve batı ABD'de msblobbackup adlı bir depolama hesabı kullanacağız.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup"
    
  • Yedekleme kasası: Yedekleme kasası, depolama hesabında bulunan bloblarda yedeklemeleri etkinleştirmek için depolama hesabında izinler gerektirir. Kasanın sistem tarafından atanan yönetilen kimliği, izinleri atamak için kullanılır.

    Örneğin, Batı ABD bölgesinde TestBkpVaultRG kaynak grubu altında testBkpVaultadlı bir yedekleme kasası kullanacağız.

İzin atama

Azure rol tabanlı erişim denetimi (Azure RBAC) aracılığıyla oluşturulan kasaya (kasa Yönetilen Hizmet Kimliği ile temsil edilir) ve ilgili depolama hesabına birkaç izin atayın. İzinleri Azure portalı, PowerShell veya REST API aracılığıyla atayabilirsiniz. tüm ilgili izinler hakkında daha fazla bilgi edinin.

Blob yedeklemeyi yapılandırma isteğini hazırlama

Kasa ve depolama hesabı için ilgili izinler ayarlandıktan ve kasa ve ilke yapılandırması tamamlandıktan sonra, yedeklemeyi yapılandırmak için isteği hazırlayın.

Aşağıda, depolama hesabı içindeki tüm bloblar için yedeklemeyi yapılandırmak için istek gövdesi yer alır. Depolama hesabının Azure Resource Manager Kimliği (ARM Kimliği) ve ayrıntıları bölümünde belirtilir datasourceinfo ve ilke bilgileri bölümünde policyinfo bulunur.

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

Kasalı yedekleme etkin olarak yedeklemeyi yapılandırmak için aşağıdaki istek gövdesine bakın.

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

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. Yanıtı kullanarak tüm gerekli önkoşulları gerçekleştirebilir ve ardından yedekleme isteği için yapılandırmayı gönderebilirsiniz.

Yedekleme isteğinin bir *POST işlemi olduğunu ve URI'de , {subscriptionId}, {vaultName} parametrelerinin olduğunu {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 ş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ığınız istek gövdesi , korunacak depolama hesabının ayrıntılarını vermek için kullanılır.

Örnek istek gövdesi

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

Kasalı yedekleme için örnek istek gövdesi

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

Yedekleme isteğini doğrulama yanıtları

Yedekleme isteğinin zaman uyumsuz bir işlem olduğunu doğrulayın. 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); 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 depolama hesabı zaten korunuyorsa, yanıt HTTP 400 'dür (Hatalı istek) ve verilen depolama hesabının ayrıntılarla birlikte bir yedekleme kasasıyla korunduğunu açıkça belirtir.

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

Doğrulama tamamlandıktan ve yanıt gövdesi izinler gibi yerine getirilmesi gereken diğer gereksinimleri listeledikten sonra 200 (Tamam) döndürür.

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

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

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ğrulaması tamamlandıktan sonra, aynı işlemi yedekleme örneği oluşturma API'sine gönderebilirsiniz. Backup örneği, yedekleme kasası içindeki Azure Backup'ın veri koruma hizmetiyle korunan bir öğeyi temsil eder. Bu durumda, depolama hesabı yedekleme örneğidir ve küçük eklemelerle yukarıda doğrulanan aynı 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. Bu örnekte, burada msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d kullanın ve yedekleme örneği adı olarak işaretleyin.

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,

 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

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

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

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

Yedekleme isteğini doğrulamak için kullandığınız istek gövdesini yukarıda belirttiğimiz gibi benzersiz bir adla kullanın.

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

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

Yedekleme örneği oluşturma isteği zaman uyumsuz bir işlemdir. 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ıldığında 201 (Oluşturuldu); 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.

Not

İstek gövdesi tüm yedekleme örneği özelliklerini içerir.

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

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

Önemli

Depolama hesabı blob yedeklemesi için yapılandırıldıktan sonra değişiklik akışı ve silme kilidi gibi birkaç özellik etkilenir. Daha fazla bilgi edinin.

Korumayı durdurma ve verileri silme

Depolama hesabındaki korumayı kaldırmak ve yedekleme verilerini de silmek için silme işlemi işlemini izleyin.

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ğimiz için şu ifadeye çevrilir:

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"

Silme koruması yanıtları

DELETE koruması zaman uyumsuz bir işlemdir. 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); 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 birlikte 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 Blob yedeklemesinden verileri geri yükleme.

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

Azure portalını, Azure PowerShell'i, Azure CLI'yı kullanarak Azure Backup ile Azure Bloblarını geri yükleyin.