Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Lesen Sie Amazon EBS-Snapshots mit EBS Direct APIs
In den folgenden Schritten wird beschrieben, wie Sie EBS Direct APIs zum Lesen von Snapshots verwenden:
-
Verwenden Sie die ListSnapshotBlocks Aktion, um alle Blockindizes und Blocktoken von Blöcken in einem Snapshot anzuzeigen. Oder verwenden Sie die ListChangedBlocks Aktion, um nur die Blockindizes und Blocktoken von Blöcken anzuzeigen, die sich zwischen zwei Snapshots desselben Volumes und derselben Snapshot-Herkunft unterscheiden. Diese Aktionen helfen Ihnen, die Block-Token und Blockindizes von Blöcken zu identifizieren, für die Sie möglicherweise Daten abrufen möchten.
-
Verwenden Sie die GetSnapshotBlock Aktion und geben Sie den Blockindex und das Blocktoken des Blocks an, für den Sie Daten abrufen möchten.
Sie können EBS Direct nicht APIs mit archivierten Snapshots verwenden.
Die folgenden Beispiele zeigen, wie Snapshots mit EBS Direct gelesen werden. APIs
Liste der Blöcke in einem Snapshot
- AWS CLI
-
Der folgende list-snapshot-blocksBeispielbefehl gibt die Blockindizes und Blocktoken von Blöcken zurück, die sich im Snapshot befinden. snap-0987654321 Der Parameter --starting-block-index schränkt die Ergebnisse auf Block-Indizes ein, die größer als 1000 sind. Der Parameter --max-results schränkt die Ergebnisse auf die ersten 100 Blöcke ein.
aws ebs list-snapshot-blocks --snapshot-id snap-0987654321 --starting-block-index 1000 --max-results 100
Die folgende Beispielantwort für den vorherigen Befehl listet die Block-Indizes und Block-Token im Snapshot auf. Mithilfe des Befehls get-snapshot-block können Sie den Block-Index und das Block-Token des Blocks angeben, für den Sie Daten abrufen möchten. Die Block-Token sind bis zur angegebenen Ablaufzeit gültig.
{
"Blocks": [
{
"BlockIndex": 1001,
"BlockToken": "AAABAV3/PNhXOynVdMYHUpPsetaSvjLB1dtIGfbJv5OJ0sX855EzGTWos4a4"
},
{
"BlockIndex": 1002,
"BlockToken": "AAABATGQIgwr0WwIuqIMjCA/Sy7e/YoQFZsHejzGNvjKauzNgzeI13YHBfQB"
},
{
"BlockIndex": 1007,
"BlockToken": "AAABAZ9CTuQtUvp/dXqRWw4d07eOgTZ3jvn6hiW30W9duM8MiMw6yQayzF2c"
},
{
"BlockIndex": 1012,
"BlockToken": "AAABAQdzxhw0rVV6PNmsfo/YRIxo9JPR85XxPf1BLjg0Hec6pygYr6laE1p0"
},
{
"BlockIndex": 1030,
"BlockToken": "AAABAaYvPax6mv+iGWLdTUjQtFWouQ7Dqz6nSD9L+CbXnvpkswA6iDID523d"
},
{
"BlockIndex": 1031,
"BlockToken": "AAABATgWZC0XcFwUKvTJbUXMiSPg59KVxJGL+BWBClkw6spzCxJVqDVaTskJ"
},
...
],
"ExpiryTime": 1576287332.806,
"VolumeSize": 32212254720,
"BlockSize": 524288
}
- AWS API
-
Die folgende ListSnapshotBlocksBeispielanforderung gibt die Blockindizes und Blocktoken von Blöcken zurück, die sich im Snapshot befinden. snap-0acEXAMPLEcf41648 Der Parameter startingBlockIndex schränkt die Ergebnisse auf Block-Indizes ein, die größer als 1000 sind. Der Parameter maxResults schränkt die Ergebnisse auf die ersten 100 Blöcke ein.
GET /snapshots/snap-0acEXAMPLEcf41648/blocks?maxResults=100&startingBlockIndex=1000 HTTP/1.1
Host: ebs.us-east-2.amazonaws.com
Accept-Encoding: identity
User-Agent: <User agent parameter>
X-Amz-Date: 20200617T231953Z
Authorization: <Authentication parameter>
Die folgende Beispielantwort für die vorherige Anforderung listet die Block-Indizes und Block-Token im Snapshot auf. Verwenden Sie die GetSnapshotBlock Aktion und geben Sie den Blockindex und das Blocktoken des Blocks an, für den Sie Daten abrufen möchten. Die Block-Token sind bis zur angegebenen Ablaufzeit gültig.
HTTP/1.1 200 OK
x-amzn-RequestId: d6e5017c-70a8-4539-8830-57f5557f3f27
Content-Type: application/json
Content-Length: 2472
Date: Wed, 17 Jun 2020 23:19:56 GMT
Connection: keep-alive
{
"BlockSize": 524288,
"Blocks": [
{
"BlockIndex": 0,
"BlockToken": "AAUBAcuWqOCnDNuKle11s7IIX6jp6FYcC/q8oT93913HhvLvA+3JRrSybp/0"
},
{
"BlockIndex": 1536,
"BlockToken": "AAUBAWudwfmofcrQhGVlLwuRKm2b8ZXPiyrgoykTRC6IU1NbxKWDY1pPjvnV"
},
{
"BlockIndex": 3072,
"BlockToken": "AAUBAV7p6pC5fKAC7TokoNCtAnZhqq27u6YEXZ3MwRevBkDjmMx6iuA6tsBt"
},
{
"BlockIndex": 3073,
"BlockToken": "AAUBAbqt9zpqBUEvtO2HINAfFaWToOwlPjbIsQOlx6JUN/0+iMQl0NtNbnX4"
},
...
],
"ExpiryTime": 1.59298379649E9,
"VolumeSize": 3
}
Liste der Blöcke, die sich zwischen zwei Snapshots unterscheiden
Beachten Sie Folgendes, wenn Sie paginierte Anforderungen stellen, um die geänderten Blöcke zwischen zwei Snapshots aufzulisten:
-
Die Antwort kann eine oder mehrere leere ChangedBlocks-Arrays enthalten. Zum Beispiel:
Das Auflisten der geänderten Blöcke für diese Snapshots mit StartingBlockIndex = 0 und MaxResults = 100 ergibt ein leeres Array von ChangedBlocks. Sie müssen die übrigen Ergebnisse mit nextToken anfordern, bis der geänderte Block in der zehnten Ergebnismenge zurückgegeben wird, die Blöcke mit Blockindizes 900 – 999 umfasst.
-
Die Antwort kann ungeschriebene Blöcke in den Snapshots überspringen. Zum Beispiel:
Auflisten der geänderten Blöcke für diese Snapshots mit StartingBlockIndex = 0 und MaxResults = 100, überspringt die Blockindizes 0 – 1999 und beinhaltet Blockindex 2000. Die Antwort wird keine leeren ChangedBlocks-Arrays enthalten.
- AWS CLI
-
Der folgende list-changed-blocksBeispielbefehl gibt die Blockindizes und Blocktoken von Blöcken zurück, die sich zwischen Snapshots snap-1234567890 und unterscheiden. snap-0987654321 Der Parameter --starting-block-index schränkt die Ergebnisse auf Block-Indizes ein, die größer als 0 sind. Der Parameter --max-results schränkt die Ergebnisse auf die ersten 500 Blöcke ein.
aws ebs list-changed-blocks --first-snapshot-id snap-1234567890 --second-snapshot-id snap-0987654321 --starting-block-index 0 --max-results 500
Die folgende Beispielantwort für den vorherigen Befehl zeigt, dass sich die Block-Indizes 0, 6000, 6001, 6002 und 6003 zwischen den beiden Snapshots unterscheiden. Darüber hinaus sind die Block-Indizes 6001, 6002 und 6003 nur in der ersten angegebenen Snapshot-ID und nicht in der zweiten Snapshot-ID vorhanden, da in der Antwort kein zweites Block-Token aufgeführt ist.
Mithilfe des Befehls get-snapshot-block können Sie den Block-Index und das Block-Token des Blocks angeben, für den Sie Daten abrufen möchten. Die Block-Token sind bis zur angegebenen Ablaufzeit gültig.
{
"ChangedBlocks": [
{
"BlockIndex": 0,
"FirstBlockToken": "AAABAVahm9SO60Dyi0ORySzn2ZjGjW/KN3uygGlS0QOYWesbzBbDnX2dGpmC",
"SecondBlockToken": "AAABAf8o0o6UFi1rDbSZGIRaCEdDyBu9TlvtCQxxoKV8qrUPQP7vcM6iWGSr"
},
{
"BlockIndex": 6000,
"FirstBlockToken": "AAABAbYSiZvJ0/R9tz8suI8dSzecLjN4kkazK8inFXVintPkdaVFLfCMQsKe",
"SecondBlockToken": "AAABAZnqTdzFmKRpsaMAsDxviVqEI/3jJzI2crq2eFDCgHmyNf777elD9oVR"
},
{
"BlockIndex": 6001,
"FirstBlockToken": "AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR"
},
{
"BlockIndex": 6002,
"FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw"
},
{
"BlockIndex": 6003,
"FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A"
},
...
],
"ExpiryTime": 1576308931.973,
"VolumeSize": 32212254720,
"BlockSize": 524288,
"NextToken": "AAADARqElNng/sV98CYk/bJDCXeLJmLJHnNSkHvLzVaO0zsPH/QM3Bi3zF//O6Mdi/BbJarBnp8h"
}
- AWS API
-
Die folgende ListChangedBlocksBeispielanforderung gibt die Blockindizes und Blocktoken von Blöcken zurück, die sich zwischen Snapshots und unterscheiden. snap-0acEXAMPLEcf41648 snap-0c9EXAMPLE1b30e2f Der Parameter startingBlockIndex schränkt die Ergebnisse auf Block-Indizes ein, die größer als 0 sind. Der Parameter maxResults schränkt die Ergebnisse auf die ersten 500 Blöcke ein.
GET /snapshots/snap-0c9EXAMPLE1b30e2f/changedblocks?firstSnapshotId=snap-0acEXAMPLEcf41648&maxResults=500&startingBlockIndex=0 HTTP/1.1
Host: ebs.us-east-2.amazonaws.com
Accept-Encoding: identity
User-Agent: <User agent parameter>
X-Amz-Date: 20200617T232546Z
Authorization: <Authentication parameter>
Die folgende Beispielantwort für die vorherige Anforderung zeigt, dass sich die Block-Indizes 0, 3072, 6002 und 6003 zwischen den beiden Snapshots unterscheiden. Darüber hinaus sind die Block-Indizes 6002 und 6003 nur in der ersten angegebenen Snapshot-ID und nicht in der zweiten Snapshot-ID vorhanden, da in der Antwort kein zweites Block-Token aufgeführt ist.
Mithilfe der Aktion GetSnapshotBlock können Sie den Block-Index und das Block-Token des Blocks angeben, für den Sie Daten abrufen möchten. Die Block-Token sind bis zur angegebenen Ablaufzeit gültig.
HTTP/1.1 200 OK
x-amzn-RequestId: fb0f6743-6d81-4be8-afbe-db11a5bb8a1f
Content-Type: application/json
Content-Length: 1456
Date: Wed, 17 Jun 2020 23:25:47 GMT
Connection: keep-alive
{
"BlockSize": 524288,
"ChangedBlocks": [
{
"BlockIndex": 0,
"FirstBlockToken": "AAUBAVaWqOCnDNuKle11s7IIX6jp6FYcC/tJuVT1GgP23AuLntwiMdJ+OJkL",
"SecondBlockToken": "AAUBASxzy0Y0b33JVRLoYm3NOresCxn5RO+HVFzXW3Y/RwfFaPX2Edx8QHCh"
},
{
"BlockIndex": 3072,
"FirstBlockToken": "AAUBAcHp6pC5fKAC7TokoNCtAnZhqq27u6fxRfZOLEmeXLmHBf2R/Yb24MaS",
"SecondBlockToken": "AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid"
},
{
"BlockIndex": 6002,
"FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw"
},
{
"BlockIndex": 6003,
"FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A"
},
...
],
"ExpiryTime": 1.592976647009E9,
"VolumeSize": 3
}
Abrufen von Blockdaten aus einem Snapshot
- AWS CLI
-
Der folgende get-snapshot-blockBeispielbefehl gibt die Daten im Blockindex 6001 mit Blocktoken AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR als Snapshot zurück. snap-1234567890 Die Binärdaten werden auf einem Windows-Computer in die Datei data im Verzeichnis C:\Temp ausgegeben. Wenn Sie den Befehl auf einem Linux- oder Unix-Computer ausführen, ersetzen Sie den Ausgabepfad durch /tmp/data, um die Daten in die Datei data im Verzeichnis /tmp auszugeben.
aws ebs get-snapshot-block --snapshot-id snap-1234567890 --block-index 6001 --block-token AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR C:/Temp/data
Die folgende Beispielantwort für den vorherigen Befehl zeigt die Größe der zurückgegebenen Daten, die Prüfsumme zur Validierung der Daten und den Algorithmus der Prüfsumme. Die Binärdaten werden automatisch in dem Verzeichnis und in der Datei gespeichert, die Sie im Anforderungsbefehl angegeben haben.
{
"DataLength": "524288",
"Checksum": "cf0Y6/Fn0oFa4VyjQPOa/iD0zhTflPTKzxGv2OKowXc=",
"ChecksumAlgorithm": "SHA256"
}
- AWS API
-
Die folgende GetSnapshotBlockBeispielanforderung gibt die Daten im Blockindex 3072 mit Blocktoken AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid als Snapshot zurücksnap-0c9EXAMPLE1b30e2f.
GET /snapshots/snap-0c9EXAMPLE1b30e2f/blocks/3072?blockToken=AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid HTTP/1.1
Host: ebs.us-east-2.amazonaws.com
Accept-Encoding: identity
User-Agent: <User agent parameter>
X-Amz-Date: 20200617T232838Z
Authorization: <Authentication parameter>
Die folgende Beispielantwort für die vorherige Anforderung zeigt die Größe der zurückgegebenen Daten, die Prüfsumme zur Validierung der Daten und den Algorithmus, der zum Generieren der Prüfsumme verwendet wird. Die Binärdaten werden im Hauptteil der Antwort übertragen und wie BlockData im folgenden Beispiel dargestellt.
HTTP/1.1 200 OK
x-amzn-RequestId: 2d0db2fb-bd88-474d-a137-81c4e57d7b9f
x-amz-Data-Length: 524288
x-amz-Checksum: Vc0yY2j3qg8bUL9I6GQuI2orTudrQRBDMIhcy7bdEsw=
x-amz-Checksum-Algorithm: SHA256
Content-Type: application/octet-stream
Content-Length: 524288
Date: Wed, 17 Jun 2020 23:28:38 GMT
Connection: keep-alive
BlockData