Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
En los siguientes pasos se describe cómo utilizar las API directas de EBS para leer instantáneas:
-
Utilice la acción ListSnapshotBlocks para ver todos los índices de bloque y los tokens de bloque de los bloques de una instantánea. O utilice la acción ListChangedBlocks para ver solo los índices de bloque y los tokens de bloque de bloques que son diferentes entre dos instantáneas del mismo volumen y parentesco de instantánea. Estas acciones le ayudan a identificar los tokens de bloque y los índices de bloque de bloques para los que es posible que desee obtener datos.
-
Utilice la acción GetSnapshotBlock y especifique el índice de bloque y el token de bloque del bloque para el que desea obtener datos.
nota
No puede utilizar las API directas de EBS con las instantáneas archivadas.
En los siguientes ejemplos, se muestra cómo leer instantáneas mediante las API directas de EBS.
Temas
Listado de bloques en una instantánea
El siguiente comando de ejemplo list-snapshot-blocks devuelve los índices de bloque y los tokens de bloque de bloques que están en la instantánea snap-0987654321
. El parámetro --starting-block-index
limita los resultados a índices de bloque mayores que 1000
y el parámetro --max-results
limita los resultados a los primeros 100
bloques.
aws ebs list-snapshot-blocks --snapshot-id
snap-0987654321
--starting-block-index1000
--max-results100
La siguiente respuesta de ejemplo para el comando anterior enumera los índices de bloque y los tokens de bloque en la instantánea. Utilice el comando get-snapshot-block
y especifique el índice de bloque y el token de bloque del bloque para el que desea obtener datos. Los tokens de bloque son válidos hasta el tiempo de caducidad indicado.
{
"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
}
Listado de bloques que son diferentes entre dos instantáneas
Tenga en cuenta lo siguiente al realizar solicitudes paginadas para enumerar los bloques modificados entre dos instantáneas:
-
La respuesta puede incluir una o varias matrices
ChangedBlocks
vacías. Por ejemplo:-
Instantánea 1: instantánea completa con 1000 bloques con índices de bloques
0
-999
. -
Instantánea 2: instantánea incremental con solo un bloque modificado con un índice de bloques
999
.
Listar los bloques modificados para estas instantáneas con
StartingBlockIndex = 0
yMaxResults = 100
devuelve una matriz vacía deChangedBlocks
. Debe solicitar los resultados restantes mediantenextToken
hasta que devuelva el bloque modificado en el décimo conjunto de resultados, el cual incluye bloques con índices de bloque900
-999
. -
-
La respuesta puede omitir bloques no escritos en las instantáneas. Por ejemplo:
-
Instantánea 1: instantánea completa con 1000 bloques con índices de bloques
2000
-2999
. -
Instantánea 2: instantánea incremental con solo un bloque modificado con el índice de bloques
2000
.
Al listar los bloques modificados para estas instantáneas con
StartingBlockIndex = 0
yMaxResults = 100
, la respuesta omite los índices de bloque0
-1999
e incluye el índice de bloques2000
. La respuesta no incluirá matricesChangedBlocks
vacías. -
El siguiente comando de ejemplo list-changed-blocks devuelve los índices de bloque y los tokens de bloque de bloques que son diferentes entre instantáneas snap-1234567890
y snap-0987654321
. El parámetro --starting-block-index
limita los resultados a índices de bloque mayores que 0
y el parámetro --max-results
limita los resultados a los primeros 500
bloques.
aws ebs list-changed-blocks --first-snapshot-id
snap-1234567890
--second-snapshot-idsnap-0987654321
--starting-block-index0
--max-results500
La respuesta de ejemplo siguiente del comando anterior muestra que los índices de bloque 0, 6000, 6001, 6002 y 6003 son diferentes entre las dos instantáneas. Además, los índices de bloque 6001, 6002 y 6003 solo existen en el primer ID de instantánea especificado y no en el segundo ID de instantánea, porque no hay un segundo token de bloque en la respuesta.
Utilice el comando get-snapshot-block
y especifique el índice de bloque y el token de bloque del bloque para el que desea obtener datos. Los tokens de bloque son válidos hasta el tiempo de caducidad indicado.
{
"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"
}
Obtener datos de bloque de una instantánea
El siguiente comando de ejemplo get-snapshot-block devuelve los datos en el índice de bloque 6001
con token de bloque AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR
, en la instantánea snap-1234567890
. Los datos binarios se envían al archivo data
en el directorio C:\Temp
de un equipo con Windows. Si ejecuta el comando en un equipo Linux o Unix, reemplace la ruta de salida por /tmp/data
para enviar los datos al archivo data
en el directorio /tmp
.
aws ebs get-snapshot-block --snapshot-id
snap-1234567890
--block-index6001
--block-tokenAAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR
C:/Temp/data
La respuesta de ejemplo siguiente para el comando anterior muestra el tamaño de los datos devueltos, la suma de comprobación para validar los datos y el algoritmo de la suma de comprobación. Los datos binarios se guardan automáticamente en el directorio y archivo especificados en el comando de la solicitud.
{
"DataLength": "524288",
"Checksum": "cf0Y6/Fn0oFa4VyjQPOa/iD0zhTflPTKzxGv2OKowXc=",
"ChecksumAlgorithm": "SHA256"
}