使用 DynamoDB Streams 示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 DynamoDB Streams 示例 Amazon CLI

以下代码示例向您展示了如何在 DynamoDB Streams 中 Amazon Command Line Interface 使用来执行操作和实现常见场景。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 describe-stream

Amazon 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" } ] } }

有关更多信息,请参阅亚马逊 DynamoDB 开发者指南中的使用 DynamoDB Streams 捕获表格活动

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeStream中的。

以下代码示例演示如何使用 get-records

Amazon 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==" }

有关更多信息,请参阅亚马逊 DynamoDB 开发者指南中的使用 DynamoDB Streams 捕获表格活动

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetRecords中的。

以下代码示例演示如何使用 get-shard-iterator

Amazon 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==" }

有关更多信息,请参阅亚马逊 DynamoDB 开发者指南中的使用 DynamoDB Streams 捕获表格活动

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetShardIterator中的。

以下代码示例演示如何使用 list-streams

Amazon CLI

列出 DynamoDB 直播

以下list-streams命令列出了默认区域内的所有现有 Amazon DynamoDB 直播。 Amazon

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" } ] }

有关更多信息,请参阅亚马逊 DynamoDB 开发者指南中的使用 DynamoDB Streams 捕获表格活动

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListStreams中的。