Beispiele für die Verwendung der AWS CLI mit Kinesis - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit Kinesis

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie das AWS Command Line Interface mit Kinesis nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie add-tags-to-stream verwendet wird.

AWS CLI

So fügen Sie einem Datenstrom Tags hinzu

Im folgenden Beispiel für add-tags-to-stream wird dem angegebenen Stream ein Tag mit dem Schlüssel samplekey und dem Wert example zugewiesen.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Markieren Ihrer Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter AddTagsToStream in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-stream verwendet wird.

AWS CLI

So erstellen Sie einen Datenstrom

Im folgenden Beispiel für create-stream wird ein Datenstrom namens samplestream mit 3 Shards erstellt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erstellen eines Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter CreateStream in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie decrease-stream-retention-period verwendet wird.

AWS CLI

So verkürzen Sie die Aufbewahrungsdauer von Datenströmen

Im folgenden Beispiel für decrease-stream-retention-period wird der Aufbewahrungszeitraum (der Zeitraum, in dem auf Datensätze zugegriffen werden kann, nachdem sie dem Stream hinzugefügt wurden) eines Stroms namens samplestream auf 48 Stunden verkürzt.

aws kinesis decrease-stream-retention-period \ --stream-name samplestream \ --retention-period-hours 48

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Ändern der Datenaufbewahrungszeitraums im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie delete-stream verwendet wird.

AWS CLI

So löschen Sie einen Datenstrom

Im folgenden Beispiel für delete-stream wird der angegebene Datenstrom gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Löschen eines Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter DeleteStream in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie deregister-stream-consumer verwendet wird.

AWS CLI

So heben Sie die Registrierung eines Datenstromkonsumenten auf

Im folgenden Beispiel für deregister-stream-consumer wird die Registrierung des angegebenen Konsumenten beim angegebenen Datenstrom aufgehoben.

aws kinesis deregister-stream-consumer \ --stream-arn arn:aws:kinesis:us-west-2:123456789012:stream/samplestream \ --consumer-name KinesisConsumerApplication

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Entwickeln von Konsumenten mit Enhanced Fan-Out über die API von Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie describe-limits verwendet wird.

AWS CLI

So beschreiben Sie Shard-Limits

Im folgenden Beispiel für describe-limits werden die Shard-Limits und -Nutzung für das aktuelle AWS-Konto angezeigt.

aws kinesis describe-limits

Ausgabe:

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

Weitere Informationen finden Sie unter Resharden eines Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter DescribeLimits in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie describe-stream-consumer verwendet wird.

AWS CLI

So beschreiben Sie einen Datenstromkonsumenten

Im folgenden Beispiel für describe-stream-consumer wird die Beschreibung des angegebenen Konsumenten zurückgegeben, der für den angegebenen Datenstrom registriert ist.

aws kinesis describe-stream-consumer \ --stream-arn arn:aws:kinesis:us-west-2:012345678912:stream/samplestream \ --consumer-name KinesisConsumerApplication

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Lesen von Daten aus Amazon Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie describe-stream-summary verwendet wird.

AWS CLI

So beschreiben Sie eine Zusammenfassung des Datenstroms

Im folgenden Beispiel für describe-stream-summary wird eine zusammenfassende Beschreibung (ohne Shard-Liste) des angegebenen Datenstroms bereitgestellt.

aws kinesis describe-stream-summary \ --stream-name samplestream

Ausgabe:

{ "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 } }

Weitere Informationen finden Sie unter Erstellen und Verwalten von Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie describe-stream verwendet wird.

AWS CLI

So beschreiben Sie einen Datenstrom

Im folgenden Beispiel für describe-stream werden Details zum angegebenen Datenstrom abgerufen.

aws kinesis describe-stream \ --stream-name samplestream

Ausgabe:

{ "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 } }

Weitere Informationen finden Sie unter Erstellen und Verwalten von Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter DescribeStream in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie disable-enhanced-monitoring verwendet wird.

AWS CLI

So deaktivieren Sie die erweiterte Überwachung für Metriken auf Shard-Ebene

Im folgenden Beispiel für disable-enhanced-monitoring wird die erweiterte Überwachung für Kinesis-Datenströme für Metriken auf Shard-Ebene deaktiviert.

aws kinesis disable-enhanced-monitoring \ --stream-name samplestream --shard-level-metrics ALL

Ausgabe:

{ "StreamName": "samplestream", "CurrentShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords", "IteratorAgeMilliseconds", "IncomingRecords", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "OutgoingBytes" ], "DesiredShardLevelMetrics": [] }

Weitere Informationen finden Sie unter Überwachen von Streams in Amazon Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie enable-enhanced-monitoring verwendet wird.

AWS CLI

So aktivieren Sie die erweiterte Überwachung für Metriken auf Shard-Ebene

Im folgenden Beispiel für enable-enhanced-monitoring wird die erweiterte Überwachung für Kinesis-Datenströme für Metriken auf Shard-Ebene aktiviert.

aws kinesis enable-enhanced-monitoring \ --stream-name samplestream \ --shard-level-metrics ALL

Ausgabe:

{ "StreamName": "samplestream", "CurrentShardLevelMetrics": [], "DesiredShardLevelMetrics": [ "IncomingBytes", "OutgoingRecords", "IteratorAgeMilliseconds", "IncomingRecords", "ReadProvisionedThroughputExceeded", "WriteProvisionedThroughputExceeded", "OutgoingBytes" ] }

Weitere Informationen finden Sie unter Überwachen von Streams in Amazon Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie get-records verwendet wird.

AWS CLI

So rufen Sie Datensätze aus einem Shard ab

Im folgenden Beispiel für get-records werden Datensätze aus dem Shard eines Kinesis-Datenstroms über den angegebenen Shard-Iterator abgerufen.

aws kinesis get-records \ --shard-iterator AAAAAAAAAAF7/0mWD7IuHj1yGv/TKuNgx2ukD5xipCY4cy4gU96orWwZwcSXh3K9tAmGYeOZyLZrvzzeOFVf9iN99hUPw/w/b0YWYeehfNvnf1DYt5XpDJghLKr3DzgznkTmMymDP3R+3wRKeuEw6/kdxY2yKJH0veaiekaVc4N2VwK/GvaGP2Hh9Fg7N++q0Adg6fIDQPt4p8RpavDbk+A4sL9SWGE1

Ausgabe:

{ "Records": [], "MillisBehindLatest": 80742000 }

Weitere Informationen finden Sie unter Entwickeln von Konsumenten über die API von Kinesis Data Streams mit dem AWS SDK für Java im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter GetRecords in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-shard-iterator verwendet wird.

AWS CLI

So rufen Sie einen Shard-Iterator ab

Im folgenden Beispiel für get-shard-iterator wird der Shard-Iteratortyp AT_SEQUENCE_NUMBER verwendet und ein Shard-Iterator generiert, um mit dem Lesen von Datensätzen genau an der Position zu beginnen, die durch die angegebene Sequenznummer gekennzeichnet ist.

aws kinesis get-shard-iterator \ --stream-name samplestream \ --shard-id shardId-000000000001 \ --shard-iterator-type LATEST

Ausgabe:

{ "ShardIterator": "AAAAAAAAAAFEvJjIYI+3jw/4aqgH9FifJ+n48XWTh/IFIsbILP6o5eDueD39NXNBfpZ10WL5K6ADXk8w+5H+Qhd9cFA9k268CPXCz/kebq1TGYI7Vy+lUkA9BuN3xvATxMBGxRY3zYK05gqgvaIRn94O8SqeEqwhigwZxNWxID3Ej7YYYcxQi8Q/fIrCjGAy/n2r5Z9G864YpWDfN9upNNQAR/iiOWKs" }

Weitere Informationen finden Sie unter Entwickeln von Konsumenten über die API von Kinesis Data Streams mit dem AWS SDK für Java im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie increase-stream-retention-period verwendet wird.

AWS CLI

So verlängern Sie die Aufbewahrungsdauer von Datenströmen

Im folgenden Beispiel für increase-stream-retention-period wird der Aufbewahrungszeitraum (der Zeitraum, in dem auf Datensätze zugegriffen werden kann, nachdem sie dem Stream hinzugefügt wurden) des angegebenen Streams auf 168 Stunden verlängert.

aws kinesis increase-stream-retention-period \ --stream-name samplestream \ --retention-period-hours 168

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Ändern der Datenaufbewahrungszeitraums im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie list-shards verwendet wird.

AWS CLI

So listen Sie Shards in einem Datenstrom auf

Im folgenden Beispiel für list-shards werden alle Shards im angegebenen Stream aufgelistet, beginnend mit dem Shard, dessen ID unmittelbar auf die angegebene exclusive-start-shard-id von shardId-000000000000 folgt.

aws kinesis list-shards \ --stream-name samplestream \ --exclusive-start-shard-id shardId-000000000000

Ausgabe:

{ "Shards": [ { "ShardId": "shardId-000000000001", "HashKeyRange": { "StartingHashKey": "113427455640312821154458202477256070485", "EndingHashKey": "226854911280625642308916404954512140969" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871682979337187563555549332609155523708941634633746" } }, { "ShardId": "shardId-000000000002", "HashKeyRange": { "StartingHashKey": "226854911280625642308916404954512140970", "EndingHashKey": "340282366920938463463374607431768211455" }, "SequenceNumberRange": { "StartingSequenceNumber": "49600871683001637932762086172474144873796357303140614178" } } ] }

Weitere Informationen finden Sie unter Auflisten von Shards im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter ListShards in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-streams verwendet wird.

AWS CLI

So listen Sie Datenströme auf

Im folgenden Beispiel für list-streams werden alle Parameter im aktuellen Konto und in der aktuellen Region aufgelistet.

aws kinesis list-streams

Ausgabe:

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

Weitere Informationen finden Sie unter Auflisten eines Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter ListStreams in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-tags-for-stream verwendet wird.

AWS CLI

So listen Sie Tags für einen Datenstrom auf

Im folgenden Beispiel für list-tags-for-stream werden alle Tags aufgelistet, die dem angegebenen Datenstrom zugeordnet sind.

aws kinesis list-tags-for-stream \ --stream-name samplestream

Ausgabe:

{ "Tags": [ { "Key": "samplekey", "Value": "example" } ], "HasMoreTags": false }

Weitere Informationen finden Sie unter Markieren Ihrer Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie merge-shards verwendet wird.

AWS CLI

So führen Sie Shards zusammen

Im folgenden Beispiel für merge-shards werden zwei benachbarte Shards mit den IDs „shardId-000000000000“ und „shardId-000000000001“ im angegebenen Datenstrom zusammengeführt und zu einem einzigen Shard kombiniert.

aws kinesis merge-shards \ --stream-name samplestream \ --shard-to-merge shardId-000000000000 \ --adjacent-shard-to-merge shardId-000000000001

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Zusammenführen zweier Shards im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter MergeShards in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie put-record verwendet wird.

AWS CLI

So schreiben Sie einen Datensatz in einen Datenstrom

Im folgenden Beispiel für put-record wird ein einzelner Datensatz mithilfe des angegebenen Partitionsschlüssels in den angegebenen Datenstrom geschrieben.

aws kinesis put-record \ --stream-name samplestream \ --data sampledatarecord \ --partition-key samplepartitionkey

Ausgabe:

{ "ShardId": "shardId-000000000009", "SequenceNumber": "49600902273357540915989931256901506243878407835297513618", "EncryptionType": "KMS" }

Weitere Informationen finden Sie unter Entwickeln von Produzenten über die API von Kinesis Data Streams mit dem AWS SDK für Java im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter PutRecord in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie put-records verwendet wird.

AWS CLI

So schreiben Sie mehrere Datensätze in einen Datenstrom

Im folgenden Beispiel für put-records werden ein Datensatz mit dem angegebenen Partitionsschlüssel und ein anderer Datensatz mit einem anderen Partitionsschlüssel in einen einzelnen Aufruf geschrieben.

aws kinesis put-records \ --stream-name samplestream \ --records Data=blob1,PartitionKey=partitionkey1 Data=blob2,PartitionKey=partitionkey2

Ausgabe:

{ "FailedRecordCount": 0, "Records": [ { "SequenceNumber": "49600883331171471519674795588238531498465399900093808706", "ShardId": "shardId-000000000004" }, { "SequenceNumber": "49600902273357540915989931256902715169698037101720764562", "ShardId": "shardId-000000000009" } ], "EncryptionType": "KMS" }

Weitere Informationen finden Sie unter Entwickeln von Produzenten über die API von Kinesis Data Streams mit dem AWS SDK für Java im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter PutRecords in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie register-stream-consumer verwendet wird.

AWS CLI

So registrieren Sie einen Datenstromkonsumenten

Im folgenden Beispiel für register-stream-consumer wird ein Konsument namens KinesisConsumerApplication beim angegebenen Datenstrom registriert.

aws kinesis register-stream-consumer \ --stream-arn arn:aws:kinesis:us-west-2:012345678912:stream/samplestream \ --consumer-name KinesisConsumerApplication

Ausgabe:

{ "Consumer": { "ConsumerName": "KinesisConsumerApplication", "ConsumerARN": "arn:aws:kinesis:us-west-2: 123456789012:stream/samplestream/consumer/KinesisConsumerApplication:1572383852", "ConsumerStatus": "CREATING", "ConsumerCreationTimestamp": 1572383852.0 } }

Weitere Informationen finden Sie unter Entwickeln von Konsumenten mit Enhanced Fan-Out über die API von Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie remove-tags-from-stream verwendet wird.

AWS CLI

So entfernen Sie Tags aus einem Datenstrom

Im folgenden Beispiel für remove-tags-from-stream wird das Tag mit dem angegebenen Schlüsselnamen aus der angegebenen Datenstrom entfernt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Markieren Ihrer Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie split-shard verwendet wird.

AWS CLI

So teilen Sie Shards auf

Im folgenden Beispiel für split-shard wird der angegebene Shard mit dem neuen Start-Hash-Schlüssel 10 in zwei neue Shards aufgeteilt.

aws kinesis split-shard \ --stream-name samplestream \ --shard-to-split shardId-000000000000 \ --new-starting-hash-key 10

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Aufteilen von Shards im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

  • API-Details finden Sie unter SplitShard in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie start-stream-encryption verwendet wird.

AWS CLI

So aktivieren Sie die Verschlüsselung von Datenströmen

Im folgenden Beispiel für start-stream-encryption wird die serverseitige Verschlüsselung für den angegebenen Stream mit dem angegebenen AWS-KMS-Schlüssel aktiviert.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Datenschutz in Amazon Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie stop-stream-encryption verwendet wird.

AWS CLI

So deaktivieren Sie die Datenstromverschlüsselung

Im folgenden Beispiel für stop-stream-encryption wird die serverseitige Verschlüsselung für den angegebenen Stream mit dem angegebenen AWS-KMS-Schlüssel aktiviert.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Datenschutz in Amazon Kinesis Data Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.

Das folgende Codebeispiel zeigt, wie update-shard-count verwendet wird.

AWS CLI

So aktualisieren Sie die Shard-Anzahl in einem Datenstrom

Im folgenden Beispiel für update-shard-count wird die Shard-Anzahl des angegebenen Datenstroms auf 6 aktualisiert. In diesem Beispiel wird eine einheitliche Skalierung verwendet, wodurch Shards gleicher Größe erstellt werden.

aws kinesis update-shard-count \ --stream-name samplestream \ --scaling-type UNIFORM_SCALING \ --target-shard-count 6

Ausgabe:

{ "StreamName": "samplestream", "CurrentShardCount": 3, "TargetShardCount": 6 }

Weitere Informationen finden Sie unter Resharden eines Streams im Entwicklerhandbuch zu Amazon Kinesis Data Streams.