Exemplos de Kinesis usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

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, é possível 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 Criar um fluxo 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 fluxo 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 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 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 Desenvolvendo 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 Desenvolvendo 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 fluxos 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.