Lesen Sie EBS Amazon-Schnappschüsse mit Direct EBS APIs - Amazon EBS

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 EBS Amazon-Schnappschüsse mit Direct EBS APIs

In den folgenden Schritten wird beschrieben, wie Sie Snapshots EBS APIs direkt lesen können:

  1. 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.

  2. Verwenden Sie die GetSnapshotBlock Aktion und geben Sie den Blockindex und das Blocktoken des Blocks an, für den Sie Daten abrufen möchten.

Anmerkung

Sie können EBS Direct nicht APIs mit archivierten Snapshots verwenden.

Die folgenden Beispiele zeigen, wie Snapshots mit Direct gelesen werden. EBS 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:

    • Snapshot 1 – vollständiger Snapshot mit 1 000 Blöcken mit Blockindizes 0999.

    • Snapshot 2 – inkrementeller Snapshot mit nur einem geänderten Block mit Blockindex 999.

    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 900999 umfasst.

  • Die Antwort kann ungeschriebene Blöcke in den Snapshots überspringen. Zum Beispiel:

    • Snapshot 1 – vollständiger Snapshot mit 1 000 Blöcken mit Blockindizes 20002999.

    • Snapshot 2 – inkrementeller Snapshot mit nur einem geänderten Block mit Blockindex 2000.

    Auflisten der geänderten Blöcke für diese Snapshots mit StartingBlockIndex = 0 und MaxResults = 100, überspringt die Blockindizes 01999 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 dargestellt als BlockData im folgenden Beispiel.

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