View a markdown version of this page

Accédez aux enregistrements dans les flux CDC dans Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accédez aux enregistrements dans les flux CDC dans Amazon Keyspaces

Pour accéder aux enregistrements d'un flux, vous utilisez l'API https://docs.aws.amazon.com/keyspaces/latest/StreamsAPIReference/Welcome.html Amazon Keyspaces Streams. La section suivante contient des exemples sur la façon d'accéder aux enregistrements à l'aide du AWS CLI.

Pour les autorisations requises, consultez Configurer les autorisations pour utiliser les flux CDC dans Amazon Keyspaces.

Accédez aux enregistrements d'un flux à l'aide du AWS CLI
  1. Vous pouvez utiliser l'API Amazon Keyspaces Streams pour accéder aux enregistrements de modifications du flux. Pour plus d'informations, consultez la section Référence de l'API Amazon Keyspaces Streams. Pour récupérer les fragments du flux, vous pouvez utiliser l'get-streamAPI comme indiqué dans l'exemple suivant.

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

    Voici un exemple de la sortie.

    { "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>" }, ] }
  2. Pour récupérer des enregistrements du flux, vous commencez par obtenir un itérateur qui vous fournit le point de départ pour accéder aux enregistrements. Pour ce faire, vous pouvez utiliser les fragments du flux CDC renvoyé par l'API à l'étape précédente. Pour rassembler l'itérateur, vous pouvez utiliser l'get-shard-iteratorAPI. Pour cet exemple, vous utilisez un itérateur de type TRIM_HORIZON qui extrait à partir du dernier point découpé (ou début) de la partition.

    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'

    La sortie de la commande ressemble à celle de l'exemple suivant.

    { "ShardIterator": "<SHARD_ITERATOR>" }
  3. Pour récupérer les enregistrements CDC à l'aide de l'get-recordsAPI, vous pouvez utiliser l'itérateur renvoyé à la dernière étape. La commande suivante en est un exemple.

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

    Voici un exemple de la sortie.

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

Optimisez la fréquence d'interrogation grâce à la position de l'itérateur

La GetRecords réponse inclut un iteratorDescription champ qui indique la position actuelle de votre consommateur dans le fragment :

  • AT_TIP— Aucun autre enregistrement n'est actuellement disponible. Envisagez de réduire la fréquence de vos sondages afin d'optimiser les coûts.

  • BEHIND_TIP— La pointe du flux avance en continu. Des enregistrements supplémentaires peuvent être disponibles. Continuez à voter à la fréquence habituelle.

BEHIND_TIPavec une changeRecords liste vide indique que le flux progresse mais qu'aucun dossier client n'est disponible à cette position. Continuez à voter normalement.