Amazon Kinesis es un servicio totalmente gestionado para el procesamiento de transmisiones de datos en tiempo real a una escala masiva. Puede configurar cientos de miles de generadores de datos para colocar datos de manera continua en una transmisión de Amazon Kinesis. Por ejemplo, datos de transmisiones de clics de sitios web, registros de aplicaciones y feeds de redes sociales. En menos de un segundo, los datos estarán disponibles en sus aplicaciones de Amazon Kinesis para su lectura y procesamiento desde la transmisión.

En el siguiente diagrama arquitectónico, Amazon Kinesis se utiliza como puerta de enlace de una solución de big data. Se colocan datos de diferentes fuentes en una transmisión de Amazon Kinesis para que puedan consumirse en las diferentes aplicaciones de Amazon Kinesis. En este ejemplo, una aplicación (resaltada en amarillo) ejecuta un panel de estado en tiempo real con los datos de la transmisión. Otra aplicación (destacada en rojo) realiza una agregación sencilla y emite los datos procesados a Amazon S3. Los datos presentes en Amazon S3 se continúan procesando y se almacenan en Amazon Redshift para la realización de análisis complejos. La tercera aplicación (resaltada en verde) emite datos en bruto a Amazon S3, que seguidamente se archivan en Amazon Glacier para ofrecer un almacenamiento a largo plazo más económico. Observe cómo estas tres líneas de procesamiento de datos funcionan simultáneamente y en paralelo. Amazon Kinesis permite que existan todos los consumidores de la transmisión de datos que requiera su solución sin penalizar el rendimiento.

Comience con AWS de forma gratuita

Cree una cuenta gratuita
O inicie sesión en la consola

La partición es la unidad base de caudal de una transmisión de Amazon Kinesis. Una partición cuenta con una capacidad de entrada de datos de 1 MB/s y de salida de datos de 2 MB/s. Una partición admite hasta 1 000 registros PUT por segundo. Cuando crea una transmisión, debe especificar el número de particiones que necesita. Por ejemplo, puede crear una transmisión con dos particiones. Esta transmisión tiene un rendimiento de entrada de datos de 2 MB/s y de salida de datos de 4 MB/s, y admite hasta 2 000 registros PUT por segundo. A medida que varíe el caudal de sus datos, puede agregar o eliminar dinámicamente particiones de su transmisión mediante la función de cambio de particiones.

Un registro es la unidad de datos que se almacena en una transmisión de Amazon Kinesis. Un registro se compone de un número secuencial, una clave de partición y un blob de datos. Un blob de datos son los datos de interés que el generador de datos agrega a su transmisión. El tamaño máximo de un blob de datos (la carga útil de datos posterior a la descodificación Base64) es de 1 megabyte (MB).

La clave de partición se utiliza para segregar y enrutar registros de datos a diferentes particiones de una transmisión. El generador de datos especifica la clave de partición en el momento de incluir datos en una transmisión de Amazon Kinesis. Por ejemplo, imagine que tiene una transmisión de Amazon Kinesis con dos particiones (Partición 1 y Partición 2). Puede configurar su generador de datos para que utilice dos claves de partición (clave A y clave B), con el fin de que todos los registros con clave A se incluyan en la partición 1, y todos los registros con clave B se incluyan en la partición 2.

Un número secuencial es un identificador exclusivo de cada registro de datos. Amazon Kinesis asigna el número secuencial cuando un generador de datos llama a una API PutRecord o PutRecords para añadir datos a una transmisión de Amazon Kinesis. Por lo general, los números secuenciales de una misma clave de partición aumentan a medida que pasa el tiempo; cuanto mayor sea el periodo de tiempo transcurrido entre las solicitudes de PutRecord o PutRecords, más aumentarán los números secuenciales. 


Una vez que se inscriba en Amazon Web Services, puede comenzar a utilizar Amazon Kinesis y:

  • Crear una transmisión de Amazon Kinesis a partir de Amazon Kinesis Management Console, o bien con la API CreateStream de Amazon Kinesis.
  • Configurar los generadores de datos para incluir datos en su transmisión de Amazon Kinesis sin interrupción.
  • Desarrollo de sus aplicaciones de Amazon Kinesis para que lean y procesen datos de su transmisión de Amazon Kinesis.

Los generadores de datos pueden incluir datos en las transmisiones de Amazon Kinesis mediante las API PutRecord y PutRecords , o bien con la biblioteca de generadores de Amazon Kinesis (KPL). La API PutRecord permite incluir un solo registro de datos en una llamada a la API, mientras que la API PutRecords permite varios registros de datos en una llamada a la API.

La biblioteca de generadores de Amazon Kinesis (KPL) es una biblioteca de uso sencillo y altamente configurable que le permite incluir datos en una transmisión de Amazon Kinesis. La biblioteca de generadores de Amazon Kinesis (KPL) contiene una interfaz sencilla, asíncrona y fiable que le permite lograr un alto rendimiento de generación de manera rápida con recursos del cliente mínimos.


Una aplicación de Amazon Kinesis es un consumidor de datos que se encarga de leer y procesar datos procedentes de una transmisión de Amazon Kinesis. Puede crear sus aplicaciones de Amazon Kinesis con la API de Amazon Kinesis, o bien con la biblioteca de clientes de Amazon Kinesis (KCL).

La biblioteca de clientes de Amazon Kinesis (KCL) es una biblioteca preintegrada que permite desarrollar de forma sencilla aplicaciones de Amazon Kinesis para la lectura y el procesamiento de datos procedentes de una transmisión de Amazon Kinesis. La biblioteca de clientes de Amazon Kinesis (KCL) se encarga de gestionar las cuestiones complejas, como la adaptación a los cambios del caudal de la transmisión, el equilibrio de la carga de los datos transmitidos, la coordinación de servicios distribuidos y el procesamiento de datos con tolerancia a fallos. La biblioteca de clientes de Amazon Kinesis (KCL) le permite centrarse en la lógica empresarial mientras crea aplicaciones de Amazon Kinesis.

La biblioteca de conectores de Amazon Kinesis es una biblioteca preintegrada que permite integrar de forma sencilla Amazon Kinesis con otros servicios de AWS y herramientas de terceros. La biblioteca de clientes de Amazon Kinesis (KCL) es necesaria para el uso de esta biblioteca. La versión actual de esta biblioteca proporciona conectores para Amazon DynamoDB, Amazon Redshift, Amazon S3 y Elasticsearch. La biblioteca también incluye conectores de muestra de cada tipo, más archivos de compilación de Apache Ant para ejecutar las muestras.

Amazon Kinesis Storm Spout es una biblioteca preintegrada que permite integrar de forma sencilla Amazon Kinesis con Apache Storm. La versión actual de Amazon Kinesis Storm Spout obtiene datos de la transmisión de Amazon Kinesis y los emite como tuplas. Se añade el canal (spout) a la topología de Storm para poder utilizar Amazon Kinesis como un servicio fiable y escalable de captura, almacenamiento y reproducción de transmisiones.


Amazon Kinesis se integra con Amazon CloudWatch para recopilar, ver y analizar métricas de CloudWatch correspondientes a sus transmisiones de Amazon Kinesis. Si desea más información de las métricas de Amazon Kinesis, consulte Supervisión de Amazon Kinesis con Amazon CloudWatch.

Amazon Kinesis se integra con AWS Identity and Access Management (IAM), un servicio que permite controlar de forma segura el acceso de los usuarios a sus recursos y servicios de AWS. Por ejemplo, puede crear una política que permita únicamente a un usuario o a un grupo específico incluir datos en su transmisión de Amazon Kinesis. Si desea más información acerca de cómo gestionar y controlar el acceso a su transmisión de Amazon Kinesis, consulte Control del acceso a los recursos de Amazon Kinesis por medio de IAM.

Amazon Kinesis se integra con Amazon CloudTrail, un servicio que registra las llamadas a API de AWS de su cuenta y le entrega archivos de registro. Si desea más información acerca de los registros de llamadas a API y una lista de las API de Amazon Kinesis compatibles, consulte Registro de las llamadas a API de Amazon Kinesis por medio de Amazon CloudTrail.

Amazon Kinesis permite etiquetar las transmisiones de Amazon Kinesis para facilitar la gestión de recursos y costes. Una etiqueta es una par clave-valor definido por el usuario que ayuda a organizar los recursos de AWS. Por ejemplo, puede etiquetar las transmisiones de Amazon Kinesis por centros de costes para clasificar en categorías y seguir los costes de Amazon Kinesis de cada centro de costes. Si desea más información acerca del etiquetado en Amazon Kinesis, consulte Etiquetado de sus transmisiones de Amazon Kinesis.