

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.

# Lea las instantáneas de Amazon EBS con EBS direct APIs
<a name="readsnapshots"></a>

Los siguientes pasos describen cómo utilizar el EBS Direct APIs para leer las instantáneas:

1. Utilice la ListSnapshotBlocks acción para ver todos los índices de bloques y los símbolos de bloques en una instantánea. O bien, utilice la ListChangedBlocks acción para ver solo los índices de bloques y los símbolos de bloques que son diferentes entre dos instantáneas del mismo volumen y linaje de instantáneas. 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.

1. Utilice la GetSnapshotBlock acción y especifique el índice de bloque y el token de bloque del bloque del que desea obtener datos.

**nota**  
No puede usar EBS direct APIs con instantáneas archivadas.

Los siguientes ejemplos muestran cómo leer las instantáneas con EBS direct. APIs

**Topics**
+ [Listado de bloques en una instantánea](#list-blocks)
+ [Listado de bloques que son diferentes entre dos instantáneas](#list-different-blocks)
+ [Obtener datos de bloque de una instantánea](#get-block-data)

## Listado de bloques en una instantánea
<a name="list-blocks"></a>

------
#### [ AWS CLI ]

El siguiente comando de [list-snapshot-blocks](https://docs.aws.amazon.com/cli/latest/reference/ebs/list-snapshot-blocks.html)ejemplo devuelve los índices de bloques y los símbolos de bloque de los 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-index 1000 --max-results 100
```

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
  }
```

------
#### [ AWS API ]

La siguiente solicitud de [ListSnapshotBlocks](https://docs.aws.amazon.com/ebs/latest/APIReference/API_ListSnapshotBlocks.html)ejemplo devuelve los índices de bloque y los símbolos de bloque de los bloques que están en la instantánea. `snap-0acEXAMPLEcf41648` El parámetro `startingBlockIndex` limita los resultados a índices de bloque mayores que `1000` y el parámetro `maxResults` limita los resultados a los primeros `100` bloques.

```
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 siguiente respuesta de ejemplo para la solicitud anterior enumera los índices de bloque y los tokens de bloque en la instantánea. Usa la GetSnapshotBlock acción y especifica el índice de bloque y el token de bloque del bloque del que quieres obtener datos. Los tokens de bloque son válidos hasta el tiempo de caducidad indicado. 

```
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
  }
```

------

## Listado de bloques que son diferentes entre dos instantáneas
<a name="list-different-blocks"></a>

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` y `MaxResults = 100` devuelve una matriz vacía de `ChangedBlocks`. Debe solicitar los resultados restantes mediante `nextToken` hasta que devuelva el bloque modificado en el décimo conjunto de resultados, el cual incluye bloques con índices de bloque `900` - `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` y `MaxResults = 100`, la respuesta omite los índices de bloque `0` - `1999` e incluye el índice de bloques `2000`. La respuesta no incluirá matrices `ChangedBlocks` vacías.

------
#### [ AWS CLI ]

El siguiente comando de [list-changed-blocks](https://docs.aws.amazon.com/cli/latest/reference/ebs/list-changed-blocks.html)ejemplo devuelve los índices de bloque y los símbolos de bloque de los bloques que son diferentes entre las 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-id snap-0987654321 --starting-block-index 0 --max-results 500
```

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"
  }
```

------
#### [ AWS API ]

La siguiente solicitud de [ListChangedBlocks](https://docs.aws.amazon.com/ebs/latest/APIReference/API_ListChangedBlocks.html)ejemplo devuelve los índices de bloque y los símbolos de bloque de los bloques que son diferentes entre las instantáneas y. `snap-0acEXAMPLEcf41648` `snap-0c9EXAMPLE1b30e2f` El parámetro `startingBlockIndex` limita los resultados a índices de bloque mayores que `0` y el parámetro `maxResults` limita los resultados a los primeros `500` bloques.

```
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 respuesta de ejemplo siguiente para la solicitud anterior muestra que los índices de bloque `0`, `3072`, `6002` y `6003` son diferentes entre las dos instantáneas. Además, los índices de bloque `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 la acción `GetSnapshotBlock` y especifique el índice de bloque y el token de bloque del bloque para el que desea obtener los datos. Los tokens de bloque son válidos hasta el tiempo de caducidad indicado. 

```
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
  }
```

------

## Obtener datos de bloque de una instantánea
<a name="get-block-data"></a>

------
#### [ AWS CLI ]

El siguiente comando de [get-snapshot-block](https://docs.aws.amazon.com/cli/latest/reference/ebs/get-snapshot-block.html)ejemplo devuelve los datos del índice de bloques `6001` con el token de bloque`AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR`, en una 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-index 6001 --block-token AAABASBpSJ2UAD3PLxJnCt6zun4/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"
  }
```

------
#### [ AWS API ]

El siguiente [GetSnapshotBlock](https://docs.aws.amazon.com/ebs/latest/APIReference/API_GetSnapshotBlock.html)ejemplo de solicitud devuelve los datos del índice de bloques `3072` con el token de bloque`AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid`, en forma de instantánea`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 siguiente respuesta de ejemplo para la solicitud anterior muestra el tamaño de los datos devueltos, la suma de comprobación para validar los datos y el algoritmo utilizado para generar la suma de comprobación. Los datos binarios se transmiten en el cuerpo de la respuesta y se representan como *BlockData* en el siguiente ejemplo.

```
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
```

------