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á.
Criação e gerenciamento de 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
QLDBA Amazon fornece API operações para criar e gerenciar um fluxo de dados de diário do seu livro contábil para o Amazon Kinesis Data Streams. O QLDB stream captura todas as revisões de documentos enviadas ao seu diário e as envia para um stream de dados do Kinesis.
Você pode usar o AWS Management Console AWS SDK, an ou o AWS Command Line Interface (AWS CLI) para criar um fluxo de diário. Além disso, você também pode usar um modelo AWS CloudFormation
Tópicos
Parâmetros de fluxo
Para criar um stream de QLDB diário, você deve fornecer os seguintes parâmetros de configuração:
- Nome do ledger
-
O QLDB livro contábil cujos dados do diário você deseja transmitir para o Kinesis Data Streams.
- Nome do fluxo
-
O nome que você deseja atribuir ao fluxo do QLDB diário. Os nomes definidos pelo usuário podem ajudar a identificar e indicar a finalidade de um stream.
O nome do fluxo deve ser exclusivo entre outros fluxos ativos em um ledger. Os nomes de fluxos têm as mesmas restrições de nomenclatura que os nomes do ledger, conforme definido em Cotas e limites na Amazon QLDB.
Além do nome do stream, QLDB atribui um ID de stream a cada QLDB stream que você cria. O ID do fluxo é exclusivo entre todos os fluxos de um determinado ledger, independentemente de seu status.
- Data e hora de início
-
A data e hora de início a partir das quais iniciar o streaming de dados do diário. Esse valor pode ser qualquer data e hora no passado, mas não no futuro.
- Data e hora de encerramento
-
(Opcional) A data e hora exclusivas que especificam quando o fluxo termina.
Se você criar um fluxo indefinido sem hora de término, deverá cancelá-lo manualmente para finalizar o fluxo. Você também pode cancelar um fluxo ativo e finito que ainda não tenha atingido a data e a hora de término especificadas.
- Fluxo de dados do Kinesis de destino
-
O recurso de destino do Kinesis Data Streams no qual seu fluxo grava os registros de dados. Para saber como criar um fluxo de dados do Kinesis, consulte Criação e atualização de fluxos de dados no Guia do desenvolvedor do Amazon Kinesis Data Streams.
Importante
-
Não há suporte para streams entre contas e entre regiões. O fluxo de dados do Kinesis especificado deve estar na mesma Região da AWS conta do seu livro contábil.
-
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.
-
- IAMpapel
-
A IAM função que permite QLDB assumir permissões de gravação em seu stream de dados do Kinesis. Você pode usar o QLDB console para criar automaticamente essa função ou criá-la manualmente noIAM. Para saber como criá-la manualmente, consulte Permissões de fluxo.
Para passar uma função QLDB ao solicitar um stream de diário, você deve ter permissões para realizar a
iam:PassRole
ação no recurso de IAM função.
Stream ARN
Cada stream de QLDB diário é um sub-recurso de um livro contábil e é identificado exclusivamente por um nome de recurso da Amazon (). ARN Veja a seguir um exemplo ARN de um QLDB fluxo com um ID de fluxo IiPT4brpZCqCq3f4MTHbYy
para um livro contábil chamadoexampleLedger
.
arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy
A seção a seguir descreve como criar e cancelar um QLDB stream usando AWS Management Console o.
AWS Management Console
Siga estas etapas para criar ou cancelar uma QLDB transmissão usando o QLDB console.
Para criar um fluxo (console)
Faça login no e abra AWS Management Console o QLDB console da Amazon em https://console.aws.amazon.com/qldb
. -
Selecione Streams (Fluxos) no painel de navegação.
-
Escolha Create QLDB stream (Criar streaming do AK).
-
Na página Criar QLDB transmissão, insira as seguintes configurações:
-
Nome do fluxo — O nome que você deseja atribuir ao QLDB fluxo.
-
ledger: o ledger cujos dados do diário você deseja transmitir.
-
Data e hora de início — O carimbo de data/hora inclusivo no Tempo Universal Coordenado (UTC) a partir do qual iniciar a transmissão dos dados do diário. O padrão desse timestamp é a data e hora atual. Não pode ser no futuro e deve ser anterior à data e hora de término.
-
Data e hora de término — (Opcional) O carimbo de data/hora exclusivo (UTC) que especifica quando o stream termina. Se você deixar esse parâmetro em branco, o fluxo será executado indefinidamente até ser cancelado.
-
Stream de destino: o recurso de destino do Kinesis Data Streams no qual seu fluxo grava os registros de dados. Use o ARN formato a seguir.
arn:aws:kinesis:
aws-region
:account-id
:stream/kinesis-stream-name
Veja um exemplo a seguir.
arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb
Não há suporte para streams entre contas e entre regiões. O stream de dados especificado do Kinesis deve estar na mesma conta do seu Região da AWS livro contábil.
-
Ativar a agregação de registros no Kinesis Data Streams — (ativado por padrão) QLDB Permite publicar vários registros de dados em um único registro do Kinesis Data Streams, aumentando o número de registros enviados por chamada. API
-
Acesso ao serviço — A IAM função que concede permissões de QLDB gravação ao seu stream de dados do Kinesis.
Para passar uma função QLDB ao solicitar um stream de diário, você deve ter permissões para realizar a
iam:PassRole
ação no recurso de IAM função.-
Crie e use um novo perfil de serviço: deixe o console criar uma nova função para você com as permissões necessárias para o fluxo de dados do Kinesis especificado.
-
Use uma função de serviço existente — Para saber como criar essa função manualmente emIAM, consultePermissões de fluxo.
-
-
Tags: (opcional) adicione metadados ao fluxo anexando tags como pares de chave-valor. Você pode adicionar tags ao seu fluxo para ajudar a organizar e identificá-los. Para obter mais informações, consulte Marcação de recursos da Amazon QLDB.
Escolha Adicionar tag e, em seguida, insira os pares de valores-chave, conforme apropriado.
-
-
Quando as configurações estiverem como você deseja, escolha Criar QLDB transmissão.
Se o envio da solicitação for bem-sucedido, o console retornará à página principal do Streams e listará seus QLDB streams com o status atual.
-
Depois que seu fluxo estiver ativo, use o Kinesis para processar seus dados de fluxo com um aplicativo de consumidor.
Abra o console do Kinesis Data Streams https://console.aws.amazon.com/kinesis/
em.
Para obter mais informações sobre o formato dos registros de dados de fluxo, consulte QLDBregistros de streaming no Kinesis.
Para saber como lidar com fluxos que resultam em erro, consulte Tratamento de fluxos prejudicados.
Para cancelar um fluxo (console)
Você não pode reiniciar uma QLDB transmissão depois de cancelá-la. Para retomar a entrega de seus dados para o Kinesis Data Streams, você pode criar um QLDB novo stream.
Abra o QLDB console da Amazon em https://console.aws.amazon.com/qldb
. -
Selecione Streams (Fluxos) no painel de navegação.
-
Na lista de QLDB streams, selecione o stream ativo que você deseja cancelar.
-
Escolha Cancelar fluxo. Confirme isso inserindo
cancel stream
na caixa fornecida.
Para obter informações sobre como usar o QLDB API with an AWS SDK ou the AWS CLI para criar e gerenciar fluxos de diário, consulteDesenvolvendo com streams em QLDB.
Estados de fluxo
O status de um QLDB stream pode ser um dos seguintes:
-
ACTIVE
: no momento, está transmitindo ou aguardando para transmitir dados (para um fluxo indefinido sem hora de término). -
COMPLETED
: concluiu com sucesso o streaming de todos os blocos de diário dentro do intervalo de tempo especificado. Este é um estado terminal. -
CANCELED
: foi encerrado por uma solicitação do usuário antes do horário de término especificado e não está mais transmitindo dados ativamente. Este é um estado terminal. -
IMPAIRED
: não é possível gravar registros no Kinesis devido a um erro que exige sua ação. Esse é um estado recuperável e não terminal.Se você resolver o erro em uma hora, o stream será automaticamente transferido para o estado
ACTIVE
. Se o erro continuar sem solução após uma hora, o stream passa automaticamente para o estadoFAILED
. -
FAILED
: não consegue gravar registros no Kinesis devido a um erro e está em um estado terminal irrecuperável.
O diagrama a seguir ilustra como um recurso de QLDB fluxo pode fazer a transição entre estados.
Expiração para fluxos terminais
Os recursos de fluxo que estão em um estado terminal (CANCELED
, COMPLETED
, e FAILED
) estão sujeitos a um período de retenção de 7 dias. Eles são excluídos automaticamente após a expiração desse limite.
Depois que um stream de terminal é excluído, você não pode mais usar o QLDB console ou o QLDB API para descrever ou listar o recurso de stream.
Tratamento de fluxos prejudicados
Se seu fluxo encontrar um erro, ele será movido para o estado IMPAIRED
primeiro. QLDBcontinua a repetir as IMPAIRED
transmissões por até uma hora.
Se você resolver o erro em uma hora, o stream será automaticamente transferido para o estado ACTIVE
. Se o erro continuar sem solução após uma hora, o stream passa automaticamente para o estado FAILED
.
Um fluxo danificado ou com falha pode ser uma das seguintes causas de erro:
-
KINESIS_STREAM_NOT_FOUND
: o recurso Kinesis Data Streams de destino não existe. Verifique se o stream de dados do Kinesis que você forneceu na sua solicitação de QLDB stream está correto. Em seguida, acesse Kinesis e crie o fluxo de dados que você especificou. -
IAM_PERMISSION_REVOKED
— QLDB não tem permissões suficientes para gravar registros de dados em seu stream de dados do Kinesis especificado. Verifique se você define uma política para o stream de dados do Kinesis especificado que conceda ao QLDB service (qldb.amazonaws.com
) permissões para as seguintes ações:-
kinesis:PutRecord
-
kinesis:PutRecords
-
kinesis:DescribeStream
-
kinesis:ListShards
-
Monitorar os fluxos prejudicados
Se uma transmissão for prejudicada, o QLDB console exibirá um banner que mostra detalhes sobre a transmissão e o erro que ela encontrou. Você também pode usar a DescribeJournalKinesisStream
API operação para obter o status de um stream e a causa do erro subjacente.
Além disso, você pode usar CloudWatch a Amazon para criar um alarme que monitora a IsImpaired
métrica de um stream. Para obter informações sobre o monitoramento de QLDB métricas com CloudWatch, consulteQLDBDimensões e métricas da Amazon.