Exemplos de Kinesis usando AWS CLI - AWS Command Line Interface

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

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de Kinesis usando 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 with 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 funções 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, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

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 add-tags-to-stream exemplo 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 Como marcar seus streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte AddTagsToStreamna Referência de AWS CLI Comandos.

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 Creating a stream no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte CreateStreamna Referência de AWS CLI Comandos.

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

AWS CLI

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

O decrease-stream-retention-period exemplo a seguir diminui o período de retenção (o tempo em que os registros de dados ficam acessíveis após serem adicionados ao stream) de um stream 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 Alteração do 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 stream no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte DeleteStreamna Referência de AWS CLI Comandos.

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

AWS CLI

Para cancelar o registro de um consumidor de fluxo de dados

O deregister-stream-consumer exemplo 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 Desenvolvimento de consumidores com distribuição aprimorada usando o Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data API Streams.

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

AWS CLI

Para descrever os limites de fragmentos

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

aws kinesis describe-limits

Saída:

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

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

  • Para API obter detalhes, consulte DescribeLimitsna Referência de AWS CLI Comandos.

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

AWS CLI

Para descrever um consumidor de fluxo de dados

O describe-stream-consumer exemplo 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 Leitura de 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 do fluxo de dados

O describe-stream-summary exemplo 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 streamings 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 streamings no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte DescribeStreamna Referência de AWS CLI Comandos.

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

AWS CLI

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

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

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 Monitoramento de streams 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

Para permitir o monitoramento aprimorado de métricas em nível de fragmento

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

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 Monitoramento de streams 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 Desenvolvimento de consumidores usando o Kinesis API Data Streams AWS SDK com o for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte GetRecordsna Referência de AWS CLI Comandos.

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

AWS CLI

Para obter um iterador de fragmentos

O get-shard-iterator exemplo a seguir usa o tipo iterador de AT_SEQUENCE_NUMBER fragmento 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 Desenvolvimento de consumidores usando o Kinesis API Data Streams AWS SDK com o for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte GetShardIteratorna Referência de AWS CLI Comandos.

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

AWS CLI

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

O increase-stream-retention-period exemplo a seguir aumenta o período de retenção (o período de tempo em que os registros de dados ficam acessíveis após 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 Alteração do 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 list-shards exemplo a seguir lista todos os fragmentos no fluxo especificado, começando com o fragmento cujo ID segue imediatamente o especificado exclusive-start-shard-id de. 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 Listing Shards no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte ListShardsna Referência de AWS CLI Comandos.

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

AWS CLI

Como 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 streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte ListStreamsna Referência de AWS CLI Comandos.

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 list-tags-for-stream exemplo 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 Como marcar seus streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte ListTagsForStreamna Referência de AWS CLI Comandos.

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

AWS CLI

Para mesclar fragmentos

O merge-shards exemplo a seguir mescla dois fragmentos adjacentes com IDs 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 Mesclando dois fragmentos no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte MergeShardsna Referência de AWS CLI Comandos.

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 Desenvolvendo produtores usando o Amazon Kinesis API Data Streams AWS SDK com o for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte PutRecordna Referência de AWS CLI Comandos.

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 put-records exemplo 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 Desenvolvendo produtores usando o Amazon Kinesis API Data Streams AWS SDK com o for Java no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte PutRecordsna Referência de AWS CLI Comandos.

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

AWS CLI

Para registrar um consumidor de fluxo de dados

O register-stream-consumer exemplo 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 Desenvolvimento de consumidores com distribuição aprimorada usando o Kinesis Data Streams no Guia do desenvolvedor do Amazon Kinesis Data API 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 remove-tags-from-stream exemplo a seguir remove a tag com a 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 Como marcar seus streams no Guia do desenvolvedor do Amazon Kinesis Data Streams.

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

AWS CLI

Para dividir fragmentos

O split-shard exemplo 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 Dividindo um fragmento no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte SplitShardna Referência de AWS CLI Comandos.

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

AWS CLI

Para habilitar a criptografia de fluxo de dados

O start-stream-encryption exemplo a seguir ativa a criptografia do lado do servidor para o fluxo especificado, usando a chave especificada. 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

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 stop-stream-encryption exemplo a seguir desativa a criptografia do lado do servidor para o fluxo especificado, usando a chave especificada. 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

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 update-shard-count exemplo 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 Refragmentação de um stream no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • Para API obter detalhes, consulte UpdateShardCountna Referência de AWS CLI Comandos.