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à.
Accedi ai record negli stream CDC in Amazon Keyspaces
Per accedere ai record di uno stream, utilizzi l'API Amazon Keyspaces Streams. La sezione seguente contiene esempi su come accedere ai record utilizzando. AWS CLI
Per le autorizzazioni richieste, consulta Configura le autorizzazioni per lavorare con i flussi CDC in Amazon Keyspaces.
Accedere ai record in uno stream utilizzando il AWS CLI
Puoi utilizzare l'API Amazon Keyspaces Streams per accedere ai record delle modifiche dello stream. Per ulteriori informazioni, consulta Amazon Keyspaces Streams API Reference. Per recuperare gli shard all'interno dello stream, puoi utilizzare l'
get-streamAPI come mostrato nell'esempio seguente.aws keyspacesstreams get-stream \ --stream-arn 'arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable/stream/STREAM_LABEL'Di seguito è riportato un esempio di output.
{ "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>" }, ] }Per recuperare i record dallo stream, iniziate procurandovi un iteratore che vi fornisca il punto di partenza per accedere ai record. Per fare ciò, puoi utilizzare gli shard all'interno dello stream CDC restituiti dall'API nel passaggio precedente. Per raccogliere l'iteratore, puoi usare l'API.
get-shard-iteratorPer questo esempio, si utilizza un iteratore di tipoTRIM_HORIZONche recupera dall'ultimo punto tagliato (o inizio) del frammento.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'L'output del comando è simile a quello riportato nell'esempio seguente.
{ "ShardIterator": "<SHARD_ITERATOR>" }Per recuperare i record CDC utilizzando l'
get-recordsAPI, è possibile utilizzare l'iteratore restituito nell'ultimo passaggio. Il comando seguente ne è un esempio.aws keyspacesstreams get-records \ --shard-iterator 'SHARD_ITERATOR' \ --limit 100Di seguito è riportato un esempio di output.
{ "changeRecords": [...], "nextShardIterator": "<NEXT_SHARD_ITERATOR>", "iteratorDescription": { "iteratorPosition": "BEHIND_TIP" } }
Ottimizza la frequenza di polling con la posizione dell'iteratore
La GetRecords risposta include un iteratorDescription campo che indica la posizione attuale del consumatore all'interno dello shard:
AT_TIP— Al momento non sono disponibili altri record. Valuta la possibilità di ridurre la frequenza dei sondaggi per ottimizzare i costi.BEHIND_TIP— Lo stream tip avanza continuamente. Potrebbero essere disponibili ulteriori record. Continua a fare il polling con la tua frequenza normale.
BEHIND_TIPcon un changeRecords elenco vuoto indica che lo streaming sta procedendo ma in questa posizione non sono disponibili dati relativi ai clienti. Continua a fare il polling normalmente.