使用 的 DynamoDB 串流範例 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 DynamoDB 串流範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 DynamoDB Streams 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 describe-stream

AWS CLI

取得 DynamoDB 串流的相關資訊

下列describe-stream命令會顯示特定 DynamoDB 串流的相關資訊。

aws dynamodbstreams describe-stream \ --stream-arn arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576

輸出:

{ "StreamDescription": { "StreamArn": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576", "StreamLabel": "2019-10-22T18:02:01.576", "StreamStatus": "ENABLED", "StreamViewType": "NEW_AND_OLD_IMAGES", "CreationRequestDateTime": 1571767321.571, "TableName": "Music", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "Shards": [ { "ShardId": "shardId-00000001571767321804-697ce3d2", "SequenceNumberRange": { "StartingSequenceNumber": "4000000000000642977831", "EndingSequenceNumber": "4000000000000642977831" } }, { "ShardId": "shardId-00000001571780995058-40810d86", "SequenceNumberRange": { "StartingSequenceNumber": "757400000000005655171150" }, "ParentShardId": "shardId-00000001571767321804-697ce3d2" } ] } }

如需詳細資訊,請參閱《Amazon DynamoDB 開發人員指南》中的使用 DynamoDB Streams 擷取資料表活動 DynamoDB

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStream

下列程式碼範例示範如何使用 get-records

AWS CLI

從 Dynamodb 串流取得記錄

下列get-records命令會使用指定的 Amazon DynamoDB 碎片迭代器擷取記錄。

aws dynamodbstreams get-records \ --shard-iterator "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576|1|AAAAAAAAAAGgM3YZ89vLZZxjmoQeo33r9M4x3+zmmTLsiL86MfrF4+B4EbsByi52InVmiONmy6xVW4IRcIIbs1zO7MNIlqZfx8WQzMwVDyINtGG2hCLg78JKbYxFasXeePGlApTyf3rJxR765uyOVaBvBHAJuwF2TXIuxhaAlOupNGHr52qAC3a49ZOmf+CjNPlqQjnyRSAnfOwWmKhL1/KNParWSfz2odf780oOObIDIWRRMkt7+Hyzh9SD+hFxFAWR5C7QIlOXPc8mRBfNIazfrVCjJK8/jsjCzsqNyXKzJbhh+GXCoxYN+Kpmg4nyj1EAsYhbGL35muvHFoHjcyuynbsczbWaXNfThDwRAyvoTmc8XhHKtAWUbJiaVd8ZPtQwDsThCrmDRPIdmTRGWllGfUr5ezN5LscvkQezzgpaU5p8BgCqRzjv5Vl8LB6wHgQWNG+w/lEGS05ha1qNP+Vl4+tuhz2TRnhnJo/pny9GI/yGpce97mWvSPr5KPwy+Dtcm5BHayBs+PVYHITaTliInFlT+LCwvaz1QH3MY3b8A05Z800wjpktm60iQqtMeDwN4NX6FrcxR34JoFKGsgR8XkHVJzz2xr1xqSJ12ycpNTyHnndusw=="

輸出:

{ "Records": [ { "eventID": "c3b5d798eef6215d42f8137b19a88e50", "eventName": "INSERT", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-1", "dynamodb": { "ApproximateCreationDateTime": 1571849028.0, "Keys": { "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } }, "NewImage": { "AlbumTitle": { "S": "Somewhat Famous" }, "Artist": { "S": "No One You Know" }, "Awards": { "N": "1" }, "SongTitle": { "S": "Call Me Today" } }, "SequenceNumber": "700000000013256296913", "SizeBytes": 119, "StreamViewType": "NEW_AND_OLD_IMAGES" } }, { "eventID": "878960a6967867e2da16b27380a27328", "eventName": "INSERT", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-1", "dynamodb": { "ApproximateCreationDateTime": 1571849029.0, "Keys": { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "Happy Day" } }, "NewImage": { "AlbumTitle": { "S": "Songs About Life" }, "Artist": { "S": "Acme Band" }, "Awards": { "N": "10" }, "SongTitle": { "S": "Happy Day" } }, "SequenceNumber": "800000000013256297217", "SizeBytes": 100, "StreamViewType": "NEW_AND_OLD_IMAGES" } }, { "eventID": "520fabde080e159fc3710b15ee1d4daa", "eventName": "MODIFY", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-1", "dynamodb": { "ApproximateCreationDateTime": 1571849734.0, "Keys": { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "Happy Day" } }, "NewImage": { "AlbumTitle": { "S": "Updated Album Title" }, "Artist": { "S": "Acme Band" }, "Awards": { "N": "10" }, "SongTitle": { "S": "Happy Day" } }, "OldImage": { "AlbumTitle": { "S": "Songs About Life" }, "Artist": { "S": "Acme Band" }, "Awards": { "N": "10" }, "SongTitle": { "S": "Happy Day" } }, "SequenceNumber": "900000000013256687845", "SizeBytes": 170, "StreamViewType": "NEW_AND_OLD_IMAGES" } } ], "NextShardIterator": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-23T16:41:08.740|1|AAAAAAAAAAEhEI04jkFLW+LKOwivjT8d/IHEh3iExV2xK00aTxEzVy1C1C7Kbb5+ZOW6bT9VQ2n1/mrs7+PRiaOZCHJu7JHJVW7zlsqOi/ges3fw8GYEymyL+piEk35cx67rQqwKKyq+Q6w9JyjreIOj4F2lWLV26lBwRTrIYC4IB7C3BZZK4715QwYdDxNdVHiSBRZX8UqoS6WOt0F87xZLNB9F/NhYBLXi/wcGvAcBcC0TNIOH+N0NqwtoB/FGCkNrf8YZ0xRoNN6RgGuVWHF3pxOhxEJeFZoSoJTIKeG9YcYxzi5Ci/mhdtm7tBXnbw5c6xmsGsBqTirNjlDyJLcWl8Cl0UOLX63Ufo/5QliztcjEbKsQe28x8LM8o7VH1Is0fF/ITt8awSA4igyJS0P87GN8Qri8kj8iaE35805jBHWF2wvwT6Iy2xGrR2r2HzYps9dwGOarVdEITaJfWzNoL4HajMhmREZLYfM7Pb0PvRMO7JkENyPIU6e2w16W1CvJO2EGFIxtNk+V04i1YIeHMXJfcwetNRuIbdQXfJht2NQZa4PVV6iknY6d19MrdbSTMKoqAuvp6g3Q2jH4t7GKCLWgodcPAn8g5+43DaNkh4Z5zKOfNw==" }

如需詳細資訊,請參閱《Amazon DynamoDB 開發人員指南》中的使用 DynamoDB 串流擷取資料表活動 DynamoDB

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetRecords

下列程式碼範例示範如何使用 get-shard-iterator

AWS CLI

取得碎片迭代器

下列get-shard-iterator命令會擷取指定碎片的碎片迭代器。

aws dynamodbstreams get-shard-iterator \ --stream-arn arn:aws:dynamodb:us-west-1:12356789012:table/Music/stream/2019-10-22T18:02:01.576 \ --shard-id shardId-00000001571780995058-40810d86 \ --shard-iterator-type LATEST

輸出:

{ "ShardIterator": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576|1|AAAAAAAAAAGgM3YZ89vLZZxjmoQeo33r9M4x3+zmmTLsiL86MfrF4+B4EbsByi52InVmiONmy6xVW4IRcIIbs1zO7MNIlqZfx8WQzMwVDyINtGG2hCLg78JKbYxFasXeePGlApTyf3rJxR765uyOVaBvBHAJuwF2TXIuxhaAlOupNGHr52qAC3a49ZOmf+CjNPlqQjnyRSAnfOwWmKhL1/KNParWSfz2odf780oOObIDIWRRMkt7+Hyzh9SD+hFxFAWR5C7QIlOXPc8mRBfNIazfrVCjJK8/jsjCzsqNyXKzJbhh+GXCoxYN+Kpmg4nyj1EAsYhbGL35muvHFoHjcyuynbsczbWaXNfThDwRAyvoTmc8XhHKtAWUbJiaVd8ZPtQwDsThCrmDRPIdmTRGWllGfUr5ezN5LscvkQezzgpaU5p8BgCqRzjv5Vl8LB6wHgQWNG+w/lEGS05ha1qNP+Vl4+tuhz2TRnhnJo/pny9GI/yGpce97mWvSPr5KPwy+Dtcm5BHayBs+PVYHITaTliInFlT+LCwvaz1QH3MY3b8A05Z800wjpktm60iQqtMeDwN4NX6FrcxR34JoFKGsgR8XkHVJzz2xr1xqSJ12ycpNTyHnndusw==" }

如需詳細資訊,請參閱《Amazon DynamoDB 開發人員指南》中的使用 DynamoDB 串流擷取資料表活動 DynamoDB

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetShardIterator

下列程式碼範例示範如何使用 list-streams

AWS CLI

列出 DynamoDB 串流

下列list-streams命令會列出預設 AWS 區域中所有現有的 Amazon DynamoDB 串流。

aws dynamodbstreams list-streams

輸出:

{ "Streams": [ { "StreamArn": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576", "TableName": "Music", "StreamLabel": "2019-10-22T18:02:01.576" } ] }

如需詳細資訊,請參閱《Amazon DynamoDB 開發人員指南》中的使用 DynamoDB Streams 擷取資料表活動 DynamoDB

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStreams