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 no QLDB
Esta seção resume as operações de API que você pode usar com um AWS SDK ou AWS CLI para criar e gerenciar fluxos de diários no Amazon QLDB. Também descreve os aplicativos de amostra que demonstram essas operações e usam a Kinesis Client Library (KCL) ou AWS Lambda para implementar um consumidor de fluxo.
É possível usar o KCL para criar aplicativos de consumo para o Amazon Kinesis Data Streams. A KCL simplifica a codificação fornecendo abstrações úteis acima da API de baixo nível do Kinesis Data Streams. Para saber mais sobre a KCL, consulte Usar a Amazon Kinesis Client Library no Guia do desenvolvedor do Amazon Kinesis Data Streams.
Sumário
APIs de fluxo de diário do QLDB
A API do QLDB fornece as seguintes operações de fluxo diário para uso por programas aplicativos:
-
StreamJournalToKinesis
— Cria um fluxo de diário para um determinado ledger do QLDB. 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 que o QLDB publique vários registros de dados em um único registro do Kinesis Data Streams, aumentando o número de registros enviados por chamada de API.
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 Conceitos-chave de KPL e Desagregação do consumidor no Guia do desenvolvedor do Amazon Kinesis Data Streams.
-
-
DescribeJournalKinesisStream
- Devolve informações detalhadas sobre um determinado fluxo de diário. A saída inclui o ARN, o nome do fluxo, o status atual, a hora da criação e os parâmetros da sua solicitação original de criação do fluxo. -
ListJournalKinesisStreamsForLedger
— Devolve uma lista de todos os descritores de fluxo de diário do QLDB para um determinado ledger. A saída de cada descritor de fluxo inclui os mesmos detalhes devolvidos porDescribeJournalKinesisStream
. -
CancelJournalKinesisStream
— Encerra um determinado fluxo de diário do QLDB. Antes que um fluxo possa ser cancelado, seu status atual deve serACTIVE
.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 novo fluxo do QLDB.
Para uma descrição completa dessas operações de API, consulte o Referência da API do Amazon QLDB
Para obter informações sobre como criar e gerenciar fluxos de diário usando o AWS CLI, consulte a Referência de AWS CLI Comandos.
Aplicações de exemplo
O QLDB fornece aplicativos de exemplo que demonstram várias operações usando fluxos de diário. Esses aplicativos são de código aberto no GitHub site AWS Samples
Tópicos
Operações básicas (Java)
Para ver um exemplo de código Java que demonstra operações básicas para fluxos de diários do QLDB, consulte o repositório aws-samples/ -java. GitHub amazon-qldb-dmv-sample
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 vehicle-registration
ledger 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 QLDB e do Kinesis Data Streams, incluindo ledgers, fluxos de diários do QLDB e fluxos de dados do Kinesis. -
Driver Amazon QLDB 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 StreamJournal
-
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
. -
Crie um fluxo de dados do Kinesis, um perfil do IAM que permite que o QLDB assuma permissões de gravação para o fluxo de dados do Kinesis e um fluxo de diário do QLDB.
-
Use o KCL para iniciar um leitor de fluxo que processa o fluxo de dados do Kinesis e registra cada registro de dados do QLDB.
-
Use os dados do fluxo para validar a cadeia de hash do
vehicle-registration
ledger de amostras. -
Limpe todos os recursos interrompendo o leitor de fluxo, cancelando o fluxo do diário do QLDB, excluindo o ledger e excluindo o fluxo 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 repositório aws-samples/ -. GitHub amazon-qldb-streaming-amazon opensearch-service-sample-python
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 README ativado
Integração com o Amazon SNS e o Amazon SQS (Python)
Esse aplicativo usa uma AWS Lambda função para implementar um consumidor do Kinesis Data Streams. Ele envia mensagens para um tópico do Amazon SNS, que tem uma fila do Amazon Simple Queue Service (Amazon SQS) 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 README ativado