使用 的 Kinesis 範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 Kinesis 範例 AWS CLI

下列程式碼範例示範如何搭配 AWS Command Line Interface Kinesis 使用 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 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 開發人員指南中的標記串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 AddTagsToStream

下列程式碼範例示範如何使用 create-stream

AWS CLI

建立資料串流

下列create-stream範例會建立名為 samplestream 的資料串流,其中包含 3 個碎片。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的建立串流。 Amazon Kinesis

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateStream

下列程式碼範例示範如何使用 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 開發人員指南中的刪除串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteStream

下列程式碼範例示範如何使用 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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon Kinesis Kinesis Data Streams 開發人員指南中的使用 Kinesis Data Streams API 開發具有增強型扇出的消費者

下列程式碼範例示範如何使用 describe-limits

AWS CLI

描述碎片限制

下列describe-limits範例顯示目前 AWS 帳戶的碎片限制和用量。

aws kinesis describe-limits

輸出:

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

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的重新分配串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLimits

下列程式碼範例示範如何使用 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" } }

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的從 Amazon 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 開發人員指南中的建立和管理串流。 Amazon Kinesis

下列程式碼範例示範如何使用 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 開發人員指南中的建立和管理串流。 Amazon Kinesis

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStream

下列程式碼範例示範如何使用 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": [] }

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的監控 Amazon Kinesis Data Streams 中的串流

下列程式碼範例示範如何使用 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" ] }

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的監控 Amazon Kinesis Data Streams 中的串流

下列程式碼範例示範如何使用 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 }

如需詳細資訊,請參閱 Amazon Kinesis Kinesis Data Streams 開發人員指南中的使用 Kinesis Data Streams API 搭配適用於 Java 的 AWS SDK 開發消費者

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetRecords

下列程式碼範例示範如何使用 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" }

如需詳細資訊,請參閱 Amazon Kinesis Kinesis Data Streams 開發人員指南中的使用 Kinesis Data Streams API 搭配適用於 Java 的 AWS SDK 開發消費者

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetShardIterator

下列程式碼範例示範如何使用 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" } } ] }

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的列出碎片

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListShards

下列程式碼範例示範如何使用 list-streams

AWS CLI

列出資料串流

下列list-streams範例列出目前帳戶和區域中的所有作用中資料串流。

aws kinesis list-streams

輸出:

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

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的列出串流。 Amazon Kinesis

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStreams

下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListTagsForStream

下列程式碼範例示範如何使用 merge-shards

AWS CLI

合併碎片

下列merge-shards範例會將兩個相鄰碎片與指定資料串流中的 IDs of shardId-000000000000 和 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 詳細資訊,請參閱 AWS CLI 命令參考中的 MergeShards

下列程式碼範例示範如何使用 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" }

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的使用 Amazon Kinesis Data Streams API 搭配 AWS SDK for Java 開發生產者Amazon Kinesis

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutRecord

下列程式碼範例示範如何使用 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" }

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的使用 Amazon Kinesis Data Streams API 搭配 AWS SDK for Java 開發生產者Amazon Kinesis

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutRecords

下列程式碼範例示範如何使用 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 } }

如需詳細資訊,請參閱 Amazon Kinesis Kinesis Data Streams 開發人員指南中的使用 Kinesis Data Streams API 開發具有增強型扇出的消費者

下列程式碼範例示範如何使用 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 開發人員指南中的分割碎片

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SplitShard

下列程式碼範例示範如何使用 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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon 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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon Kinesis Data Streams 開發人員指南中的 Amazon Kinesis Data Streams Amazon Kinesis中的資料保護。

下列程式碼範例示範如何使用 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 開發人員指南中的重新分配串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateShardCount