Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób konfigurowania kopii zapasowych dla obiektów blob na koncie magazynu za pośrednictwem interfejsu API REST. Tworzenie kopii zapasowych obiektów blob jest konfigurowane na poziomie konta magazynu.
Usługa Azure Backup umożliwia łatwe konfigurowanie kopii zapasowych w celu ochrony blokowych obiektów blob na kontach magazynu. Kopie zapasowe operacyjne i magazynowane można wykonywać w celu ochrony blokowych obiektów blob na kontach magazynu przy użyciu usługi Azure Backup.
Dowiedz się więcej o dostępności regionu obiektów blob platformy Azure, obsługiwanych scenariuszach i ograniczeniach.
Wymagania wstępne
Przed utworzeniem kopii zapasowej obiektów blob na koncie magazynu przy użyciu interfejsu API REST upewnij się, że:
Konfigurowanie kopii zapasowych
Po utworzeniu magazynu i zasad należy rozważyć dwa krytyczne punkty, aby chronić wszystkie obiekty blob platformy Azure na koncie magazynu.
- Kluczowe encje
- Uprawnienia
Kluczowe encje
W przypadku konfiguracji kopii zapasowej zapoznaj się z następującymi kluczowymi jednostkami:
Konto magazynu zawierające obiekty blob do ochrony: pobierz identyfikator usługi Azure Resource Manager konta magazynu zawierającego obiekty blob do ochrony. Służy on jako identyfikator konta magazynu.
Na przykład użyjemy konta magazynu o nazwie msblobbackup w grupie zasobów RG-BlobBackup w innej subskrypcji i w regionie Zachodnie stany USA.
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup"Magazyn kopii zapasowych: Magazyn kopii zapasowych wymaga uprawnień na koncie magazynu, aby umożliwić tworzenie kopii zapasowych obiektów blob znajdujących się na koncie magazynu. Tożsamość zarządzana przypisana przez system magazynu służy do przypisywania uprawnień.
Na przykład użyjemy magazynu kopii zapasowej o nazwie testBkpVault w regionie Zachodnie stany USA w obszarze TestBkpVaultRG grupy zasobów.
Przypisywanie uprawnień użytkowników
Przypisz kilka uprawnień za pośrednictwem kontroli dostępu opartej na rolach (RBAC) platformy Azure do utworzonego magazynu (reprezentowanego przez tożsamość usługi zarządzanej magazynu) i odpowiedniego konta magazynu. Uprawnienia można przypisać za pośrednictwem witryny Azure Portal, programu PowerShell lub interfejsu API REST. Dowiedz się więcej o wszystkich powiązanych uprawnieniach.
Przygotowywanie żądania do skonfigurowania kopii zapasowej obiektów blob
Po ustawieniu odpowiednich uprawnień do magazynu i konta magazynu, a konfiguracja magazynu i zasad zostanie wykonana, przygotuj żądanie skonfigurowania kopii zapasowej.
Poniżej znajduje się treść żądania, aby skonfigurować kopię zapasową dla wszystkich obiektów blob na koncie magazynu. Identyfikator usługi Azure Resource Manager (IDENTYFIKATOR ARM) konta magazynu i jego szczegóły są wymienione w datasourceinfo sekcji, a informacje o zasadach znajdują się w policyinfo sekcji .
{
"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"
}
}
Aby skonfigurować kopię zapasową z włączoną obsługą kopii zapasowej magazynu, zapoznaj się z poniższą treścią żądania.
{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"]
}
]
}
}
}
}
Weryfikowanie żądania konfigurowania kopii zapasowej
Aby sprawdzić, czy żądanie skonfigurowania kopii zapasowej powiedzie się, użyj weryfikacji dla interfejsu API kopii zapasowej. Możesz użyć odpowiedzi, aby wykonać wszystkie wymagane wymagania wstępne, a następnie przesłać konfigurację żądania kopii zapasowej.
Sprawdź, czy żądanie kopii zapasowej jest operacją *POST, a identyfikator URI ma {subscriptionId}parametry , . {vaultName}{vaultresourceGroupName}
POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.DataProtection/backupVaults/{backupVaultName}/validateForBackup?api-version=2021-01-01
Na przykład przekłada się to na:
POST https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/validateForBackup?api-version=2021-01-01
Treść żądania przygotowana wcześniej jest używana do podania szczegółów konta magazynu, które ma być chronione.
Przykładowa treść żądania
{
"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"
}
}
Przykładowa treść żądania dla kopii zapasowej magazynu
{
"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"]
}
]
}
}
}
}
Odpowiedzi na żądanie weryfikacji kopii zapasowej
Sprawdź, czy żądanie kopii zapasowej jest operacją asynchroniczną. Ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.
Zwraca dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji; 200 (OK) po zakończeniu tej operacji.
| Nazwisko | Pisz | Opis |
|---|---|---|
| Zaakceptowano 202 | Operacja zostanie ukończona asynchronicznie | |
| 200 OK | OperationJobExtendedInfo | Zaakceptowano |
| Inne kody stanu | CloudError | Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się |
Przykładowe odpowiedzi na żądanie weryfikacji kopii zapasowej
Odpowiedź błędna
Jeśli dane konto magazynu jest już chronione, odpowiedź to HTTP 400 (nieprawidłowe żądanie) i wyraźnie stwierdza, że dane konto magazynu jest chronione w magazynie kopii zapasowych wraz ze szczegółami.
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
}
}
Śledzenie odpowiedzi
Jeśli źródło danych nie jest chronione, interfejs API kontynuuje dalsze walidacje i tworzy operację śledzenia.
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
Śledź wynikową operację przy użyciu nagłówka Azure-AsyncOperation za pomocą prostego polecenia 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"
}
Zwraca wartość 200 (OK) po zakończeniu walidacji, a treść odpowiedzi zawiera dodatkowe wymagania, które należy spełnić, takie jak uprawnienia.
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"
}
Jeśli udzielono wszystkich uprawnień, prześlij ponownie zadanie żądania weryfikacji i prześledzić wynikową operację. Zwraca wartość 200 (OK), jeśli wszystkie warunki zostaną spełnione.
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"
}
Konfigurowanie żądania kopii zapasowej
Po zakończeniu weryfikacji żądania możesz przesłać je do interfejsu API tworzenia wystąpienia kopii zapasowej. Wystąpienie kopii zapasowej reprezentuje element chroniony za pomocą usługi ochrony danych usługi Azure Backup w magazynie kopii zapasowych. W takim przypadku konto magazynu jest wystąpieniem kopii zapasowej i można użyć tej samej treści żądania, która została zweryfikowana powyżej, z drobnymi dodatkami.
Użyj unikatowej nazwy wystąpienia kopii zapasowej. Dlatego zalecamy użycie kombinacji nazwy zasobu i unikatowego identyfikatora. W tym przykładzie użyj polecenia msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d tutaj i oznacz go jako nazwę wystąpienia kopii zapasowej.
Aby utworzyć lub zaktualizować wystąpienie kopii zapasowej, użyj następującej operacji PUT .
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/{BkpvaultName}/backupInstances/{UniqueBackupInstanceName}?api-version=2021-01-01
Na przykład przekłada się to na
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
Tworzenie żądania konfigurowania kopii zapasowej
Aby utworzyć wystąpienie kopii zapasowej, poniżej przedstawiono składniki treści żądania
| Nazwisko | Pisz | Opis |
|---|---|---|
| właściwości | Klasa BackupInstance | Właściwości klasy BackupInstanceResource |
Przykładowe żądanie konfigurowania kopii zapasowej
Użyj tej samej treści żądania, która została użyta do zweryfikowania żądania kopii zapasowej o unikatowej nazwie, jak wspomniano powyżej.
{
"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"
}
}
}
Odpowiedzi na żądanie kopii zapasowej
Żądanie tworzenia wystąpienia kopii zapasowej jest operacją asynchroniczną. Ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.
Zwraca dwie odpowiedzi: 201 (utworzono) podczas tworzenia wystąpienia kopii zapasowej, a ochrona jest konfigurowana; 200 (OK) po zakończeniu tej konfiguracji.
| Nazwisko | Pisz | Opis |
|---|---|---|
| Utworzono 201 | Wystąpienie kopii zapasowej | Wystąpienie kopii zapasowej jest tworzone i konfigurowana ochrona |
| 200 OK | Wystąpienie kopii zapasowej | Skonfigurowano ochronę |
| Inne kody stanu | CloudError | Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się |
Przykładowe odpowiedzi na żądanie kopii zapasowej
Po przesłaniu żądania PUT w celu utworzenia wystąpienia kopii zapasowej początkowa odpowiedź to 201 (Utworzono) z nagłówkiem Azure-asyncOperation.
Uwaga
Treść żądania zawiera wszystkie właściwości wystąpienia kopii zapasowej.
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"
}
}
Następnie śledź wynikową operację przy użyciu nagłówka Azure-AsyncOperation za pomocą prostego polecenia GET .
GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzI1NWUwNmFlLTI5MjUtNDBkNy1iMjMxLTM0ZWZlMDA3NjdkYQ==?api-version=2021-01-01
Po zakończeniu operacji zwraca ona wartość 200 (OK) z komunikatem o powodzeniu w treści odpowiedzi.
{
"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"
}
Ważne
Po skonfigurowaniu konta magazynu na potrzeby tworzenia kopii zapasowych obiektów blob ma to wpływ na kilka funkcji, takich jak zestawienie zmian i blokada usuwania. Dowiedz się więcej.
Zatrzymywanie ochrony i usuwanie danych
Aby usunąć ochronę na koncie magazynu i usunąć również dane kopii zapasowej, postępuj zgodnie z procesem operacji usuwania.
Zatrzymywanie ochrony i usuwanie danych jest operacją DELETE .
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}?api-version=2021-01-01
W naszym przykładzie przekłada się to na:
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"
Odpowiedzi na ochronę przed usunięciem
Ochrona DELETE jest operacją asynchroniczną. Ta operacja tworzy kolejną operację, która musi być śledzona oddzielnie.
Zwraca dwie odpowiedzi: 202 (Zaakceptowane) podczas tworzenia innej operacji; 200 (OK) po zakończeniu tej operacji.
| Nazwisko | Pisz | Opis |
|---|---|---|
| 200 OK | Stan żądania usunięcia | |
| Zaakceptowano 202 | Zaakceptowano |
Przykładowe odpowiedzi na potrzeby ochrony przed usunięciem
Po przesłaniu żądania DELETE początkowa odpowiedź będzie 202 Zaakceptowana wraz z nagłówkiem 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
Śledź nagłówek Azure-AsyncOperation za pomocą prostego żądania GET . Gdy żądanie zakończy się powodzeniem, zwraca wartość 200 OK z odpowiedzią na stan powodzenia.
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"
}
Następne kroki
Przywracanie danych z kopii zapasowej obiektów blob platformy Azure.
Aby uzyskać więcej informacji na temat interfejsów API REST usługi Azure Backup, zobacz następujące dokumenty:
- Interfejs API REST dostawcy ochrony danych Azure.
- Rozpocznij przygodę z interfejsem API REST platformy Azure
- Zarządzanie zadaniami tworzenia kopii zapasowych i przywracania.
Treści powiązane
Przywracanie obiektów blob platformy Azure za pomocą usługi Azure Backup przy użyciu witryny Azure Portal, programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure.