Esempi di Kinesis che utilizzano AWS CLI - AWS Command Line Interface

Esempi di Kinesis che utilizzano AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Kinesis.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare add-tags-to-stream.

AWS CLI

Come aggiungere tag a un flusso di dati

Nell’esempio seguente, add-tags-to-stream assegna un tag con la chiave samplekey e il valore example al flusso specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging dei flussi nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta AddTagsToStream in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-stream.

AWS CLI

Come creare un flusso di dati

L’esempio create-stream seguente crea un flusso di dati denominato samplestream con 3 shard.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Creazione di un flusso nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta CreateStream in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare decrease-stream-retention-period.

AWS CLI

Come ridurre il periodo di conservazione del flusso di dati

L’esempio decrease-stream-retention-period seguente riduce il periodo di conservazione (tempo durante il quale i record di dati sono accessibili dopo essere stati aggiunti al flusso) di un flusso denominato samplestream a 48 ore.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Modifica del periodo di conservazione dei dati nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare delete-stream.

AWS CLI

Come eliminare un flusso di dati

Nell’esempio seguente, delete-stream elimina il flusso di dati specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Eliminazione di un flusso nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta DeleteStream in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare deregister-stream-consumer.

AWS CLI

Come annullare la registrazione di un consumer del flusso di dati

L’esempio deregister-stream-consumer seguente annulla la registrazione del consumer specificato dal flusso di dati specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Developing Consumers with Enhanced Fan-Out Using the Kinesis Data Streams API nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare describe-limits.

AWS CLI

Come descrivere i limiti degli shard

L’esempio describe-limits seguente mostra i limiti degli shard e l’utilizzo per l’account AWS corrente.

aws kinesis describe-limits

Output:

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

Per ulteriori informazioni, consulta Resharding di un flusso nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta DescribeLimits in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare describe-stream-consumer.

AWS CLI

Come descrivere un consumer del flusso di dati

L’esempio describe-stream-consumer seguente restituisce la descrizione del consumer specificato, registrato con il flusso di dati specificato.

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

Output:

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

Per ulteriori informazioni, consulta Lettura dei dati da Flusso di dati Amazon Kinesis nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare describe-stream-summary.

AWS CLI

Come descrivere un riepilogo del flusso di dati

Nell’esempio seguente, describe-stream-summary fornisce un riepilogo della descrizione (senza l’elenco degli shard) del flusso di dati specificato.

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

Output:

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

Per ulteriori informazioni, consulta Creazione e gestione dei flussi nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare describe-stream.

AWS CLI

Come descrivere un flusso di dati

Nell’esempio seguente, describe-stream restituisce i dettagli del flusso di dati specificato.

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

Output:

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

Per ulteriori informazioni, consulta Creazione e gestione dei flussi nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta DescribeStream in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare disable-enhanced-monitoring.

AWS CLI

Come disabilitare il monitoraggio avanzato delle metriche a livello di shard

L’esempio disable-enhanced-monitoring seguente disabilita il monitoraggio avanzato delle metriche a livello di shard per il flusso di dati Kinesis.

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

Output:

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

Per ulteriori informazioni, consulta Monitoring Streams in Amazon Kinesis Data Streams nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare enable-enhanced-monitoring.

AWS CLI

Come abilitare il monitoraggio avanzato delle metriche a livello di shard

L’esempio enable-enhanced-monitoring seguente abilita il monitoraggio avanzato delle metriche a livello di shard per il flusso di dati Kinesis.

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

Output:

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

Per ulteriori informazioni, consulta Monitoring Streams in Amazon Kinesis Data Streams nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare get-records.

AWS CLI

Come ottenere record da uno shard

L’esempio get-records seguente ottiene i record di dati dallo shard di un flusso di dati Kinesis utilizzando l’iteratore dello shard specificato.

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

Output:

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

Per ulteriori informazioni, consulta Developing Consumers Using the Kinesis Data Streams API with the AWS SDK for Java nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta GetRecords in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-shard-iterator.

AWS CLI

Come ottenere un iteratore di shard

L’esempio get-shard-iterator seguente utilizza il tipo di iteratore dello shard AT_SEQUENCE_NUMBER e genera un iteratore dello shard per avviare la lettura dei record di dati esattamente dalla posizione indicata dal numero di sequenza specificato.

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

Output:

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

Per ulteriori informazioni, consulta Developing Consumers Using the Kinesis Data Streams API with the AWS SDK for Java nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta GetShardIterator in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare increase-stream-retention-period.

AWS CLI

Come aumentare il periodo di conservazione del flusso di dati

L’esempio increase-stream-retention-period seguente aumenta il periodo di conservazione (tempo durante il quale i record di dati sono accessibili dopo essere stati aggiunti al flusso) del flusso specificato a 168 ore.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Modifica del periodo di conservazione dei dati nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare list-shards.

AWS CLI

Come elencare gli shard in un flusso di dati

L’esempio list-shards seguente elenca tutti gli shard nel flusso specificato, a partire dallo shard il cui ID segue immediatamente il parametro exclusive-start-shard-id specificato di shardId-000000000000.

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

Output:

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

Per ulteriori informazioni, consulta Elenco degli shard nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta ListShards in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-streams.

AWS CLI

Come elencare i flussi di dati

Nell’esempio seguente, list-streams elenca tutti i flussi di dati attivi nell’account e nella Regione correnti.

aws kinesis list-streams

Output:

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

Per ulteriori informazioni, consulta Elenco di flussi nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta ListStreams in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-tags-for-stream.

AWS CLI

Come elencare i tag di un flusso di dati

Nell’esempio seguente, list-tags-for-stream elenca i tag associati al flusso di dati specificato.

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

Output:

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

Per ulteriori informazioni, consulta Tagging dei flussi nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta ListTagsForStream in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare merge-shards.

AWS CLI

Come unire shard

L’esempio merge-shards seguente unisce due shard adiacenti con ID shardId-000000000000 e shardId-000000000001 nel flusso di dati specificato, combinandoli in un unico shard.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Unione di due shard nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta MergeShards in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-record.

AWS CLI

Come scrivere un record in un flusso di dati

L’esempio put-record seguente scrive un unico record di dati nel flusso di dati specificato utilizzando la chiave di partizione specificata.

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

Output:

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

Per ulteriori informazioni, consulta Developing Producers Using the Amazon Kinesis Data Streams API with the AWS SDK for Java nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta PutRecord in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-records.

AWS CLI

Come scrivere più record in un flusso di dati

L’esempio put-records seguente scrive un record di dati utilizzando la chiave di partizione specificata e un altro record di dati utilizzando una chiave di partizione diversa in un’unica chiamata.

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

Output:

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

Per ulteriori informazioni, consulta Developing Producers Using the Amazon Kinesis Data Streams API with the AWS SDK for Java nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta PutRecords in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare register-stream-consumer.

AWS CLI

Come registrare un consumer del flusso di dati

L’esempio register-stream-consumer seguente registra un consumer denominato KinesisConsumerApplication con il flusso di dati specificato.

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

Output:

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

Per ulteriori informazioni, consulta Developing Consumers with Enhanced Fan-Out Using the Kinesis Data Streams API nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare remove-tags-from-stream.

AWS CLI

Come rimuovere i tag da un flusso di dati

L’esempio remove-tags-from-stream seguente rimuove il tag con la chiave specificata dal flusso di dati specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging dei flussi nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta RemoveTagsFromStream in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare split-shard.

AWS CLI

Come dividere gli shard

L’esempio split-shard seguente divide lo shard specificato in due nuovi shard utilizzando una nuova chiave hash iniziale pari a 10.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Suddivisione di uno shard nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta SplitShard in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare start-stream-encryption.

AWS CLI

Come abilitare la crittografia del flusso di dati

L’esempio start-stream-encryption seguente abilita la crittografia lato server per il flusso specificato, utilizzando la chiave AWS KMS specificata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Protezione dei dati in Flusso di dati Amazon Kinesis nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

L’esempio di codice seguente mostra come utilizzare stop-stream-encryption.

AWS CLI

Come disabilitare la crittografia del flusso di dati

L’esempio stop-stream-encryption seguente disabilita la crittografia lato server per il flusso specificato, utilizzando la chiave AWS KMS specificata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Protezione dei dati in Flusso di dati Amazon Kinesis nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta StopStreamEncryption in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-shard-count.

AWS CLI

Come aggiornare il numero di shard in un flusso di dati

L’esempio update-shard-count seguente aggiorna il numero di shard del flusso di dati specificato a 6. Questo esempio utilizza un dimensionamento uniforme, che crea shard di dimensioni uguali.

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

Output:

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

Per ulteriori informazioni, consulta Resharding di un flusso nella Guida per gli sviluppatori di Flusso di dati Amazon Kinesis.

  • Per informazioni dettagliate sull’API, consulta UpdateShardCount nella AWS CLI Command Reference.