View a markdown version of this page

Leggi gli snapshot di Amazon EBS con le API dirette di EBS - Amazon EBS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Leggi gli snapshot di Amazon EBS con le API dirette di EBS

Le fasi seguenti descrivono come utilizzare le API dirette EBS per leggere gli snapshot:

  1. Usa l' ListSnapshotBlocks azione per visualizzare tutti gli indici di blocco e i token di blocco dei blocchi in uno snapshot. Oppure usa l' ListChangedBlocks azione per visualizzare solo gli indici di blocco e i token di blocco dei blocchi che sono diversi tra due istantanee dello stesso volume e dello stesso lignaggio delle istantanee. Queste operazioni ti consentono di identificare i token e gli indici di blocco per i quali vuoi ottenere dati.

  2. Usa l' GetSnapshotBlock azione e specifica l'indice di blocco e il token di blocco del blocco per il quale desideri ottenere i dati.

Nota

Non puoi utilizzare le API dirette di EBS con istantanee archiviate.

Gli esempi seguenti mostrano come leggere gli snapshot con le API dirette EBS.

Elenco dei blocchi in uno snapshot

AWS CLI

Il comando di esempio list-snapshot-blocks riportato di seguito restituisce gli indici e i token di blocco che si trovano nello snapshot snap-0987654321. Il parametro --starting-block-index limita i risultati agli indici di blocco maggiori di 1000 e il parametro --max-results limita i risultati ai primi 100 blocchi.

aws ebs list-snapshot-blocks --snapshot-id snap-0987654321 --starting-block-index 1000 --max-results 100

La seguente risposta di esempio per il comando precedente elenca gli indici e i token di blocco nello snapshot. Utilizza il comando get-snapshot-block e specifica l'indice e il token del blocco per cui vuoi ottenere i dati. I token di blocco sono validi fino all'ora di scadenza indicata.

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

La seguente richiesta di ListSnapshotBlocksesempio restituisce gli indici di blocco e i token di blocco dei blocchi presenti nello snapshot. snap-0acEXAMPLEcf41648 Il parametro startingBlockIndex limita i risultati agli indici di blocco maggiori di 1000 e il parametro maxResults limita i risultati ai primi 100 blocchi.

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>

La seguente risposta di esempio per la richiesta precedente elenca gli indici e i token di blocco nello snapshot. Usa l' GetSnapshotBlock azione e specifica l'indice di blocco e il token di blocco del blocco per il quale desideri ottenere i dati. I token di blocco sono validi fino all'ora di scadenza indicata.

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 }

Elenco dei blocchi diversi tra due snapshot

Quando effettui richieste paginate per elencare i blocchi modificati tra due snapshot, tieni presente quanto indicato di seguito:

  • La risposta può includere uno o più array ChangedBlocks vuoti. Esempio:

    • Snapshot 1: snapshot completo con 1000 blocchi con indici blocco 0 - 999.

    • Snapshot 2: snapshot incrementale con un solo blocco modificato con indice blocco 999.

    L'elencazione dei blocchi modificati per questi snapshot con StartingBlockIndex = 0 e MaxResults = 100 restituisce un array di ChangedBlocks vuoto. Occorre richiedere i risultati rimanenti utilizzando nextToken fino a quando il blocco modificato non viene restituito nella decima serie di risultati, che include blocchi con indici blocco 900 - 999.

  • La risposta può saltare blocchi non scritti negli snapshot. Esempio:

    • Snapshot 1: snapshot completo con 1000 blocchi con indici blocco 2000 - 2999.

    • Snapshot 2: snapshot incrementale con un solo blocco modificato con indice blocco 2000.

    Elencando i blocchi modificati per questi snapshot con StartingBlockIndex = 0 e MaxResults = 100, la risposta salta gli indici blocco 0 - 1999 e include l'indice blocco 2000. La risposta non includerà array ChangedBlocks vuoti.

AWS CLI

Il seguente comando di esempio list-changed-blocks restituisce gli indici e i token di blocco diversi tra gli snapshot snap-1234567890 e snap-0987654321. Il parametro --starting-block-index limita i risultati agli indici di blocco maggiori di 0 e il parametro --max-results limita i risultati ai primi 500 blocchi.

aws ebs list-changed-blocks --first-snapshot-id snap-1234567890 --second-snapshot-id snap-0987654321 --starting-block-index 0 --max-results 500

La seguente risposta di esempio per il comando precedente mostra che gli indici di blocco 0, 6000, 6001, 6002 e 6003 sono diversi tra i due snapshot. Inoltre, gli indici di blocco 6001, 6002 e 6003 esistono solo nel primo ID snapshot specificato e non nel secondo perché nella risposta non è presente un secondo token di blocco.

Utilizza il comando get-snapshot-block e specifica l'indice e il token del blocco per cui vuoi ottenere i dati. I token di blocco sono validi fino all'ora di scadenza indicata.

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

La seguente richiesta di ListChangedBlocksesempio restituisce gli indici di blocco e i token di blocco dei blocchi che sono diversi tra le istantanee e. snap-0acEXAMPLEcf41648 snap-0c9EXAMPLE1b30e2f Il parametro startingBlockIndex limita i risultati agli indici di blocco maggiori di 0 e il parametro maxResults limita i risultati ai primi 500 blocchi.

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>

La seguente risposta di esempio per la richiesta precedente mostra che gli indici di blocco 0, 3072, 6002 e 6003 sono diversi tra i due snapshot. Inoltre, gli indici di blocco 6002 e 6003 esistono solo nel primo ID snapshot specificato e non nel secondo perché nella risposta non è presente un secondo token di blocco.

Utilizza l'operazione GetSnapshotBlock e specifica l'indice e il token del blocco per cui vuoi ottenere i dati. I token di blocco sono validi fino all'ora di scadenza indicata.

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 }

Recupero dei dati di blocco da uno snapshot

AWS CLI

Il seguente comando di esempio get-snapshot-block restituisce i dati nell'indice di blocco 6001 con il token di blocco AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR nello snapshot snap-1234567890. I dati binari vengono memorizzati nel file data nella directory C:\Temp in un computer Windows. Se esegui il comando in un computer Linux o Unix, sostituisci il percorso di output /tmp/data in modo che i dati vengano inseriti nel file data nella directory /tmp.

aws ebs get-snapshot-block --snapshot-id snap-1234567890 --block-index 6001 --block-token AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR C:/Temp/data

La risposta di esempio seguente per il comando precedente mostra la dimensione dei dati restituiti, il checksum per convalidare i dati e l'algoritmo del checksum. I dati binari vengono salvati automaticamente nella directory e nel file specificati nel comando di richiesta.

{ "DataLength": "524288", "Checksum": "cf0Y6/Fn0oFa4VyjQPOa/iD0zhTflPTKzxGv2OKowXc=", "ChecksumAlgorithm": "SHA256" }
AWS API

La seguente richiesta di GetSnapshotBlockesempio restituisce i dati nell'indice di blocco 3072 con il token AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid di blocco, in un'istantanea. snap-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>

La seguente risposta di esempio per la richiesta precedente mostra la dimensione dei dati restituiti, il checksum per la convalida dei dati e l'algoritmo utilizzato per generare il checksum. I dati binari vengono trasmessi nel corpo della risposta e sono rappresentati come BlockData nell'esempio seguente.

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