Creación y administración de transmisiones en QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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.

Creación y administración de transmisiones en QLDB

Amazon QLDB proporciona operaciones de API para crear y administrar un flujo de datos de diario desde su libro mayor a Amazon Kinesis Data Streams. La transmisión QLDB captura cada revisión del documento que está comprometida con su revista y la envía a una transmisión de datos de Kinesis.

Puede utilizar elAWS Management Console, unAWSSDK o elAWS Command Line Interface(AWS CLI) para crear una secuencia de diario. Además, también puede utilizar unaAWS CloudFormationplantilla para crear transmisiones. Para obtener más información, consulte laAWS::QLDB::Streamrecurso en elAWS CloudFormationGuía del usuario de.

Parámetros de secuencias

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

Nombre de libro mayor

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

Nombre de transmisión

Nombre que desea asignar a la transmisión de diario QLDB. Los nombres definidos por el usuario pueden ayudar a identificar e indicar el propósito de una transmisión.

El nombre de la transmisión debe ser único entre otras transmisiones activas de una contabilidad determinada. Los nombres de la transmisión tienen las mismas restricciones de denominación que los nombres de contabilidad, tal como se definen enCuotas y límites de Amazon QLDB.

Además del nombre de la transmisión, QLDB asigna unID de transmisióna cada transmisión de QLDB que cree. El ID de transmisión es único entre todas las transmisiones de un libro mayor determinado, independientemente de su estado.

Fecha y hora de inicio

Fecha y hora a partir de la cual se iniciará la transmisión de datos de diario. Este valor puede ser cualquier fecha y hora del pasado, pero no puede ser del future.

Fecha y hora de finalización

(Opcional) La fecha y hora que especifican cuándo termina la transmisión.

Si creas una transmisión indefinida sin hora de finalización, debes cancelarla manualmente para finalizar la transmisión. También puedes cancelar una transmisión activa y finita que aún no haya alcanzado la fecha y hora de finalización especificadas.

Kinesis Data Stream

El recurso de destino de Kinesis Data Streams en el que la transmisión escribe los registros de datos. Para aprender a crear una transmisión de datos de Kinesis, consulte.Creación y actualización de secuencias de datos deen laGuía para desarrolladores de Amazon Kinesis Data Streams.

importante
  • No se admiten transmisiones entre regiones y entre cuentas. La secuencia de datos de Kinesis especificada debe encontrarse en el mismoAWSRegión y cuenta como libro mayor.

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

    La incorporación de registros tiene importantes implicaciones para el procesamiento de registros yrequiere la desagrupación en su consumidor de flujos. Para obtener más información, consulteConceptos clave de KPLyDesagrupación del consumidoren laGuía para desarrolladores de Amazon Kinesis Data Streams.

Rol de IAM

La función de IAM que permite a QLDB asumir permisos de escritura para la transmisión de datos de Kinesis. Puede usar la consola de QLDB para crear automáticamente esta función, o puede crearla manualmente en IAM. Para obtener más información sobre cómo crearlo manualmente, consultePermisos de secuencias.

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

ARN de flujo

Cada secuencia del diario de QLDB es un subrecurso de un libro de contabilidad y se identifica de forma inequívoca mediante un nombre de recurso de Amazon (ARN). A continuación se muestra un ejemplo de ARN de una secuencia QLDB con un ID de secuencia deIiPT4brpZCqCq3f4MTHbYypara un libro mayor llamadoexampleLedger.

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

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

AWS Management Console

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

Para crear una secuencia (consola)

  1. Inicie en.AWS Management Consoley abra la consola de Amazon QLDB enhttps://console.aws.amazon.com/qldb.

  2. Elija Streams (Flujos) en el panel de navegación.

  3. ElegirCrear un flujo de QLDB.

  4. En la páginaCrear un flujo de QLDB, especifique la siguiente configuración:

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

    • Registro: el libro mayor cuyos datos de diario desea transmitir.

    • Fecha y hora de inicio: la marca de tiempo inclusiva en tiempo universal coordinado (UTC) a partir de la cual se iniciará la transmisión de datos del diario. Esta marca de tiempo tiene por defecto la fecha y hora actuales. No puede ir en el future y debe ir antes deFecha y hora de finalización.

    • Fecha y hora de finalización: (Opcional) La marca de tiempo exclusiva (UTC) que especifica cuándo termina la transmisión. Si deja este parámetro en blanco, la transmisión se ejecutará indefinidamente hasta que lo cancele.

    • Flujo de destino: el recurso de destino de Kinesis Data Streams en el que la transmisión escribe los registros de datos. Utilice el siguiente formato de ARN.

      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 admiten transmisiones entre regiones y entre cuentas. La secuencia de datos de Kinesis especificada debe encontrarse en el mismoAWSRegión y cuenta como libro mayor.

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

    • Acceso a los servicios: el rol de IAM que concede permisos de escritura a QLDB para la transmisión de datos de Kinesis.

      Para transferir un rol a QLDB cuando solicite un flujo del diario, debe tener permisos para realizariam:PassRoleacción en el recurso de rol de IAM.

      • Creación y uso de una nueva función de serviciopermita que la consola cree una nueva función para usted con los permisos necesarios para la transmisión de datos de Kinesis especificada.

      • Utilizar un rol de servicio existente— Para obtener información sobre cómo crear manualmente este rol en IAM, consultePermisos de secuencias.

    • Etiquetas: (Opcional) Añadir metadatos a la transmisión asociando las etiquetas como pares de clave-valor. También puede añadir etiquetas a la transmisión para organizarlas e identificarlas. Para obtener más información, consulte Etiquetado de recursos de Amazon QLDB.

      ElegirAgregue etiquetay, a continuación, introduzca los pares clave-valor según corresponda.

  5. Cuando la configuración sea la que desea, elijaCrear un flujo de QLDB.

    Si el envío de la solicitud se realiza correctamente, la consola vuelve alflujosy enumera sus transmisiones de QLDB con su estado actual.

  6. Una vez que la transmisión esté activa, use Kinesis para procesar los datos de la transmisión con unsolicitud de consumidor.

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

Para obtener más información sobre el formato de los registros de datos de transmisión, consulteRegistros de transmisión de QLDB en Kinesis.

Para obtener información sobre cómo gestionar las transmisiones que producen un error, consultaControl de flujos con problemas.

Para cancelar una secuencia de (consola)

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

  1. Abrir la consola de Amazon QLDB enhttps://console.aws.amazon.com/qldb.

  2. Elija Streams (Flujos) en el panel de navegación.

  3. En la lista de flujos de QLDB, seleccione el flujo activo que desea cancelar.

  4. ElegirCancelar la transmisión. Confirme esto ingresandocancel streamen la caja proporcionada.

Para obtener información acerca del uso de la API de QLDB con unAWSSDK de.AWS CLIpara crear y gestionar las transmisiones de diario, consulteDesarrollo con streams en QLDB.

Estado de la transmisión

El estado de un flujo de QLDB puede ser uno de los siguientes:

  • ACTIVE— Actualmente está transmitiendo o esperando para transmitir datos (para una transmisión indefinida sin hora de finalización).

  • COMPLETED— Ha finalizado correctamente la transmisión de todos los bloques de diario dentro del intervalo de tiempo especificado. Se trata de un estado terminal.

  • CANCELED— La ha finalizado una solicitud del usuario antes de la hora de finalización especificada y ya no se están 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 no terminal recuperable.

    Si resuelves el error en el plazo de una hora, la transmisión se mueve automáticamente aACTIVEestado. Si el error sigue sin resolverse después de una hora, la transmisión pasa automáticamente aFAILEDestado.

  • 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 flujo de QLDB puede realizar la transición entre estados.


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

Vencimiento de transmisiones de terminal

Transmitir recursos que estén en un estado terminal (CANCELED,COMPLETED, yFAILED) están sujetos a un período de retención de 7 días. Se eliminan automáticamente de forma permanente después de que venza este límite.

Después de eliminar una transmisión de terminal, ya no puede usar la consola de QLDB o la API de QLDB para describir o enumerar el recurso de transmisión.

Control de flujos con problemas

Si su retransmisión se encuentra con un error, pasa aIMPAIREDestado primero. QLDB continúa reintentándoloIMPAIREDretransmisiones de hasta una hora.

Si resuelves el error en el plazo de una hora, la transmisión se mueve automáticamente aACTIVEestado. Si el error sigue sin resolverse después de una hora, la transmisión pasa automáticamente aFAILEDestado.

Una transmisión dañada o fallida puede tener una de las siguientes causas de error:

  • KINESIS_STREAM_NOT_FOUND— El recurso de destino de Kinesis Data Streams no existe. Compruebe que la transmisión de datos de Kinesis que proporcionó en su solicitud de transmisión de QLDB sea correcta. A continuación, vaya a Kinesis y cree la transmisión 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 el servicio de QLDB (qldb.amazonaws.com) para las siguientes acciones de:

    • kinesis:PutRecord

    • kinesis:PutRecords

    • kinesis:DescribeStream

    • kinesis:ListShards

Monitoreo de secuencias dañadas

Si una transmisión se deteriora, la consola de QLDB muestra un banner que muestra detalles sobre la transmisión y el error que encontró. También puede utilizar laDescribeJournalKinesisStreamOperación de la API para obtener el estado de una transmisión y la causa del error subyacente.

Además, puede utilizar Amazon CloudWatch para crear una alarma que monitorice elIsImpairedmétrica de una transmisión. Para obtener más información acerca del monitoreo de métricas de QLDB con CloudWatch, consulteDimensiones y métricas de Amazon QLDB.