As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acesse registros em fluxos do CDC no Amazon Keyspaces
Para acessar os registros em um stream, você usa a API Amazon Keyspaces Streams. A seção a seguir contém exemplos de como acessar registros usando AWS CLI o.
Para ver as permissões necessárias, consulte Configure permissões para trabalhar com fluxos CDC no Amazon Keyspaces.
Acesse registros em um fluxo usando o AWS CLI
Você pode usar a API Amazon Keyspaces Streams para acessar os registros de alterações do stream. Para obter mais informações, consulte Referência da API Amazon Keyspaces Streams. Para recuperar os fragmentos dentro do stream, você pode usar a
get-streamAPI conforme mostrado no exemplo a seguir.aws keyspacesstreams get-stream \ --stream-arn 'arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable/stream/STREAM_LABEL'A seguir, veja um exemplo de saída.
{ "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>" }, ] }Para recuperar registros do stream, você começa obtendo um iterador que fornece o ponto de partida para acessar os registros. Para fazer isso, você pode usar os fragmentos no fluxo CDC retornado pela API na etapa anterior. Para reunir o iterador, você pode usar a
get-shard-iteratorAPI. Neste exemplo, você usa um iterador do tipoTRIM_HORIZONque recupera do último ponto de corte (ou início) do 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'A saída do comando se parece com o exemplo a seguir.
{ "ShardIterator": "<SHARD_ITERATOR>" }Para recuperar os registros do CDC usando a
get-recordsAPI, você pode usar o iterador retornado na última etapa. O comando a seguir é um exemplo disso.aws keyspacesstreams get-records \ --shard-iterator 'SHARD_ITERATOR' \ --limit 100A seguir, veja um exemplo de saída.
{ "changeRecords": [...], "nextShardIterator": "<NEXT_SHARD_ITERATOR>", "iteratorDescription": { "iteratorPosition": "BEHIND_TIP" } }
Otimize a frequência de pesquisa com a posição do iterador
A GetRecords resposta inclui um iteratorDescription campo que indica a posição atual do consumidor no fragmento:
AT_TIP— Não há mais registros disponíveis no momento. Considere reduzir sua frequência de pesquisas para otimizar os custos.BEHIND_TIP— A ponta do riacho avança continuamente. Registros adicionais podem estar disponíveis. Continue pesquisando na sua frequência normal.
BEHIND_TIPcom uma changeRecords lista vazia indica que o fluxo está progredindo, mas nenhum registro de cliente está disponível nesta posição. Continue pesquisando normalmente.