本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用的 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 开发者指南中的更改数据保留期。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考DecreaseStreamRetentionPeriod
中的。
-
以下代码示例演示如何使用 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 开发具有增强扇出功能的消费者。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考DeregisterStreamConsumer
中的。
-
以下代码示例演示如何使用 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 读取数据。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeStreamConsumer
中的。
-
以下代码示例演示如何使用 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 开发人员指南》中的创建和管理流。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考DescribeStreamSummary
中的。
-
以下代码示例演示如何使用 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 数据流中的流”。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考DisableEnhancedMonitoring
中的。
-
以下代码示例演示如何使用 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 数据流中的流”。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考EnableEnhancedMonitoring
中的。
-
以下代码示例演示如何使用 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 开发者指南中的更改数据保留期。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考IncreaseStreamRetentionPeriod
中的。
-
以下代码示例演示如何使用 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 开发具有增强扇出功能的消费者。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考RegisterStreamConsumer
中的。
-
以下代码示例演示如何使用 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 开发者指南中的为直播添加标签。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考RemoveTagsFromStream
中的。
-
以下代码示例演示如何使用 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 中的数据保护。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考StartStreamEncryption
中的。
-
以下代码示例演示如何使用 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 中的数据保护。
-
有关 API 的详细信息,请参阅Amazon CLI 命令参考StopStreamEncryption
中的。
-
以下代码示例演示如何使用 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
中的。
-