

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.

# Acceda a los registros de las transmisiones de los CDC en Amazon Keyspaces
<a name="keyspaces-records-cdc"></a>

Para acceder a los registros de una transmisión, utilice la API [https://docs.aws.amazon.com/keyspaces/latest/StreamsAPIReference/Welcome.html](https://docs.aws.amazon.com/keyspaces/latest/StreamsAPIReference/Welcome.html) Amazon Keyspaces Streams. La siguiente sección contiene ejemplos sobre cómo acceder a los registros mediante la AWS CLI.

Para conocer los permisos necesarios, consulte [Configure los permisos para trabajar con las transmisiones de los CDC en Amazon Keyspaces](configure-cdc-permissions.md).

**Acceda a los registros de una transmisión mediante el AWS CLI**

1. Puede usar la API Amazon Keyspaces Streams para acceder a los registros de cambios de la transmisión. Para obtener más información, consulte la referencia de la API [* Amazon Keyspaces Streams. *](https://docs.aws.amazon.com/keyspaces/latest/StreamsAPIReference/Welcome.html) Para recuperar los fragmentos de la transmisión, puede usar la `get-stream` API como se muestra en el siguiente ejemplo.

   ```
   aws keyspacesstreams get-stream \
   --stream-arn 'arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/mykeyspace/table/mytable/stream/{{STREAM_LABEL}}'
   ```

   A continuación se muestra un ejemplo de la salida.

   ```
   {
      "StreamArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable/stream/2023-05-11T21:21:33.291",
      "StreamStatus": "ENABLED",
      "StreamViewType": "NEW_AND_OLD_IMAGES",
      "CreationRequestDateTime": "<CREATION_TIME>",
      "KeyspaceName": "mykeyspace",
      "TableName": "mytable",
      "StreamLabel": "2023-05-11T21:21:33.291",
       "Shards": [
           {
               "SequenceNumberRange": {
                   "EndingSequenceNumber": "<END_SEQUENCE_NUMBER>",
                   "StartingSequenceNumber": "<START_SEQUENCE_NUMBER>"
               },
               "ShardId": "<SHARD_ID>"
           },
       ]
   }
   ```

1. Para recuperar los registros de la transmisión, empieza por obtener un iterador que te proporcione el punto de partida para acceder a los registros. Para ello, puede usar los fragmentos de la transmisión de los CDC devueltos por la API en el paso anterior. Para recopilar el iterador, puedes usar la `get-shard-iterator` API. Para este ejemplo, se utiliza un iterador del tipo `TRIM_HORIZON` que recupera desde el último punto recortado (o el principio) del fragmento.

   ```
   aws keyspacesstreams get-shard-iterator \
   --stream-arn 'arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/mykeyspace/table/mytable/stream/{{STREAM_LABEL}}' \
   --shard-id '{{SHARD_ID}}' \
   --shard-iterator-type 'TRIM_HORIZON'
   ```

   El resultado del comando es similar al del ejemplo siguiente.

   ```
   {
       "ShardIterator": "<SHARD_ITERATOR>" 
   }
   ```

1. Para recuperar los registros de los CDC mediante la `get-records` API, puede utilizar el iterador devuelto en el último paso. El siguiente comando es un ejemplo de esto.

   ```
   aws keyspacesstreams get-records \
   --shard-iterator '{{SHARD_ITERATOR}}' \
   --limit 100
   ```

   A continuación se muestra un ejemplo de la salida.

   ```
   {
       "changeRecords": [...],
       "nextShardIterator": "<NEXT_SHARD_ITERATOR>",
       "iteratorDescription": {
           "iteratorPosition": "BEHIND_TIP"
       }
   }
   ```

## Optimice la frecuencia de sondeo con la posición del iterador
<a name="keyspaces-cdc-polling-guidance"></a>

La `GetRecords` respuesta incluye un `iteratorDescription` campo que indica la posición actual del consumidor en el fragmento:
+ `AT_TIP`— No hay más registros disponibles actualmente. Considere reducir la frecuencia de las votaciones para optimizar los costos.
+ `BEHIND_TIP`— La punta del arroyo avanza continuamente. Es posible que haya registros adicionales disponibles. Continúe votando con su frecuencia normal.

`BEHIND_TIP`con una `changeRecords` lista vacía indica que la transmisión está en progreso, pero no hay registros de clientes disponibles en esta posición. Continúe sondeando con normalidad.