Crear y administrar transmisiones en QLDB - Base de datos Amazon Quantum Ledger (AmazonQLDB)

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.

Crear y administrar transmisiones en QLDB

importante

Aviso de fin de soporte: los clientes actuales podrán usar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

Amazon QLDB ofrece API operaciones para crear y gestionar un flujo de datos de diarios desde su libro mayor a Amazon Kinesis Data Streams. La QLDB transmisión captura todas las revisiones de documentos que están archivadas en su diario y las envía a una transmisión de datos de Kinesis.

Puede utilizar el AWS Management Console, y AWS SDK, o el AWS Command Line Interface (AWS CLI) para crear un flujo de diario. Además, también puede utilizar un AWS CloudFormationplantilla para crear transmisiones. Para obtener más información, consulte el recurso AWS:QLDB: :Stream en la AWS CloudFormation Guía del usuario.

Parámetros de flujo

Para crear un flujo de QLDB diario, debe proporcionar los siguientes parámetros de configuración:

Nombre del libro mayor

El QLDB libro mayor cuyos datos de diario desea transmitir a Kinesis Data Streams.

Nombre de flujo

El nombre que desea asignar al flujo del QLDB diario. Los nombres definidos por el usuario pueden ayudar a identificar e indicar el propósito de un flujo.

El nombre del flujo debe ser único entre otros flujos activos de un libro mayor determinado. Los nombres de los flujos tienen las mismas restricciones de denominación que los nombres de los libros mayores, tal como se definen en Cuotas y límites en Amazon QLDB.

Además del nombre de la transmisión, QLDB asigna un ID de transmisión a cada QLDB transmisión que cree. El ID de flujo es único entre todos los flujos de un registro determinado, independientemente de su estado.

Fecha y hora de inicio

La fecha y la hora a partir de las cuales se iniciará el flujo de datos del diario. Este valor puede ser cualquier fecha y hora del pasado, pero no puede estar en el futuro.

Fecha y hora de finalización

(Opcional) La fecha y hora exclusivas que especifican cuándo termina el flujo.

Si crea un flujo indefinido sin hora de finalización, debe cancelarlo manualmente para finalizarlo. También puede cancelar un flujo finito y activo que aún no haya alcanzado la fecha y hora de finalización especificadas.

Flujo de datos de Kinesis de destino

El recurso de destino de Kinesis Data Streams en el que el flujo escribe los registros de datos. Para obtener información acerca de la creación de un flujo de datos de Kinesis, consulte Creación y actualización de secuencias de datos en la Guía para desarrolladores de Amazon Kinesis Data Streams.

importante
  • No se admite el flujo entre cuentas ni entre regiones. La transmisión de datos de Kinesis especificada debe estar en el mismo Región de AWS y una cuenta como libro mayor.

  • La agregación de registros en Kinesis Data Streams está habilitada de forma predeterminada. Esta opción permite QLDB publicar varios registros de datos en un único registro de Kinesis Data Streams, lo que aumenta el número de registros enviados API por llamada.

    La agregación de registros tiene importantes implicaciones para el procesamiento de registros y requiere la desagrupación en su consumidor de flujos. Para obtener más información, consulte los conceptos KPL clave y la desagregación de consumidores en la Guía para desarrolladores de Amazon Kinesis Data Streams.

IAMrol

La IAM función que le permite QLDB asumir permisos de escritura en su transmisión de datos de Kinesis. Puede usar la QLDB consola para crear automáticamente este rol o puede crearlo manualmente. IAM Para aprender a crearlo manualmente, consulte Permisos de secuencia.

Para transferir un rol QLDB al solicitar una transmisión de diario, debe tener permisos para realizar la iam:PassRole acción en el recurso del IAM rol.

Transmisión ARN

Cada flujo de QLDB diario es un subrecurso de un libro mayor y se identifica de forma única mediante un nombre de recurso de Amazon ()ARN. A continuación se muestra un ejemplo ARN de un QLDB flujo con un identificador de flujo IiPT4brpZCqCq3f4MTHbYy de un registro denominado. exampleLedger

arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy

En la siguiente sección, se describe cómo crear y cancelar una QLDB transmisión mediante AWS Management Console.

AWS Management Console

Siga estos pasos para crear o cancelar una QLDB transmisión mediante la QLDB consola.

Creación de una etiqueta (consola)
  1. Inicia sesión en AWS Management Console y abre la QLDB consola de Amazon en https://console.aws.amazon.com/qldb.

  2. Elija Flujos en el panel de navegación.

  3. Elija Create QLDB stream.

  4. En la página Crear QLDB transmisión, introduce los siguientes ajustes:

    • Nombre de la transmisión: el nombre que desea asignar a la QLDB transmisión.

    • Libro mayor: el libro mayor cuyos datos del diario desea transmitir.

    • Fecha y hora de inicio: marca horaria incluida de la Hora Universal Coordinada (UTC) a partir de la cual se comienzan a transmitir los datos del diario. Esta marca de hora tiene por defecto la hora y fecha actuales. No puede ser en el futuro y debe ser anterior a la fecha y hora de finalización.

    • Fecha y hora de finalización: (opcional) La marca de tiempo exclusiva (UTC) que especifica cuándo finaliza la transmisión. Si no define este parámetro, el flujo se ejecutará indefinidamente hasta que lo cancele.

    • Secuencia de destino: el recurso de destino de Kinesis Data Streams en el que el flujo escribe los registros de datos. Usa el siguiente ARN formato.

      arn:aws:kinesis:aws-region:account-id:stream/kinesis-stream-name

      A continuación, se muestra un ejemplo.

      arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb

      No se admite el flujo entre cuentas ni entre regiones. La transmisión de datos de Kinesis especificada debe estar en el mismo Región de AWS y una cuenta como libro mayor.

    • Habilitar la agregación de registros en Kinesis Data Streams: (habilitada de forma predeterminada) QLDB permite publicar varios registros de datos en un único registro de Kinesis Data Streams, lo que aumenta el número de registros enviados por llamada. API

    • Acceso al servicio: el IAM rol que otorga permisos de QLDB escritura a la transmisión de datos de Kinesis.

      Para transferir un rol QLDB al solicitar una transmisión de diario, debe tener permisos para realizar la iam:PassRole acción en el recurso del IAM rol.

      • Cree y utilice un nuevo rol de servicio: deje que la consola cree un nuevo rol para usted con los permisos necesarios para el flujo de datos de Kinesis especificado.

      • Utilizar un rol de servicio existente: para obtener información sobre cómo crear este rol de forma manual enIAM, consultePermisos de secuencia.

    • Etiquetas: (opcional) agregue metadatos al flujo asociando etiquetas como pares de clave-valor. Puede añadir etiquetas a los flujos para facilitar su organización e identificación. Para obtener más información, consulte Etiquetado de los recursos de Amazon QLDB.

      Elija Agregar etiqueta y, a continuación, introduzca cualquier par clave-valor según corresponda.

  5. Cuando la configuración sea la deseada, selecciona Crear QLDB transmisión.

    Si la solicitud se envía correctamente, la consola vuelve a la página principal de Streams y muestra las QLDB transmisiones con su estado actual.

  6. Una vez que la secuencia esté activa, utilice Kinesis para procesar los datos del flujo con una aplicación para consumidores.

    Abra la consola https://console.aws.amazon.com/kinesis/de Kinesis Data Streams en.

Para obtener información sobre el formato de los registros de datos de secuencia, consulte QLDBreproducir registros en Kinesis.

Para obtener información sobre cómo administrar las secuencias que provocan un error, consulte Gestión de secuencias dañadas.

Cómo cancelar una etiqueta (consola)

No puede reiniciar una QLDB transmisión después de cancelarla. Para reanudar la entrega de sus datos a Kinesis Data Streams, puede crear una QLDB nueva transmisión.

  1. Abre la QLDB consola de Amazon en https://console.aws.amazon.com/qldb.

  2. Elija Flujos en el panel de navegación.

  3. En la lista de QLDB transmisiones, selecciona la transmisión activa que deseas cancelar.

  4. Seleccione Cancelar paso. Confirme ingresando cancel stream en el cuadro provisto.

Para obtener información sobre el uso de la QLDB API con un AWS SDKo el AWS CLI para crear y gestionar flujos de diarios, consulteDesarrollando con transmisiones en QLDB.

Estado de la secuencia

El estado de una QLDB transmisión puede ser uno de los siguientes:

  • ACTIVE: está transmitiendo datos actualmente o esperando para transmitirlos (si se trata de una secuencia indefinida sin hora de finalización).

  • COMPLETED: ha finalizado correctamente la secuencia de todos los bloques del diario dentro del intervalo de tiempo especificado. Se trata de un estado terminal.

  • CANCELED: ha sido finalizada por una solicitud de un usuario antes de la hora de finalización especificada y ya no está transmitiendo datos de forma activa. Se trata de un estado terminal.

  • IMPAIRED: no puede escribir registros en Kinesis debido a un error que requiere su acción. Se trata de un estado recuperable y no terminal.

    Si resuelve el error en el plazo de una hora, la secuencia pasará automáticamente al estado ACTIVE. Si el error sigue sin resolverse después de una hora, la secuencia pasa automáticamente al estado FAILED.

  • FAILED: no puede escribir registros en Kinesis debido a un error y se encuentra en un estado terminal irrecuperable.

El siguiente diagrama ilustra cómo un recurso de QLDB flujo puede realizar la transición entre estados.

Diagrama de estados que muestra cómo un recurso de QLDB flujo puede realizar la transición entre los estados activo, cancelado, completado, deteriorado y fallido.

Vencimiento de las secuencias terminales

Los recursos de secuencia que se encuentran en un estado terminal (CANCELED, COMPLETED y FAILED) están sujetos a un período de retención de 7 días. Una vez transcurrido este límite, se eliminan automáticamente de forma permanente.

Tras eliminar una transmisión de terminal, ya no podrá utilizar la QLDB consola ni la QLDB API para describir o enumerar el recurso de transmisión.

Gestión de secuencias dañadas

Si la secuencia encuentra un error, pasará primero al estado IMPAIRED. QLDBcontinúa reintentando las IMPAIRED transmisiones durante un máximo de una hora.

Si resuelve el error en el plazo de una hora, la secuencia pasará automáticamente al estado ACTIVE. Si el error sigue sin resolverse después de una hora, la secuencia pasa automáticamente al estado FAILED.

Una secuencia defectuosa o fallida puede tener una de las siguientes causas de error:

  • KINESIS_STREAM_NOT_FOUND: el recurso de Kinesis Data Streams de destino no existe. Compruebe que la transmisión de datos de Kinesis que proporcionó en su solicitud de QLDB transmisión es correcta. A continuación, vaya a Kinesis y cree el flujo de datos que especificó.

  • IAM_PERMISSION_REVOKED— QLDB no tiene permisos suficientes para escribir registros de datos en la transmisión de datos de Kinesis especificada. Compruebe que ha definido una política para la transmisión de datos de Kinesis especificada que conceda al QLDB servicio (qldb.amazonaws.com) permisos para las siguientes acciones:

    • kinesis:PutRecord

    • kinesis:PutRecords

    • kinesis:DescribeStream

    • kinesis:ListShards

Monitorización de secuencias dañadas

Si una transmisión se interrumpe, la QLDB consola muestra un banner con detalles sobre la transmisión y el error que ha detectado. También puedes usar la DescribeJournalKinesisStream API operación para obtener el estado de una transmisión y la causa del error subyacente.

Además, puedes usar Amazon CloudWatch para crear una alarma que monitorice la IsImpaired métrica de una transmisión. Para obtener información sobre cómo monitorear QLDB las métricas con CloudWatch, consulteQLDBDimensiones y métricas de Amazon.