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
\ --tagssamplekey=example
此命令不生成任何输出。
有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的标记流。
-
有关API详细信息,请参阅 “AddTagsToStream AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-stream
。
- AWS CLI
-
创建数据流
以下
create-stream
示例创建一个名为 samplestream 的数据流,其中包含 3 个分片。aws kinesis create-stream \ --stream-name
samplestream
\ --shard-count3
此命令不生成任何输出。
有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的创建流。
-
有关API详细信息,请参阅 “CreateStream AWS CLI
命令参考”。
-
以下代码示例演示如何使用 decrease-stream-retention-period
。
- AWS CLI
-
缩短数据流保留期
以下
decrease-stream-retention-period
示例将名为 samplestream 的流的保留期(将数据记录添加到流中后可以访问的时间长度)缩短到 48 小时。aws kinesis decrease-stream-retention-period \ --stream-name
samplestream
\ --retention-period-hours48
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的更改数据保留期。
-
有关API详细信息,请参阅 “DecreaseStreamRetentionPeriod AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-stream
。
- AWS CLI
-
删除数据流
以下
delete-stream
示例将删除指定的数据流。aws kinesis delete-stream \ --stream-name
samplestream
此命令不生成任何输出。
有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的删除流。
-
有关API详细信息,请参阅 “DeleteStream AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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-nameKinesisConsumerApplication
此命令不生成任何输出。
有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南API中的使用 Kinesis 数据流开发具有增强扇出功能的消费者。
-
有关API详细信息,请参阅 “DeregisterStreamConsumer AWS CLI
命令参考”。
-
以下代码示例演示如何使用 describe-limits
。
- AWS CLI
-
描述分片限制
以下
describe-limits
示例显示了当前 AWS 账户的分片限制和使用情况。aws kinesis describe-limits
输出:
{ "ShardLimit": 500, "OpenShardCount": 29 }
有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的重新分片流。
-
有关API详细信息,请参阅 “DescribeLimits AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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-nameKinesisConsumerApplication
输出:
{ "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详细信息,请参阅 “DescribeStreamConsumer AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 开发人员指南》中的创建和管理流。
-
有关API详细信息,请参阅 “DescribeStreamSummary AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 开发人员指南》中的创建和管理流。
-
有关API详细信息,请参阅 “DescribeStream AWS CLI
命令参考”。
-
以下代码示例演示如何使用 disable-enhanced-monitoring
。
- AWS CLI
-
禁用对分片级指标的增强监控
以下
disable-enhanced-monitoring
示例禁用分片级指标的增强型 Kinesis 数据流监控。aws kinesis disable-enhanced-monitoring \ --stream-name
samplestream
--shard-level-metricsALL
输出:
{ "StreamName": "samplestream", "CurrentShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords", "IteratorAgeMilliseconds", "IncomingRecords", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "OutgoingBytes" ], "DesiredShardLevelMetrics": [] }
有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的监控亚马逊 Kinesis 数据流中的流。
-
有关API详细信息,请参阅 “DisableEnhancedMonitoring AWS CLI
命令参考”。
-
以下代码示例演示如何使用 enable-enhanced-monitoring
。
- AWS CLI
-
启用对分片级指标的增强监控
以下
enable-enhanced-monitoring
示例为分片级指标启用增强的 Kinesis 数据流监控。aws kinesis enable-enhanced-monitoring \ --stream-name
samplestream
\ --shard-level-metricsALL
输出:
{ "StreamName": "samplestream", "CurrentShardLevelMetrics": [], "DesiredShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords", "IteratorAgeMilliseconds", "IncomingRecords", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "OutgoingBytes" ] }
有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的监控亚马逊 Kinesis 数据流中的流。
-
有关API详细信息,请参阅 “EnableEnhancedMonitoring AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 版开发消费者。
-
有关API详细信息,请参阅 “GetRecords AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-shard-iterator
。
- AWS CLI
-
获取分片迭代器
以下
get-shard-iterator
示例使用AT_SEQUENCE_NUMBER
分片迭代器类型并生成分片迭代器,以便从指定序列号所表示的位置开始精确读取数据记录。aws kinesis get-shard-iterator \ --stream-name
samplestream
\ --shard-idshardId-000000000001
\ --shard-iterator-typeLATEST
输出:
{ "ShardIterator": "AAAAAAAAAAFEvJjIYI+3jw/4aqgH9FifJ+n48XWTh/IFIsbILP6o5eDueD39NXNBfpZ10WL5K6ADXk8w+5H+Qhd9cFA9k268CPXCz/kebq1TGYI7Vy+lUkA9BuN3xvATxMBGxRY3zYK05gqgvaIRn94O8SqeEqwhigwZxNWxID3Ej7YYYcxQi8Q/fIrCjGAy/n2r5Z9G864YpWDfN9upNNQAR/iiOWKs" }
有关更多信息,请参阅《亚马逊 Kinesis Data Streams 开发者指南 AWS SDK》中的使用 Kinesis Data API Streams 和 Java 版开发消费者。
-
有关API详细信息,请参阅 “GetShardIterator AWS CLI
命令参考”。
-
以下代码示例演示如何使用 increase-stream-retention-period
。
- AWS CLI
-
延长数据流保留期
以下
increase-stream-retention-period
示例将指定流的保留期(数据记录添加到流后可以访问的时间长度)延长到 168 小时。aws kinesis increase-stream-retention-period \ --stream-name
samplestream
\ --retention-period-hours168
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的更改数据保留期。
-
有关API详细信息,请参阅 “IncreaseStreamRetentionPeriod AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-shards
。
- AWS CLI
-
列出数据流中的分片
以下
list-shards
示例列出了指定流中的所有分片,该分片以 ID 紧随指定的exclusive-start-shard-id
分片开头。shardId-000000000000
aws kinesis list-shards \ --stream-name
samplestream
\ --exclusive-start-shard-idshardId-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详细信息,请参阅 “ListShards AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-streams
。
- AWS CLI
-
列出数据流
以下
list-streams
示例列出了当前账户和区域中的所有活动数据流。aws kinesis list-streams
输出:
{ "StreamNames": [ "samplestream", "samplestream1" ] }
有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的列出流。
-
有关API详细信息,请参阅 “ListStreams AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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 开发人员指南》中的标记流。
-
有关API详细信息,请参阅 “ListTagsForStream AWS CLI
命令参考”。
-
以下代码示例演示如何使用 merge-shards
。
- AWS CLI
-
合并碎片
以下
merge-shards
示例在指定数据流中合并两个相邻的分片,分别IDs为 shardId -00000000000000 和 shardId -000000000001,并将它们合并为一个分片。aws kinesis merge-shards \ --stream-name
samplestream
\ --shard-to-mergeshardId-000000000000
\ --adjacent-shard-to-mergeshardId-000000000001
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的合并两个分片。
-
有关API详细信息,请参阅 “MergeShards AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-record
。
- AWS CLI
-
将记录写入数据流
以下
put-record
示例使用指定的分区键将单个数据记录写入指定的数据流。aws kinesis put-record \ --stream-name
samplestream
\ --datasampledatarecord
\ --partition-keysamplepartitionkey
输出:
{ "ShardId": "shardId-000000000009", "SequenceNumber": "49600902273357540915989931256901506243878407835297513618", "EncryptionType": "KMS" }
有关更多信息,请参阅亚马逊 Kinesis Data Streams 开发者指南中的使用亚马逊 Kinesis Data API Streams 和 Java 版开发生产者。 AWS SDK
-
有关API详细信息,请参阅 “PutRecord AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-records
。
- AWS CLI
-
将多条记录写入数据流中
以下
put-records
示例在一次调用中使用指定的分区键写入一条数据记录,并使用不同的分区键写入另一条数据记录。aws kinesis put-records \ --stream-name
samplestream
\ --recordsData=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
-
有关API详细信息,请参阅 “PutRecords AWS CLI
命令参考”。
-
以下代码示例演示如何使用 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-nameKinesisConsumerApplication
输出:
{ "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 数据流开发具有增强扇出功能的消费者。
-
有关API详细信息,请参阅 “RegisterStreamConsumer AWS CLI
命令参考”。
-
以下代码示例演示如何使用 remove-tags-from-stream
。
- AWS CLI
-
从数据流中移除标签
以下
remove-tags-from-stream
示例从指定的数据流中移除具有指定密钥的标签。aws kinesis remove-tags-from-stream \ --stream-name
samplestream
\ --tag-keyssamplekey
此命令不生成任何输出。
有关更多信息,请参阅《Amazon Kinesis Data Streams 开发人员指南》中的标记流。
-
有关API详细信息,请参阅 “RemoveTagsFromStream AWS CLI
命令参考”。
-
以下代码示例演示如何使用 split-shard
。
- AWS CLI
-
拆分碎片
以下
split-shard
示例使用新的起始哈希键 10 将指定的分片拆分为两个新分片。aws kinesis split-shard \ --stream-name
samplestream
\ --shard-to-splitshardId-000000000000
\ --new-starting-hash-key10
此命令不生成任何输出。
有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的拆分分片。
-
有关API详细信息,请参阅 “SplitShard AWS CLI
命令参考”。
-
以下代码示例演示如何使用 start-stream-encryption
。
- AWS CLI
-
启用数据流加密
以下
start-stream-encryption
示例使用指定的密 AWS KMS钥为指定流启用服务器端加密。aws kinesis start-stream-encryption \ --encryption-type
KMS
\ --key-idarn:aws:kms:us-west-2:012345678912:key/a3c4a7cd-728b-45dd-b334-4d3eb496e452
\ --stream-namesamplestream
此命令不生成任何输出。
有关更多信息,请参阅《亚马逊 Kinesis Data Streams 开发者指南》中的 Amazon Kinesis Data Streams 中的数据保护。
-
有关API详细信息,请参阅 “StartStreamEncryption AWS CLI
命令参考”。
-
以下代码示例演示如何使用 stop-stream-encryption
。
- AWS CLI
-
禁用数据流加密
以下
stop-stream-encryption
示例使用指定的密钥禁用指定流的服务器端加密。 AWS KMSaws kinesis start-stream-encryption \ --encryption-type
KMS
\ --key-idarn:aws:kms:us-west-2:012345678912:key/a3c4a7cd-728b-45dd-b334-4d3eb496e452
\ --stream-namesamplestream
此命令不生成任何输出。
有关更多信息,请参阅《亚马逊 Kinesis Data Streams 开发者指南》中的 Amazon Kinesis Data Streams 中的数据保护。
-
有关API详细信息,请参阅 “StopStreamEncryption AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-shard-count
。
- AWS CLI
-
更新数据流中的分片数
以下
update-shard-count
示例将指定数据流的分片数更新为 6。此示例使用统一缩放,创建大小相等的分片。aws kinesis update-shard-count \ --stream-name
samplestream
\ --scaling-typeUNIFORM_SCALING
\ --target-shard-count6
输出:
{ "StreamName": "samplestream", "CurrentShardCount": 3, "TargetShardCount": 6 }
有关更多信息,请参阅 Amazon Kinesis Data Streams 开发者指南中的重新分片流。
-
有关API详细信息,请参阅 “UpdateShardCount AWS CLI
命令参考”。
-