Exemplos do Kinesis usando o AWS CLI - AWS Command Line Interface

Esta documentação é somente para a versão 1 da AWS CLI. Para obter a documentação relacionada à AWS CLI versão 2, consulte o Guia do usuário da versão 2.

Exemplos do Kinesis usando o AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Kinesis.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar add-tags-to-stream.

AWS CLI

Para adicionar tags a um fluxo de dados

O exemplo add-tags-to-stream a seguir atribui uma tag com a chave samplekey e o valor example ao fluxo especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Adicionar tags a fluxos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte AddTagsToStream na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar create-stream.

AWS CLI

Como criar um fluxo de dados

O exemplo de create-stream a seguir cria um fluxo de dados chamado samplestream com três fragmentos.

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

Este comando não produz saída.

Para obter mais informações, consulte Criar um fluxo no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para obter detalhes da API, consulte CreateStream na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar decrease-stream-retention-period.

AWS CLI

Como diminuir o período de retenção do fluxo de dados

O exemplo decrease-stream-retention-period a seguir reduz o período de retenção (o período em que os registros de dados ficam acessíveis depois de serem adicionados ao fluxo) de um fluxo chamado samplestream para 48 horas.

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

Este comando não produz saída.

Para obter mais informações, consulte Alterar o período de retenção de dados no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar delete-stream.

AWS CLI

Como excluir um fluxo de dados

O exemplo de delete-stream a seguir exclui o fluxo de dados especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Excluir um fluxo no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para obter detalhes da API, consulte DeleteStream na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar deregister-stream-consumer.

AWS CLI

Como cancelar o registro de um consumidor de fluxo de dados

O exemplo deregister-stream-consumer a seguir cancela o registro do consumidor especificado do fluxo de dados especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Desenvolver consumidores com Fan-Out aprimorado usando a API Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar describe-limits.

AWS CLI

Para descrever os limites de fragmentos

O exemplo describe-limits a seguir mostra os limites e uso de fragmentos na conta da AWS atual.

aws kinesis describe-limits

Saída:

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

Para obter mais informações, consulte Refragmentar um fluxo no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte DescribeLimits na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar describe-stream-consumer.

AWS CLI

Para descrever um consumidor de fluxo de dados

O exemplo describe-stream-consumer a seguir retorna a descrição do consumidor especificado, registrado com o fluxo de dados especificado.

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

Saída:

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

Para obter mais informações, consulte Ler dados do Amazon Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar describe-stream-summary.

AWS CLI

Para descrever um resumo de um fluxo de dados

O exemplo describe-stream-summary a seguir fornece uma descrição resumida (sem a lista de fragmentos) do fluxo de dados especificado.

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

Saída:

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

Para obter mais informações, consulte Criar e gerenciar fluxos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar describe-stream.

AWS CLI

Como descrever um fluxo de dados

O exemplo de describe-stream a seguir retorna detalhes sobre o fluxo de dados especificado.

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

Saída:

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

Para obter mais informações, consulte Criar e gerenciar fluxos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para obter detalhes da API, consulte DescribeStream na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar disable-enhanced-monitoring.

AWS CLI

Para desativar o monitoramento aprimorado para métricas em nível de fragmentos

O exemplo disable-enhanced-monitoring a seguir desativa o monitoramento aprimorado do fluxo de dados do Kinesis para métricas em nível de fragmentos.

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

Saída:

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

Para obter mais informações, consulte Monitorar fluxos no Amazon Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar enable-enhanced-monitoring.

AWS CLI

Como ativar o monitoramento aprimorado para métricas em nível de fragmentos

O exemplo enable-enhanced-monitoring a seguir ativa o monitoramento aprimorado do fluxo de dados do Kinesis para métricas em nível de fragmentos.

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

Saída:

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

Para obter mais informações, consulte Monitorar fluxos no Amazon Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar get-records.

AWS CLI

Como obter registros de um fragmento

O exemplo de get-records a seguir obtém registros de dados do fragmento de um fluxo de dados do Kinesis usando o iterador de fragmento especificado.

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

Saída:

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

Para obter mais informações, consulte Developing Consumers Using the Kinesis Data Streams API with the AWS SDK for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte GetRecords na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-shard-iterator.

AWS CLI

Para obter um iterador de fragmentos

O exemplo get-shard-iterator a seguir usa o tipo iterador de fragmento AT_SEQUENCE_NUMBER e gera um iterador de fragmento para começar a ler os registros de dados exatamente da posição indicada pelo número de sequência especificado.

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

Saída:

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

Para obter mais informações, consulte Developing Consumers Using the Kinesis Data Streams API with the AWS SDK for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte GetShardIterator na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar increase-stream-retention-period.

AWS CLI

Como aumentar o período de retenção do fluxo de dados

O exemplo increase-stream-retention-period a seguir aumenta o período de retenção (o período em que os registros de dados ficam acessíveis depois de serem adicionados ao fluxo) do fluxo especificado para 168 horas.

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

Este comando não produz saída.

Para obter mais informações, consulte Alterar o período de retenção de dados no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar list-shards.

AWS CLI

Para listar fragmentos em um fluxo de dados

O exemplo list-shards a seguir lista todos os fragmentos no fluxo especificado, começando com o fragmento cujo ID segue imediatamente o exclusive-start-shard-id especificado por shardId-000000000000.

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

Saída:

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

Para obter mais informações, consulte Listar fragmentos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte ListShards na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-streams.

AWS CLI

Para listar fluxos de dados

O exemplo de list-streams a seguir lista todos os fluxos de dados ativos na conta e região atuais.

aws kinesis list-streams

Saída:

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

Para obter mais informações, consulte Listar fluxos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para obter detalhes da API, consulte ListStreams na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-tags-for-stream.

AWS CLI

Para listar tags para um fluxo de dados

O exemplo list-tags-for-stream a seguir lista as tags anexadas ao fluxo de dados especificado.

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

Saída:

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

Para obter mais informações, consulte Adicionar tags a fluxos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte ListTagsForStream na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar merge-shards.

AWS CLI

Para mesclar dois fragmentos

O exemplo merge-shards a seguir mescla dois fragmentos adjacentes com IDs de ShardID-000000000000 e ShardID-000000000001 no fluxo de dados especificado e os combina em um único fragmento.

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

Este comando não produz saída.

Para obter mais informações, consulte Mesclar dois fragmentos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte MergeShards na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-record.

AWS CLI

Como gravar um registro em um fluxo de dados

O exemplo de put-record a seguir grava um único registro de dados no fluxo de dados especificado usando a chave de partição especificada.

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

Saída:

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

Para obter mais informações, consulte Desenvolver produtores usando a API do Amazon Kinesis Data Streams com o AWS SDK for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para obter detalhes da API, consulte PutRecord na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-records.

AWS CLI

Para gravar vários registros em um fluxo de dados

O exemplo put-records a seguir grava um registro de dados usando a chave de partição especificada e outro registro de dados usando uma chave de partição diferente em uma única chamada.

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

Saída:

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

Para obter mais informações, consulte Desenvolver produtores usando a API do Amazon Kinesis Data Streams com o AWS SDK for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte PutRecords na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar register-stream-consumer.

AWS CLI

Para registrar um consumidor de fluxo de dados

O exemplo register-stream-consumer a seguir registra um consumidor chamado KinesisConsumerApplication com o fluxo de dados especificado.

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

Saída:

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

Para obter mais informações, consulte Desenvolver consumidores com Fan-Out aprimorado usando a API Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar remove-tags-from-stream.

AWS CLI

Para remover tags de um fluxo de dados

O exemplo remove-tags-from-stream a seguir remove a tag com uma chave especificada do fluxo de dados especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Adicionar tags a fluxos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar split-shard.

AWS CLI

Como dividir fragmentos

O exemplo split-shard a seguir divide o fragmento especificado em dois novos fragmentos usando uma nova chave de hash inicial de 10.

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

Este comando não produz saída.

Para obter mais informações, consulte Dividir um fragmento no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte SplitShard na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar start-stream-encryption.

AWS CLI

Para habilitar a criptografia de fluxo de dados

O exemplo start-stream-encryption a seguir ativa a criptografia do lado do servidor para o fluxo especificado, usando a chave do AWS KMS especificada.

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

Este comando não produz saída.

Para obter mais informações, consulte Proteção de dados no Amazon Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar stop-stream-encryption.

AWS CLI

Para desativar a criptografia do fluxo de dados

O exemplo stop-stream-encryption a seguir desativa a criptografia do lado do servidor para o fluxo especificado, usando a chave do AWS KMS especificada.

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

Este comando não produz saída.

Para obter mais informações, consulte Proteção de dados no Amazon Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

O código de exemplo a seguir mostra como usar update-shard-count.

AWS CLI

Para atualizar a contagem de fragmentos em um fluxo de dados

O exemplo update-shard-count a seguir atualiza a contagem de fragmentos do fluxo de dados especificado para 6. Este exemplo usa escala uniforme, que cria fragmentos do mesmo tamanho.

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

Saída:

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

Para obter mais informações, consulte Refragmentar um fluxo no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para ver detalhes da API, consulte UpdateShardCount na Referência de comandos da AWS CLI.