使用的 Kinesis 示例 AWS CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

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

使用的 Kinesis 示例 AWS CLI

以下代码示例向您展示了如何使用 AWS Command Line Interface 与 Kinesis 配合使用来执行操作和实现常见场景。

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

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

主题

操作

以下代码示例演示如何使用 add-tags-to-stream

AWS CLI

向数据流添加标签

以下 add-tags-to-stream 示例会将带有键 samplekey 和值 example 的标签分配给指定流。

aws kinesis add-tags-to-stream \ --stream-name samplestream \ --tags samplekey=example

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的标记流

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

AWS CLI

创建数据流

以下 create-stream 示例创建一个名为 samplestream 的数据流,其中包含 3 个分片。

aws kinesis create-stream \ --stream-name samplestream \ --shard-count 3

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的创建流

以下代码示例演示如何使用 decrease-stream-retention-period

AWS CLI

缩短数据流保留期

以下decrease-stream-retention-period示例将名为 samplestream 的流的保留期(将数据记录添加到流中后可以访问的时间长度)缩短到 48 小时。

aws kinesis decrease-stream-retention-period \ --stream-name samplestream \ --retention-period-hours 48

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的更改数据保留期

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

AWS CLI

删除数据流

以下 delete-stream 示例将删除指定的数据流。

aws kinesis delete-stream \ --stream-name samplestream

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的删除流

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

AWS CLI

取消注册数据流消费端

以下 deregister-stream-consumer 示例将取消注册指定数据流中的指定消费端。

aws kinesis deregister-stream-consumer \ --stream-arn arn:aws:kinesis:us-west-2:123456789012:stream/samplestream \ --consumer-name KinesisConsumerApplication

此命令不生成任何输出。

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南API中的使用 Kinesis 数据流开发具有增强扇出功能的消费者

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

AWS CLI

描述分片限制

以下describe-limits示例显示了当前 AWS 账户的分片限制和使用情况。

aws kinesis describe-limits

输出:

{ "ShardLimit": 500, "OpenShardCount": 29 }

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的重新分流。

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

AWS CLI

描述数据流使用者

以下describe-stream-consumer示例返回在指定数据流中注册的指定使用者的描述。

aws kinesis describe-stream-consumer \ --stream-arn arn:aws:kinesis:us-west-2:012345678912:stream/samplestream \ --consumer-name KinesisConsumerApplication

输出:

{ "ConsumerDescription": { "ConsumerName": "KinesisConsumerApplication", "ConsumerARN": "arn:aws:kinesis:us-west-2:123456789012:stream/samplestream/consumer/KinesisConsumerApplication:1572383852", "ConsumerStatus": "ACTIVE", "ConsumerCreationTimestamp": 1572383852.0, "StreamARN": "arn:aws:kinesis:us-west-2:123456789012:stream/samplestream" } }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的从亚马逊 Kinesis Data Streams 读取数据

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

AWS CLI

描述数据流摘要

以下describe-stream-summary示例提供了指定数据流的摘要描述(不包括分片列表)。

aws kinesis describe-stream-summary \ --stream-name samplestream

输出:

{ "StreamDescriptionSummary": { "StreamName": "samplestream", "StreamARN": "arn:aws:kinesis:us-west-2:123456789012:stream/samplestream", "StreamStatus": "ACTIVE", "RetentionPeriodHours": 48, "StreamCreationTimestamp": 1572297168.0, "EnhancedMonitoring": [ { "ShardLevelMetrics": [] } ], "EncryptionType": "NONE", "OpenShardCount": 3, "ConsumerCount": 0 } }

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的创建和管理流

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

AWS CLI

描述数据流

以下 describe-stream 示例将返回指定数据流的详细信息。

aws kinesis describe-stream \ --stream-name samplestream

输出:

{ "StreamDescription": { "Shards": [ { "ShardId": "shardId-000000000000", "HashKeyRange": { "StartingHashKey": "0", "EndingHashKey": "113427455640312821154458202477256070484" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871682957036442365024926191073437251060580128653314" } }, { "ShardId": "shardId-000000000001", "HashKeyRange": { "StartingHashKey": "113427455640312821154458202477256070485", "EndingHashKey": "226854911280625642308916404954512140969" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871682979337187563555549332609155523708941634633746" } }, { "ShardId": "shardId-000000000002", "HashKeyRange": { "StartingHashKey": "226854911280625642308916404954512140970", "EndingHashKey": "340282366920938463463374607431768211455" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871683001637932762086172474144873796357303140614178" } } ], "StreamARN": "arn:aws:kinesis:us-west-2:123456789012:stream/samplestream", "StreamName": "samplestream", "StreamStatus": "ACTIVE", "RetentionPeriodHours": 24, "EnhancedMonitoring": [ { "ShardLevelMetrics": [] } ], "EncryptionType": "NONE", "KeyId": null, "StreamCreationTimestamp": 1572297168.0 } }

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的创建和管理流

以下代码示例演示如何使用 disable-enhanced-monitoring

AWS CLI

禁用对分片级指标的增强监控

以下disable-enhanced-monitoring示例禁用分片级指标的增强型 Kinesis 数据流监控。

aws kinesis disable-enhanced-monitoring \ --stream-name samplestream --shard-level-metrics ALL

输出:

{ "StreamName": "samplestream", "CurrentShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords", "IteratorAgeMilliseconds", "IncomingRecords", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "OutgoingBytes" ], "DesiredShardLevelMetrics": [] }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的监控亚马逊 Kinesis 数据流中的流。

以下代码示例演示如何使用 enable-enhanced-monitoring

AWS CLI

启用对分片级指标的增强监控

以下enable-enhanced-monitoring示例为分片级指标启用增强的 Kinesis 数据流监控。

aws kinesis enable-enhanced-monitoring \ --stream-name samplestream \ --shard-level-metrics ALL

输出:

{ "StreamName": "samplestream", "CurrentShardLevelMetrics": [], "DesiredShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords", "IteratorAgeMilliseconds", "IncomingRecords", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "OutgoingBytes" ] }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的监控亚马逊 Kinesis 数据流中的流。

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

AWS CLI

获取分片中的记录

以下 get-records 示例将使用指定的分片迭代器从 Kinesis 数据流的分片中获取数据记录。

aws kinesis get-records \ --shard-iterator AAAAAAAAAAF7/0mWD7IuHj1yGv/TKuNgx2ukD5xipCY4cy4gU96orWwZwcSXh3K9tAmGYeOZyLZrvzzeOFVf9iN99hUPw/w/b0YWYeehfNvnf1DYt5XpDJghLKr3DzgznkTmMymDP3R+3wRKeuEw6/kdxY2yKJH0veaiekaVc4N2VwK/GvaGP2Hh9Fg7N++q0Adg6fIDQPt4p8RpavDbk+A4sL9SWGE1

输出:

{ "Records": [], "MillisBehindLatest": 80742000 }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南 AWS SDK》中的使用 Kinesis Data API Streams 和 Java 版开发消费者

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

AWS CLI

获取分片迭代器

以下 get-shard-iterator 示例使用 AT_SEQUENCE_NUMBER 分片迭代器类型并生成分片迭代器,以便从指定序列号所表示的位置开始精确读取数据记录。

aws kinesis get-shard-iterator \ --stream-name samplestream \ --shard-id shardId-000000000001 \ --shard-iterator-type LATEST

输出:

{ "ShardIterator": "AAAAAAAAAAFEvJjIYI+3jw/4aqgH9FifJ+n48XWTh/IFIsbILP6o5eDueD39NXNBfpZ10WL5K6ADXk8w+5H+Qhd9cFA9k268CPXCz/kebq1TGYI7Vy+lUkA9BuN3xvATxMBGxRY3zYK05gqgvaIRn94O8SqeEqwhigwZxNWxID3Ej7YYYcxQi8Q/fIrCjGAy/n2r5Z9G864YpWDfN9upNNQAR/iiOWKs" }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南 AWS SDK》中的使用 Kinesis Data API Streams 和 Java 版开发消费者

以下代码示例演示如何使用 increase-stream-retention-period

AWS CLI

延长数据流保留期

以下increase-stream-retention-period示例将指定流的保留期(数据记录添加到流后可以访问的时间长度)延长到 168 小时。

aws kinesis increase-stream-retention-period \ --stream-name samplestream \ --retention-period-hours 168

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的更改数据保留期

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

AWS CLI

列出数据流中的分片

以下list-shards示例列出了指定流中的所有分片,该分片以 ID 紧随指定的exclusive-start-shard-id分片开头。shardId-000000000000

aws kinesis list-shards \ --stream-name samplestream \ --exclusive-start-shard-id shardId-000000000000

输出:

{ "Shards": [ { "ShardId": "shardId-000000000001", "HashKeyRange": { "StartingHashKey": "113427455640312821154458202477256070485", "EndingHashKey": "226854911280625642308916404954512140969" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871682979337187563555549332609155523708941634633746" } }, { "ShardId": "shardId-000000000002", "HashKeyRange": { "StartingHashKey": "226854911280625642308916404954512140970", "EndingHashKey": "340282366920938463463374607431768211455" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871683001637932762086172474144873796357303140614178" } } ] }

有关更多信息,请参阅《亚马逊 Kinesis Data Streams 开发者指南》中的列出分片

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

AWS CLI

列出数据流

以下 list-streams 示例列出了当前账户和区域中的所有活动数据流。

aws kinesis list-streams

输出:

{ "StreamNames": [ "samplestream", "samplestream1" ] }

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的列出流

以下代码示例演示如何使用 list-tags-for-stream

AWS CLI

列出数据流的标签

以下 list-tags-for-stream 示例列出了附加指定数据流的标签:

aws kinesis list-tags-for-stream \ --stream-name samplestream

输出:

{ "Tags": [ { "Key": "samplekey", "Value": "example" } ], "HasMoreTags": false }

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的标记流

以下代码示例演示如何使用 merge-shards

AWS CLI

合并碎片

以下merge-shards示例在指定数据流中合并两个相邻的分片,分别IDs为 shardId -00000000000000 和 shardId -000000000001,并将它们合并为一个分片。

aws kinesis merge-shards \ --stream-name samplestream \ --shard-to-merge shardId-000000000000 \ --adjacent-shard-to-merge shardId-000000000001

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的合并两个分片

以下代码示例演示如何使用 put-record

AWS CLI

将记录写入数据流

以下 put-record 示例使用指定的分区键将单个数据记录写入指定的数据流。

aws kinesis put-record \ --stream-name samplestream \ --data sampledatarecord \ --partition-key samplepartitionkey

输出:

{ "ShardId": "shardId-000000000009", "SequenceNumber": "49600902273357540915989931256901506243878407835297513618", "EncryptionType": "KMS" }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的使用亚马逊 Kinesis Data API Streams 和 Java 版开发生产。 AWS SDK

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

AWS CLI

将多条记录写入数据流中

以下 put-records 示例在一次调用中使用指定的分区键写入一条数据记录,并使用不同的分区键写入另一条数据记录。

aws kinesis put-records \ --stream-name samplestream \ --records Data=blob1,PartitionKey=partitionkey1 Data=blob2,PartitionKey=partitionkey2

输出:

{ "FailedRecordCount": 0, "Records": [ { "SequenceNumber": "49600883331171471519674795588238531498465399900093808706", "ShardId": "shardId-000000000004" }, { "SequenceNumber": "49600902273357540915989931256902715169698037101720764562", "ShardId": "shardId-000000000009" } ], "EncryptionType": "KMS" }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的使用亚马逊 Kinesis Data API Streams 和 Java 版开发生产。 AWS SDK

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

AWS CLI

取消注册数据流消费端

以下 register-stream-consumer 示例使用指定的数据流注册了一个名为 KinesisConsumerApplication 的消费端。

aws kinesis register-stream-consumer \ --stream-arn arn:aws:kinesis:us-west-2:012345678912:stream/samplestream \ --consumer-name KinesisConsumerApplication

输出:

{ "Consumer": { "ConsumerName": "KinesisConsumerApplication", "ConsumerARN": "arn:aws:kinesis:us-west-2: 123456789012:stream/samplestream/consumer/KinesisConsumerApplication:1572383852", "ConsumerStatus": "CREATING", "ConsumerCreationTimestamp": 1572383852.0 } }

有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南API中的使用 Kinesis 数据流开发具有增强扇出功能的消费者

以下代码示例演示如何使用 remove-tags-from-stream

AWS CLI

从数据流中移除标签

以下remove-tags-from-stream示例从指定的数据流中移除具有指定密钥的标签。

aws kinesis remove-tags-from-stream \ --stream-name samplestream \ --tag-keys samplekey

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的标记流

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

AWS CLI

拆分碎片

以下split-shard示例使用新的起始哈希键 10 将指定的分片拆分为两个新分片。

aws kinesis split-shard \ --stream-name samplestream \ --shard-to-split shardId-000000000000 \ --new-starting-hash-key 10

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的拆分分片

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

AWS CLI

启用数据流加密

以下start-stream-encryption示例使用指定的密 AWS KMS钥为指定流启用服务器端加密。

aws kinesis start-stream-encryption \ --encryption-type KMS \ --key-id arn:aws:kms:us-west-2:012345678912:key/a3c4a7cd-728b-45dd-b334-4d3eb496e452 \ --stream-name samplestream

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊 Kinesis Data Streams 开发者指南》中的 Amazon Kinesis Data Streams 中的数据保护

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

AWS CLI

禁用数据流加密

以下stop-stream-encryption示例使用指定的密钥禁用指定流的服务器端加密。 AWS KMS

aws kinesis start-stream-encryption \ --encryption-type KMS \ --key-id arn:aws:kms:us-west-2:012345678912:key/a3c4a7cd-728b-45dd-b334-4d3eb496e452 \ --stream-name samplestream

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊 Kinesis Data Streams 开发者指南》中的 Amazon Kinesis Data Streams 中的数据保护

以下代码示例演示如何使用 update-shard-count

AWS CLI

更新数据流中的分片数

以下update-shard-count示例将指定数据流的分片数更新为 6。此示例使用统一缩放,创建大小相等的分片。

aws kinesis update-shard-count \ --stream-name samplestream \ --scaling-type UNIFORM_SCALING \ --target-shard-count 6

输出:

{ "StreamName": "samplestream", "CurrentShardCount": 3, "TargetShardCount": 6 }

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的重新分流。