Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie Sicherungen für Blobs in einem Speicherkonto über die REST-API konfigurieren. Die Sicherung von Blobs wird auf der Ebene des Speicherkontos konfiguriert.
Mit Azure Backup können Sie die Sicherung zum Schutz von Blockblobs in Ihren Speicherkonten einfach konfigurieren. Sie können mit Azure Backup Betriebssicherungen und Sicherungen im Tresor erstellen, um Blockblobs in Ihren Speicherkonten zu schützen.
Erfahren Sie mehr über die regionale Verfügbarkeit von Azure-Blobs, unterstützte Szenarien und Einschränkungen.
Voraussetzungen
Bevor Sie Blobs in einem Speicherkonto mithilfe der REST-API sichern, stellen Sie sicher, dass Sie:
Konfigurieren der Sicherung
Sobald Sie den Tresor und die Richtlinie erstellt haben, müssen Sie beim Schutz aller Azure-Blobs im Speicherkonto zwei wichtige Punkte beachten.
- Schlüsselentitäten
- Berechtigungen
Schlüsselentitäten
Überprüfen Sie für die Sicherungskonfiguration die folgenden wichtigen beteiligten Entitäten:
Speicherkonto, das die zu schützenden BLOBs enthält: Rufen Sie die Azure Resource Manager-ID des Speicherkontos ab, das die zu schützenden Blobs enthält. Dient als Bezeichner des Speicherkontos.
Als Beispiel wird ein Speicherkonto mit dem Namen msblobbackup unter der Ressourcengruppe RG-BlobBackup in einem anderen Abonnement in der Region USA, Westen verwendet.
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/RG-BlobBackup/providers/Microsoft.Storage/storageAccounts/msblobbackup"Backup-Tresor: Der Backup-Tresor benötigt Berechtigungen für das Speicherkonto, um Sicherungen für die im Speicherkonto vorhandenen Blobs zu aktivieren. Die systemseitig zugewiesene verwaltete Identität des Tresors wird zum Zuweisen der Berechtigungen verwendet.
Als Beispiel wird ein Sicherungstresor mit dem Namen testBkpVault in der Region USA, Westen unter der Ressourcengruppe TestBkpVaultRG verwendet.
Zuweisen von Berechtigungen
Weisen Sie dem erstellten Tresor (repräsentiert durch die verwaltete Dienstidentität des Tresors) und dem entsprechenden Speicherkonto einige Berechtigungen über die rollenbasierten Zugriffssteuerung in Azure (Azure RBAC) zu. Sie können die Berechtigungen über das Azure-Portal, PowerShell oder die REST-API zuweisen. Erfahren Sie mehr über alle zugehörigen Berechtigungen.
Vorbereiten der Anforderung zum Konfigurieren der Blob-Sicherung
Sobald die entsprechenden Berechtigungen für den Tresor und das Speicherkonto festgelegt sowie der Tresor und die Richtlinie konfiguriert sind, kann die Anforderung zum Konfigurieren der Sicherung vorbereitet werden.
Nachfolgend sehen Sie den Anforderungstext zum Konfigurieren der Sicherung für alle Blobs in einem Speicherkonto. Die Azure Resource Manager-ID (ARM-ID) des Speicherkontos und die zugehörigen Details werden im Abschnitt datasourceinfo genannt und die Richtlinieninformationen sind im Abschnitt policyinfo enthalten.
{
"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"
}
}
Um das Backup mit aktiviertem Vault-Backup für die explizite Containerauswahl zu konfigurieren, verwenden Sie den folgenden Request-Body. Verwenden containersList Sie, wenn Sie nur ausgewählte Container schützen möchten, anstatt alle aktuellen und zukünftigen Container automatisch zu schützen. Für den automatischen Schutz verwenden Sie eine Backup-Konfiguration, die mit dem Azure CLI-Befehl oder dem Azure New-AzDataProtectionBackupConfigurationClientObject -AutoProtection PowerShell-Kommando az dataprotection backup-instance initialize-backupconfig --auto-protection true generiert wurde, und geben Sie diese Backup-Konfiguration dann in der Backup-Instanz-Anfrage weiter.
{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"]
}
]
}
}
}
}
Überprüfen der Anforderung zum Konfigurieren der Sicherung
Verwenden Sie die API zum Überprüfen auf Sicherung, um zu überprüfen, ob die Anforderung zum Konfigurieren der Sicherung erfolgreich ist. Sie können die Antwort verwenden, um alle erforderlichen Voraussetzungen auszuführen, und dann die Konfiguration für die Sicherungsanforderung übermitteln.
Die Anforderung zur Validierung der Sicherung ist ein *POST-Vorgang, und die URI enthält die Parameter {subscriptionId}, {vaultName} und {vaultresourceGroupName}.
POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.DataProtection/backupVaults/{backupVaultName}/validateForBackup?api-version=2021-01-01
In unserem Beispiel ergibt dies Folgendes:
POST https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/TestBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/testBkpVault/validateForBackup?api-version=2021-01-01
Der zuvor erstellte Anforderungstext wird verwendet, um die Details des zu schützenden Speicherkontos anzugeben.
Beispiel für Anforderungstext
{
"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"
}
}
Beispiel-Anforderungskörper für ein Vault-Backup mit expliziter Containerauswahl
{
"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"]
}
]
}
}
}
}
Antworten für die Anforderung zur Sicherungsüberprüfung
Die Validierung einer Sicherungsanforderung ist ein asynchroner Vorgang. In diesem Vorgang wird ein anderer Vorgang erstellt, der separat nachverfolgt werden muss.
Zwei Antworten werden zurückgegeben: „202 (Akzeptiert)“, wenn ein anderer Vorgang erstellt wird; „200 (OK)“, wenn dieser Vorgang abgeschlossen ist.
| Name | Typ | BESCHREIBUNG |
|---|---|---|
| 202 Akzeptiert | Der Vorgang wird asynchron abgeschlossen. | |
| 200 OK | OperationJobExtendedInfo | Akzeptiert |
| Andere Statuscodes | CloudError | Fehlerantwort mit Beschreibung des Grunds für den Fehler |
Beispielantworten für die Anfrage zum Validieren einer Sicherung
Fehlerantwort
Wenn das angegebene Speicherkonto bereits geschützt ist, lautet die Antwort „HTTP 400 (Ungültige Anforderung)“ und gibt eindeutig an, dass das angegebene Speicherkonto in einem Sicherungstresor geschützt ist, und nennt Details.
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
}
}
Nachverfolgen der Antwort
Wenn die Datenquelle nicht geschützt ist, fährt die API mit weiteren Überprüfungen fort und erstellt einen Nachverfolgungsvorgang.
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
Verfolgen Sie den resultierenden Vorgang mithilfe des Azure-AsyncOperation-Headers mit einem einfachen GET-Befehl nach.
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"
}
Nach Abschluss der Überprüfung wird „200 (OK)“ zurückgegeben, und im Antworttext werden weitere Anforderungen aufgeführt, die erfüllt werden müssen, z. B. Berechtigungen.
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"
}
Wenn alle Berechtigungen erteilt wurden, übermitteln Sie den Auftrag zur Validierung der Anforderung erneut und verfolgen Sie den daraus resultierenden Vorgang. Wenn alle Bedingungen erfüllt sind, wird „200 (OK)“ (erfolgreich) zurückgegeben.
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"
}
Anforderung zum Konfigurieren der Sicherung
Nachdem die Anforderungsüberprüfung abgeschlossen ist, können Sie sie an die API zum Erstellen einer Sicherungsinstanz übermitteln. Eine Sicherungsinstanz bezeichnet ein Element, das im Sicherungstresor durch den Azure Backup-Dienst geschützt ist. In diesem Fall ist das Speicherkonto die Sicherungsinstanz, und Sie können denselben Anforderungstext, der oben überprüft wurde, mit geringfügigen Ergänzungen verwenden.
Verwenden Sie einen eindeutigen Namen für die Sicherungsinstanz. Wir empfehlen Ihnen daher, eine Kombination aus dem Ressourcennamen und einem eindeutigen Bezeichner zu verwenden. In diesem Beispiel wird hier msblobbackup-f2df34eb-5628-4570-87b2-0331d797c67d verwendet und als Name der Sicherungsinstanz festgelegt.
Verwenden Sie den folgenden PUT-Vorgang, um eine Sicherungsinstanz zu erstellen oder zu aktualisieren.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/{BkpvaultName}/backupInstances/{UniqueBackupInstanceName}?api-version=2021-01-01
Zum Beispiel wird dies zu Folgendem:
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
Erstellen der Anforderung zum Konfigurieren der Sicherung
Zum Erstellen einer Sicherungsinstanz enthält der Anforderungstext die folgenden Komponenten:
| Name | Typ | BESCHREIBUNG |
|---|---|---|
| Eigenschaften | BackupInstance | BackupInstanceResource-Eigenschaften |
Beispielanforderung zum Konfigurieren der Sicherung
Verwenden Sie denselben Request-Body, den Sie zur Validierung der Backup-Anfrage verwendet haben, mit einem eindeutigen Namen, wie oben erwähnt.
{
"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"
}
}
}
Antworten auf eine Anforderung zum Konfigurieren der Sicherung
Die Anforderung zum Erstellen einer Sicherungsinstanz ist ein asynchroner Vorgang. In diesem Vorgang wird ein anderer Vorgang erstellt, der separat nachverfolgt werden muss.
Es werden zwei Antworten zurückgegeben: „201 (Erstellt)“, wenn die Sicherungsinstanz erstellt wurde und der Schutz konfiguriert wird; „200 (OK)“, wenn diese Konfiguration abgeschlossen ist.
| Name | Typ | BESCHREIBUNG |
|---|---|---|
| 201 Erstellt | Sicherungsinstanz | Die Sicherungsinstanz wurde erstellt, und der Schutz wird konfiguriert. |
| 200 OK | Sicherungsinstanz | Der Schutz ist konfiguriert. |
| Andere Statuscodes | CloudError | Fehlerantwort mit Beschreibung des Grunds für den Fehler |
Beispielantworten auf eine Anforderung zum Konfigurieren der Sicherung
Nachdem Sie die PUT-Anforderung zum Erstellen einer Sicherungsinstanz übermittelt haben, lautet die erste Antwort „201 (Erstellt)“ mit einem Azure-asyncOperation-Header.
Hinweis
Der Anforderungstext enthält alle Eigenschaften der Sicherungsinstanz.
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"
}
}
Verfolgen Sie dann den resultierenden Vorgang mithilfe des Azure-AsyncOperation-Headers mit einem einfachen GET-Befehl nach.
GET https://management.azure.com/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZmMzNDFmYWMtZWJlMS00NGJhLWE4YTgtMDNjYjI4Y2M5OTExOzI1NWUwNmFlLTI5MjUtNDBkNy1iMjMxLTM0ZWZlMDA3NjdkYQ==?api-version=2021-01-01
Sobald der Vorgang abgeschlossen ist, wird „200 (OK)“ mit der Erfolgsmeldung im Antworttext zurückgegeben.
{
"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"
}
Wichtig
Sobald ein Speicherkonto für die Sicherung von Blobs konfiguriert ist, sind einige Funktionen betroffen, z. B. Änderungsfeed und Löschsperre. Weitere Informationen
Beenden des Schutzes und Löschen der Daten
Wenn Sie den Schutz für ein Speicherkonto entfernen und auch die Sicherungsdaten löschen möchten, befolgen Sie die Anweisungen zum Löschvorgang.
Das Beenden des Schutzes und das Löschen der Daten ist ein DELETE-Vorgang.
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}?api-version=2021-01-01
In unserem Beispiel ergibt dies Folgendes:
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"
Antworten für den Löschschutz
Der DELETE-Vorgang für den Schutz ist ein asynchroner Vorgang. In diesem Vorgang wird ein anderer Vorgang erstellt, der separat nachverfolgt werden muss.
Zwei Antworten werden zurückgegeben: „202 (Akzeptiert)“, wenn ein anderer Vorgang erstellt wird; „200 (OK)“, wenn dieser Vorgang abgeschlossen ist.
| Name | Typ | BESCHREIBUNG |
|---|---|---|
| 200 OK | Status der Löschanforderung | |
| 202 Akzeptiert | Akzeptiert |
Beispielantworten für den Löschschutz
Sobald Sie die DELETE-Anforderung übermittelt haben, lautet die erste Antwort „202 Akzeptiert“ zusammen mit einem Azure-asyncOperation-Header.
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
Verfolgen Sie den Azure-AsyncOperation-Header mit einer einfachen GET-Anforderung nach. Wenn die Anfrage erfolgreich ist, wird eine Antwort mit dem Erfolgsstatus „200 OK“ zurückgegeben.
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"
}
Nächste Schritte
Wiederherstellen von Daten aus einer Sicherung von Azure-Blobs
Weitere Informationen zu den Azure Backup-REST-APIs finden Sie in den folgenden Dokumenten:
- REST-API des Azure Data Protection-Anbieters.
- Erste Schritte mit der Azure REST-API.
- Verwalten von Sicherungs- und Wiederherstellungsaufträgen.
Verwandte Inhalte
Stelle Azure-Blobs wieder her, indem du Azure Backup mit dem Azure-Portal, Azure PowerShell oder Azure CLI verwendest.