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

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

使用的 Kinesis 示例 Amazon CLI

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

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

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

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

主题

操作

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

Amazon CLI

向数据流添加标签

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

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

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的为直播添加标签

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

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

Amazon CLI

创建数据流

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

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

此命令不生成任何输出。

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

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

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

Amazon 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

Amazon CLI

删除数据流

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

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

此命令不生成任何输出。

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

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

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

Amazon 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 开发者指南中的使用 Kinesis Data Streams API 开发具有增强扇出功能的消费者

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

Amazon CLI

描述分片限制

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

aws kinesis describe-limits

输出:

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

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

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

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

Amazon 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

Amazon 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

Amazon 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 开发人员指南》中的创建和管理流

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

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

Amazon 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 数据流开发者指南》中的 “监控 Amazon Kinesis 数据流中的流”。

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

Amazon 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 数据流开发者指南》中的 “监控 Amazon Kinesis 数据流中的流”。

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

Amazon 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 开发者指南中的使用 Kinesis Data Streams API 和 Java 开发工具包开发消费者。 Amazon

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

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

Amazon 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 开发者指南中的使用 Kinesis Data Streams API 和 Java 开发工具包开发消费者。 Amazon

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

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

Amazon 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

Amazon 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 开发者指南》中的列出分片

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

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

Amazon CLI

列出数据流

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

aws kinesis list-streams

输出:

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

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

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

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

Amazon 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 开发者指南中的为直播添加标签

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

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

Amazon CLI

合并碎片

以下merge-shards示例在指定的数据流中合并 ID 为 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 开发者指南中的合并两个分片

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

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

Amazon 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 Streams API 和 Java 开发工具包开发生产。 Amazon

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

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

Amazon 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 Streams API 和 Java 开发工具包开发生产。 Amazon

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

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

Amazon 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 开发者指南中的使用 Kinesis Data Streams API 开发具有增强扇出功能的消费者

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

Amazon CLI

从数据流中移除标签

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

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

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的为直播添加标签

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

Amazon 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 开发者指南中的拆分分片

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

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

Amazon CLI

启用数据流加密

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

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 开发者指南中的亚马逊 Kin esis Data Streams 中的数据保护

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

Amazon CLI

禁用数据流加密

以下stop-stream-encryption示例使用指定的 Amazon 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 开发者指南中的亚马逊 Kin esis Data Streams 中的数据保护

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

Amazon 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 开发者指南中的重新分流。

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