Ejemplos de Kinesis utilizando AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Kinesis utilizando AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el AWS Command Line Interface uso de Kinesis.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar add-tags-to-stream.

AWS CLI

Agregar etiquetas a un flujo de datos

El siguiente ejemplo de add-tags-to-stream asigna una etiqueta con la clave samplekey y el valor example al flujo especificado.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquetar sus flujos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte AddTagsToStreamla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-stream.

AWS CLI

Creación de un flujo de datos

En el siguiente ejemplo de create-stream se crea un flujo de datos denominado samplestream con 3 particiones.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Creación de una secuencia en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte CreateStreamla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar decrease-stream-retention-period.

AWS CLI

Para reducir el período de retención del flujo de datos

El siguiente decrease-stream-retention-period ejemplo reduce el período de retención (el tiempo durante el cual se puede acceder a los registros de datos después de añadirlos a la transmisión) de una transmisión denominada samplestream a 48 horas.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Cambiar el período de retención de datos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar delete-stream.

AWS CLI

Eliminación de un flujo de datos

En el siguiente ejemplo de delete-stream se elimina el flujo de datos especificado.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Eliminación de una secuencia en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte DeleteStreamla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar deregister-stream-consumer.

AWS CLI

Anular el registro de un consumidor de flujos de datos

En el ejemplo de deregister-stream-consumer siguiente se anula el registro del consumidor especificado del flujo de datos también especificado.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Desarrollo de consumidores con una distribución mejorada mediante Kinesis Data API Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar describe-limits.

AWS CLI

Para describir los límites de los fragmentos

En el siguiente describe-limits ejemplo, se muestran los límites y el uso de los fragmentos de la cuenta corriente AWS .

aws kinesis describe-limits

Salida:

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

Para obtener más información, consulte Repartición de una transmisión en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte Command DescribeLimitsReference AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar describe-stream-consumer.

AWS CLI

Para describir a un consumidor de flujos de datos

El siguiente describe-stream-consumer ejemplo devuelve la descripción del consumidor especificado, registrado en el flujo de datos especificado.

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

Salida:

{ "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 obtener más información, consulte Lectura de datos de Amazon Kinesis Data Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar describe-stream-summary.

AWS CLI

Para describir un resumen de un flujo de datos

El siguiente describe-stream-summary ejemplo proporciona una descripción resumida (sin la lista de fragmentos) del flujo de datos especificado.

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

Salida:

{ "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 obtener más información, consulte Creación y administración de secuencias en la Guía para desarrolladores Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar describe-stream.

AWS CLI

Descripción de un flujo de datos

En el siguiente ejemplo de describe-stream se devuelven los detalles del flujo de datos especificado.

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

Salida:

{ "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 obtener más información, consulte Creación y administración de secuencias en la Guía para desarrolladores Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte DescribeStreamla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar disable-enhanced-monitoring.

AWS CLI

Para deshabilitar la supervisión mejorada de las métricas a nivel de fragmento

El siguiente disable-enhanced-monitoring ejemplo desactiva la supervisión mejorada del flujo de datos de Kinesis para las métricas a nivel de fragmento.

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

Salida:

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

Para obtener más información, consulte Supervisión de transmisiones en Amazon Kinesis Data Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar enable-enhanced-monitoring.

AWS CLI

Para permitir una supervisión mejorada de las métricas a nivel de fragmento

El siguiente enable-enhanced-monitoring ejemplo permite una supervisión mejorada del flujo de datos de Kinesis para las métricas a nivel de fragmento.

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

Salida:

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

Para obtener más información, consulte Supervisión de transmisiones en Amazon Kinesis Data Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar get-records.

AWS CLI

Obtención de registros de una partición

En el siguiente ejemplo de get-records se obtienen registros de datos de la partición de un flujo de datos de Kinesis mediante el iterador de partición especificado.

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

Salida:

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

Para obtener más información, consulte Desarrollo de consumidores que utilizan Kinesis Data API Streams con AWS SDK la versión para Java en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia GetRecordsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-shard-iterator.

AWS CLI

Obtener un iterador de particiones

El siguiente ejemplo de get-shard-iterator utiliza el tipo de iterador de particiones AT_SEQUENCE_NUMBER y genera un iterador de particiones para empezar a leer los registros de datos exactamente desde la posición indicada por el número de secuencia especificado.

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

Salida:

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

Para obtener más información, consulte Desarrollo de consumidores que utilizan Kinesis Data API Streams con AWS SDK la versión para Java en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia GetShardIteratorde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar increase-stream-retention-period.

AWS CLI

Para aumentar el período de retención del flujo de datos

El siguiente increase-stream-retention-period ejemplo aumenta el período de retención (el tiempo durante el cual se puede acceder a los registros de datos después de agregarlos a la transmisión) de la transmisión especificada a 168 horas.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Cambiar el período de retención de datos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar list-shards.

AWS CLI

Para enumerar los fragmentos de un flujo de datos

En el siguiente list-shards ejemplo, se enumeran todos los fragmentos de la secuencia especificada, empezando por el fragmento cuyo identificador sigue inmediatamente al especificado. exclusive-start-shard-id shardId-000000000000

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

Salida:

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

Para obtener más información, consulte Cómo publicar fragmentos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia ListShardsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-streams.

AWS CLI

Creación de una lista de flujos de datos

En el siguiente ejemplo de list-streams se enumeran todos los flujos de datos activos de la cuenta y la región actuales.

aws kinesis list-streams

Salida:

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

Para obtener más información, consulte Visualización de secuencias en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte ListStreamsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-tags-for-stream.

AWS CLI

Enumerar las etiquetas de flujo de datos

En el siguiente ejemplo de list-tags-for-stream se enumeran las etiquetas adjuntas al flujo de datos especificado.

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

Salida:

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

Para obtener más información, consulte Etiquetar sus flujos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte ListTagsForStreamla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar merge-shards.

AWS CLI

Para fusionar fragmentos

En el siguiente merge-shards ejemplo, se combinan dos fragmentos adyacentes IDs de shardId -000000000000 y shardId -000000000001 en el flujo de datos especificado y los combina en un solo fragmento.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Fusión de dos fragmentos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia de MergeShardscomandos AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar put-record.

AWS CLI

Escritura de un registro en un flujo de datos

En el siguiente ejemplo de put-record se escribe un único registro de datos en el flujo de datos especificado mediante la clave de partición especificada.

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

Salida:

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

Para obtener más información, consulte Desarrollo de productores que utilizan Amazon Kinesis Data API Streams con para Java en AWS SDK la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia PutRecordde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-records.

AWS CLI

Escribir varios registros en un flujo de datos

En el siguiente ejemplo de put-records, se escribe un registro de datos con la clave de partición especificada y otro registro de datos con una clave de partición diferente en una sola llamada.

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

Salida:

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

Para obtener más información, consulte Desarrollo de productores que utilizan Amazon Kinesis Data API Streams con para Java en AWS SDK la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia PutRecordsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar register-stream-consumer.

AWS CLI

Registrar un consumidor de flujo de datos

El siguiente ejemplo de register-stream-consumer registra a un consumidor llamado KinesisConsumerApplication con el flujo de datos especificado.

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

Salida:

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

Para obtener más información, consulte Desarrollo de consumidores con una distribución mejorada mediante Kinesis Data API Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar remove-tags-from-stream.

AWS CLI

Para eliminar etiquetas de un flujo de datos

En el siguiente remove-tags-from-stream ejemplo, se quita la etiqueta con la clave especificada del flujo de datos especificado.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquetar sus flujos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte RemoveTagsFromStreamla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar split-shard.

AWS CLI

Para dividir fragmentos

En el siguiente split-shard ejemplo, se divide el fragmento especificado en dos fragmentos nuevos mediante una nueva clave hash inicial de 10.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte División de un fragmento en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia de SplitShardcomandos AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar start-stream-encryption.

AWS CLI

Para habilitar el cifrado del flujo de datos

El siguiente start-stream-encryption ejemplo habilita el cifrado del lado del servidor para el flujo especificado mediante la clave 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 no genera ninguna salida.

Para obtener más información, consulte Protección de datos en Amazon Kinesis Data Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

En el siguiente ejemplo de código se muestra cómo usar stop-stream-encryption.

AWS CLI

Para deshabilitar el cifrado del flujo de datos

El siguiente stop-stream-encryption ejemplo deshabilita el cifrado del lado del servidor para la transmisión especificada mediante la clave 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 no genera ninguna salida.

Para obtener más información, consulte Protección de datos en Amazon Kinesis Data Streams en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte la Referencia StopStreamEncryptionde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-shard-count.

AWS CLI

Para actualizar el recuento de fragmentos en un flujo de datos

En el siguiente update-shard-count ejemplo, se actualiza el recuento de fragmentos del flujo de datos especificado a 6. En este ejemplo, se utiliza una escala uniforme, que crea fragmentos del mismo tamaño.

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

Salida:

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

Para obtener más información, consulte Repartición de una transmisión en la Guía para desarrolladores de Amazon Kinesis Data Streams.

  • Para API obtener más información, consulte Command UpdateShardCountReference AWS CLI .