Kinesis 示例使用 AWS CLI - AWS Command Line Interface

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

Kinesis 示例使用 AWS CLI

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

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

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

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

主題

動作

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

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

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

AWS CLI

若要建立資料串流

下列create-stream範例會建立具有 3 個碎片的名為 Samplestream 的資料串流。

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

此命令不會產生輸出。

如需詳細資訊,請參 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 資料串流開發人員指南中的變更資料保留期

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

AWS CLI

若要刪除資料串流

下列delete-stream範例會刪除指定的資料串流。

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

此命令不會產生輸出。

如需詳細資訊,請參閱 Amazon Kinesis 資料串流開發人員指南中的刪除串流

  • 如需 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 Data Streams Kinesis 資料串流開發人員指南中的使用 Kinesis Data Streams API 以增強型散發功能開發取用者

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

AWS CLI

描述碎片限制

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

aws kinesis describe-limits

輸出:

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

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

  • 如需 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 資料串流開發人員指南中的建立和管理串流

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

  • 如需 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 資料串流開發人員指南中的監控 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 資料串流開發人員指南中的監控 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 資料串流 API 與 AWS SDK for Java 件來開發取用者

  • 如需 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 資料串流 API 與 AWS SDK for Java 件來開發取用者

  • 如需 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 資料串流開發人員指南中的變更資料保留期

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

  • 如需 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 資料串流開發人員指南中的標記串流

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

AWS CLI

合併碎片

下列merge-shards範例會在指定的資料串流中合併兩個具有 Shardid-000000000 和 Shardid-00000001 識別碼的相鄰碎片,並將它們合併成單一碎片。

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 資料串流開發人員指南中的使用 Amazon Kinesis Data Streams 資料串流 API 搭配 AWS SDK for Java 件開發生產者

  • 如需 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 資料串流開發人員指南中的使用 Amazon Kinesis Data Streams 資料串流 API 搭配 AWS SDK for Java 件開發生產者

  • 如需 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 Data Streams Kinesis 資料串流開發人員指南中的使用 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 資料串流開發人員指南中的標記串流

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

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