Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Greifen Sie auf Datensätze in CDC-Streams in Amazon Keyspaces zu
Um auf die Datensätze in einem Stream zuzugreifen, verwenden Sie die Amazon Keyspaces Streams API. Der folgende Abschnitt enthält Beispiele für den Zugriff auf Datensätze mithilfe von. AWS CLI
Die erforderlichen Berechtigungen finden Sie unter Berechtigungen für die Arbeit mit CDC-Streams in Amazon Keyspaces konfigurieren.
Greifen Sie mit dem auf Datensätze in einem Stream zu AWS CLI
Sie können die Amazon Keyspaces Streams-API verwenden, um auf die Änderungsdatensätze des Streams zuzugreifen. Weitere Informationen finden Sie unter Amazon Keyspaces Streams API-Referenz. Um die Shards innerhalb des Streams abzurufen, können Sie die
get-streamAPI verwenden, wie im folgenden Beispiel gezeigt.aws keyspacesstreams get-stream \ --stream-arn 'arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable/stream/STREAM_LABEL'Es folgt ein Beispiel für die Ausgabe.
{ "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>" }, ] }Um Datensätze aus dem Stream abzurufen, rufen Sie zunächst einen Iterator auf, der Ihnen den Ausgangspunkt für den Zugriff auf Datensätze bietet. Dazu können Sie die Shards innerhalb des CDC-Streams verwenden, die von der API im vorherigen Schritt zurückgegeben wurden. Um den Iterator zu sammeln, können Sie die API verwenden.
get-shard-iteratorIn diesem Beispiel verwenden Sie einen Iterator des TypsTRIM_HORIZON, der vom letzten gekürzten Punkt (oder Anfang) des Shards abruft.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'Die Ausgabe des Befehls sieht wie im folgenden Beispiel aus.
{ "ShardIterator": "<SHARD_ITERATOR>" }Um die CDC-Datensätze mithilfe der
get-recordsAPI abzurufen, können Sie den im letzten Schritt zurückgegebenen Iterator verwenden. Der folgende Befehl ist ein Beispiel dafür.aws keyspacesstreams get-records \ --shard-iterator 'SHARD_ITERATOR' \ --limit 100Es folgt ein Beispiel für die Ausgabe.
{ "changeRecords": [...], "nextShardIterator": "<NEXT_SHARD_ITERATOR>", "iteratorDescription": { "iteratorPosition": "BEHIND_TIP" } }
Optimieren Sie die Abfragefrequenz anhand der Iteratorposition
Die GetRecords Antwort enthält ein iteratorDescription Feld, das die aktuelle Position Ihres Verbrauchers innerhalb des Shards angibt:
AT_TIP— Derzeit sind keine weiteren Datensätze verfügbar. Erwägen Sie, Ihre Abfragefrequenz zu reduzieren, um die Kosten zu optimieren.BEHIND_TIP— Die Spitze des Streams wird kontinuierlich erweitert. Zusätzliche Datensätze sind möglicherweise verfügbar. Setzen Sie die Umfrage mit Ihrer normalen Frequenz fort.
BEHIND_TIPEine leere changeRecords Liste bedeutet, dass der Stream zwar läuft, aber an dieser Position keine Kundendatensätze verfügbar sind. Setzen Sie die Umfrage normal fort.