Desarrollando con 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.

Desarrollando con 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.

En esta sección se resumen las API operaciones que puede utilizar con un AWS SDKo el AWS CLI para crear y gestionar flujos de revistas en AmazonQLDB. También describe los ejemplos de aplicaciones que demuestran estas operaciones y utilizan la biblioteca de clientes de Kinesis () KCL o AWS Lambda para implementar un consumidor de streaming.

Puede utilizarlos KCL para crear aplicaciones de consumo para Amazon Kinesis Data Streams. Esto KCL simplifica la codificación al proporcionar abstracciones útiles por encima de las de Kinesis Data Streams de bajo nivel. API Para obtener más informaciónKCL, consulte Uso de la biblioteca de clientes de Kinesis en la Guía para desarrolladores de Amazon Kinesis Data Streams.

QLDBtransmisión en el diario APIs

QLDBAPIProporciona las siguientes operaciones de flujo de diario para que las utilicen los programas de aplicación:

  • StreamJournalToKinesis— Crea un flujo de diario para un QLDB libro mayor determinado. La secuencia captura cada revisión del documento consignada al diario de su libro mayor y entrega los datos a un recurso de Kinesis Data Streams especificado.

    • 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.

  • DescribeJournalKinesisStream— Devuelve información detallada sobre el flujo de una QLDB revista determinada. El resultado incluye el nombre de la transmisiónARN, el estado actual, la hora de creación y los parámetros de la solicitud de creación de la transmisión original.

  • ListJournalKinesisStreamsForLedger— Devuelve una lista de todos los descriptores de flujo del QLDB diario de un registro determinado. El resultado de cada descriptor de secuencia incluye los mismos detalles que devuelve DescribeJournalKinesisStream.

  • CancelJournalKinesisStream— Finaliza un flujo de QLDB diario determinado. Para poder cancelar una secuencia, su estado actual debe ser ACTIVE.

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

Para obtener una descripción completa de estas API operaciones, consulte laQLDBAPIReferencia de Amazon.

Para obtener información sobre la creación y administración de flujos de diarios mediante el AWS CLI, consulte la AWS CLI Referencia de comandos.

Aplicaciones de muestra

QLDBproporciona ejemplos de aplicaciones que muestran diversas operaciones mediante secuencias de registro. Estas aplicaciones son de código abierto en el AWS GitHub Sitio de muestras.

Operaciones básicas (Java)

Para ver un ejemplo de código Java que muestre las operaciones básicas de las transmisiones de QLDB diarios, consulte el GitHub repositorio amazon-qldb-dmv-sampleaws-samples/ -java. Para obtener instrucciones acerca de cómo descargar e instalar esta aplicación de ejemplo, consulte Instalación de la aplicación de muestra Amazon QLDB Java.

nota

Tras instalar la aplicación, no continúe con el paso 1 del tutorial de Java para crear un libro mayor. Este ejemplo de aplicación para streaming crea el libro mayor vehicle-registration automáticamente.

Esta aplicación de ejemplo empaqueta el código fuente completo de Tutorial de Java y sus dependencias, incluidos los siguientes módulos:

  • AWS SDK for Java— Para crear y eliminar tanto los recursos como los QLDB de Kinesis Data Streams, incluidos los libros de contabilidadQLDB, las transmisiones de diarios y las transmisiones de datos de Kinesis.

  • QLDBControlador Amazon para Java: para ejecutar transacciones de datos en un libro mayor mediante instrucciones PartiQL, incluida la creación de tablas y la inserción de documentos.

  • Biblioteca de clientes de Kinesis: para consumir y procesar datos de un flujo de datos de Kinesis.

Ejecutar el código

La StreamJournalclase contiene un código tutorial que muestra las siguientes operaciones:

  1. Cree un libro mayor llamado vehicle-registration, cree tablas y cárguelas con datos de ejemplo.

    nota

    Antes de ejecutar este código, asegúrese de que aún no tiene un libro activo denominado vehicle-registration.

  2. Cree un flujo de datos de Kinesis, un IAM rol que permita QLDB asumir permisos de escritura para el flujo de datos de Kinesis y un flujo de diario. QLDB

  3. Úselo KCL para iniciar un lector de transmisiones que procese la transmisión de datos de Kinesis y registre cada registro de QLDB datos.

  4. Utilice los datos de la secuencia para validar la cadena de hash del libro mayor de ejemplo vehicle-registration.

  5. Limpie todos los recursos deteniendo el lector de transmisiones, cancelando la transmisión del QLDB diario, eliminando el libro mayor y eliminando la transmisión de datos de Kinesis.

Para ejecutar el código del tutorial StreamJournal, introduzca el siguiente comando de Gradle desde el directorio raíz del proyecto.

./gradlew run -Dtutorial=streams.StreamJournal

Integración con el OpenSearch servicio (Python)

Para ver un ejemplo de aplicación en Python que muestre cómo integrar una QLDB transmisión con Amazon OpenSearch Service, consulta el GitHub repositorio amazon-qldb-streaming-amazonaws-samples/ -. opensearch-service-sample-python Esta aplicación utiliza un AWS Lambda función para implementar un consumidor de Kinesis Data Streams.

Para clonar el repositorio, introduzca el siguiente comando git.

git clone https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python.git

Para ejecutar la aplicación de muestra, consulte READMElas GitHub instrucciones.

Integración con Amazon SNS y Amazon SQS (Python)

Para ver un ejemplo de aplicación en Python que muestre cómo integrar una QLDB transmisión con Amazon Simple Notification Service (AmazonSNS), consulte el GitHub repositorio amazon-qldb-streams-dmvaws-samples/ -. sample-lambda-python

Esta aplicación utiliza un AWS Lambda función para implementar un consumidor de Kinesis Data Streams. Envía mensajes a un SNS tema de Amazon, que tiene suscrita una cola de Amazon Simple Queue Service (AmazonSQS).

Para clonar el repositorio, introduzca el siguiente comando git.

git clone https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python.git

Para ejecutar la aplicación de muestra, consulta las instrucciones README. GitHub