Como tratar erros - Guia do desenvolvedor do Amazon Kinesis Data Analytics SQL para aplicativos

Para novos projetos, recomendamos que você use o novo Managed Service para Apache Flink Studio em vez do Kinesis Data Analytics for Applications. SQL O Managed Service for Apache Flink Studio combina facilidade de uso com recursos analíticos avançados, permitindo que você crie aplicativos sofisticados de processamento de stream em minutos.

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

Como tratar erros

O Amazon Kinesis Data Analytics retorna erros de API ou SQL diretamente para você. Para obter mais informações sobre as operações de API, consulte Ações. Para obter mais informações sobre o tratamento de erros do SQL, consulte Referência SQL do Amazon Kinesis Data Analytics.

O Amazon Kinesis Data Analytics reporta erros de runtime usando um stream de erros de aplicativo chamado error_stream.

Geração de relatórios de erros por meio de um fluxo de erros de aplicativo

O Amazon Kinesis Data Analytics reporta erros de runtime para o stream de erros de aplicativo chamado error_stream. Estes são exemplos de erros que podem ocorrer:

  • A leitura de registro na origem do streaming não está de acordo com o esquema de entrada.

  • O código do aplicativo especifica a divisão por zero.

  • As linhas estão fora de ordem (por exemplo, um registro aparece no fluxo com o valor ROWTIME modificado por um usuário, o que faz com que o registro fique fora de ordem).

  • Os dados no fluxo de origem não podem ser convertidos no tipo de dados especificado no esquema (erro de coerção). Para obter informações sobre quais tipos de dados podem ser convertidos, consulte Mapeamento de tipos de dados JSON para tipos de dados SQL

É recomendável que você trate esses erros de modo programático no código SQL ou mantenha os dados do fluxo de erros em um destino externo. Isso requer que você adicione uma configuração de saída (consulte Configuração da saída do aplicativo) ao aplicativo. Para obter um exemplo de como funciona o fluxo de erros de aplicativo, consulte Exemplo: exploração do fluxo de erros no aplicativo.

nota

Seu aplicativo Kinesis Data Analytics não pode acessar nem modificar o fluxo de erro programaticamente porque o fluxo de erro é criado usando a conta do sistema. Você precisa usar a saída de erro para determinar quais erros seu aplicativo poderá encontrar. Em seguida, escreva o código SQL do seu aplicativo para lidar com condições de erro previstas.

Esquema do fluxo de erros

O fluxo de erros tem o seguinte esquema:

Campo

Tipo de dados

Observações

ERROR_TIME

TIMESTAMP

A hora em que ocorreu o erro

ERROR_LEVEL

VARCHAR (10)

ERROR_NAME

VARCHAR (32)

MESSAGE

VARCHAR (4096)

DATA_ROWTIME

TIMESTAMP

O rowtime do registro de entrada

DATA_ROW

VARCHAR (49152)

Os dados codificados em hexadecimal na linha original. É possível usar bibliotecas padrão para decodificar esse valor em decimal ou usar recursos da web, como este conversor de hexadecimal em string.

PUMP_NAME

VARCHAR (128)

A bomba de origem, conforme definido com CREATE PUMP