Desenvolvendo com fluxos em QLDB - Banco de dados Amazon Quantum Ledger (AmazonQLDB)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Desenvolvendo com fluxos em QLDB

Importante

Aviso de fim do suporte: os clientes existentes poderão usar a Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon Aurora Postgre. SQL

Esta seção resume as API operações que você pode usar com um AWS SDKou o AWS CLI para criar e gerenciar fluxos de periódicos na AmazonQLDB. Também descreve os aplicativos de amostra que demonstram essas operações e usam a Biblioteca de Cliente Kinesis () KCL ou AWS Lambda para implementar um consumidor de stream.

Você pode usar o KCL para criar aplicativos de consumo para o Amazon Kinesis Data Streams. Isso KCL simplifica a codificação ao fornecer abstrações úteis acima do Kinesis Data Streams de baixo nível. API Para saber mais sobre oKCL, consulte Como usar a biblioteca de cliente do Kinesis no Guia do desenvolvedor do Amazon Kinesis Data Streams.

QLDBfluxo de diário APIs

O QLDB API fornece as seguintes operações de fluxo de diário para uso por programas aplicativos:

  • StreamJournalToKinesis— Cria um fluxo de diário para um determinado QLDB livro contábil. O fluxo captura todas as revisões de documentos confirmadas no diário do ledger e entrega os dados a um recurso especificado do Amazon Kinesis Data Streams.

    • A agregação de registros no Kinesis Data Streams está ativada por padrão. Essa opção permite QLDB publicar vários registros de dados em um único registro do Kinesis Data Streams, aumentando o número de registros API enviados por chamada.

      A agregação de registros tem implicações importantes para o processamento de registros e requer desagregação em seu consumidor de stream. Para saber mais, consulte os KPL principais conceitos e a desagregação de consumidores no Guia do desenvolvedor do Amazon Kinesis Data Streams.

  • DescribeJournalKinesisStream— Retorna informações detalhadas sobre um determinado fluxo de QLDB diário. A saída inclui o nome do streamARN, o status atual, a hora da criação e os parâmetros da sua solicitação original de criação do stream.

  • ListJournalKinesisStreamsForLedger— Retorna uma lista de todos os descritores de fluxo de QLDB diário para um determinado livro contábil. A saída de cada descritor de fluxo inclui os mesmos detalhes devolvidos por DescribeJournalKinesisStream.

  • CancelJournalKinesisStream— Encerra um determinado fluxo de QLDB diário. Antes que um fluxo possa ser cancelado, seu status atual deve ser ACTIVE.

    Não é possível reiniciar um fluxo depois de tê-lo cancelado. Para retomar a entrega de seus dados para o Kinesis Data Streams, você pode criar um QLDB novo stream.

Para obter descrições completas dessas API operações, consulte QLDBAPIReferência da Amazon o.

Para obter informações sobre como criar e gerenciar fluxos de diários usando o AWS CLI, veja o AWS CLI Referência de comando.

Aplicações de exemplo

QLDBfornece exemplos de aplicativos que demonstram várias operações usando fluxos de diários. Esses aplicativos são de código aberto no AWS GitHub Site de amostras.

Operações básicas (Java)

Para ver um exemplo de código Java que demonstra operações básicas para fluxos de QLDB diários, consulte o GitHub repositório aws-samples/ -java. amazon-qldb-dmv-sample Para obter instruções sobre como baixar e instalar esse aplicativo de amostra, consulte Instalando o aplicativo de amostra Amazon QLDB Java.

nota

Depois de instalar o aplicativo, não vá para a Etapa 1 do tutorial Java para criar um ledger. Este aplicativo de amostra para streaming cria o ledger vehicle-registration para você.

Esse aplicativo de amostra empacota o código-fonte completo do Tutorial de Java e de suas dependências, incluindo os seguintes módulos:

  • AWS SDK for Java— Criar e excluir os recursos do Kinesis Data Streams QLDB e do Kinesis, incluindo QLDB livros contábeis, fluxos de diários e fluxos de dados do Kinesis.

  • QLDBDriver Amazon para Java: executar transações de dados em um ledger usando instruções PartiQL, incluindo a criação de tabelas e a inserção de documentos.

  • Kinesis Client Library: consumir e processar dados de um fluxo de dados do Kinesis.

Executar o código

A StreamJournalclasse contém um código tutorial que demonstra as seguintes operações:

  1. Crie um ledger chamado vehicle-registration, crie tabelas e carregue-as com dados de amostra.

    nota

    Antes de executar esse código, confirme que você ainda não tem um ledger ativo chamado vehicle-registration.

  2. Crie um stream de dados do Kinesis, uma IAM função que permite QLDB assumir permissões de gravação para o stream de dados do Kinesis e um stream de diário. QLDB

  3. Use o KCL para iniciar um leitor de stream que processa o stream de dados do Kinesis e registra cada registro de QLDB dados.

  4. Use os dados do fluxo para validar a cadeia de hash do ledger vehicle-registration de amostras.

  5. Limpe todos os recursos interrompendo o leitor de stream, cancelando o stream do QLDB diário, excluindo o livro contábil e excluindo o stream de dados do Kinesis.

Para executar o código do tutorial StreamJournal, insira o seguinte comando do Gradle no diretório raiz do seu projeto.

./gradlew run -Dtutorial=streams.StreamJournal

Integração com o OpenSearch serviço (Python)

Para ver um aplicativo de amostra em Python que demonstra como integrar um stream QLDB com o Amazon OpenSearch Service, consulte o GitHub repositório aws-samples/ -. amazon-qldb-streaming-amazon opensearch-service-sample-python Este aplicativo usa um AWS Lambda função para implementar um consumidor do Kinesis Data Streams.

Para clonar o repositório, digite o seguinte comando git.

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

Para executar o aplicativo de amostra, consulte o READMEon GitHub para obter instruções.

Integração com Amazon SNS e Amazon SQS (Python)

Para ver um aplicativo de amostra em Python que demonstra como integrar um stream QLDB com o Amazon Simple Notification Service (AmazonSNS), consulte o GitHub repositório aws-samples/ -. amazon-qldb-streams-dmv sample-lambda-python

Este aplicativo usa um AWS Lambda função para implementar um consumidor do Kinesis Data Streams. Ele envia mensagens para um SNS tópico da Amazon, que tem uma fila do Amazon Simple Queue Service (AmazonSQS) inscrita nele.

Para clonar o repositório, digite o seguinte comando git.

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

Para executar o aplicativo de amostra, consulte o READMEon GitHub para obter instruções.