Erros de dados do Azure Stream Analytics
Erros de dados são erros que ocorrem durante o processamento dos dados. Esses erros geralmente ocorrem durante operações de desserialização, serialização e gravação de dados. Quando ocorrem erros de dados, o Stream Analytics grava informações detalhadas e eventos de exemplo nos logs de recursos. Habilite os logs de diagnóstico em seu trabalho para obter esses detalhes adicionais. Em alguns casos, um resumo dessas informações também é fornecido através de notificações do portal.
Este artigo descreve os diferentes tipos de erro, causas e detalhes do log de recursos para erros de dados de entrada e saída.
Esquema de Logs de Recursos
Consulte Solucionar problemas do Azure Stream Analytics usando logs de diagnóstico para ver o esquema dos logs de recursos. O JSON a seguir é um valor de exemplo para o campo Propriedades de um log de recursos para um erro de dados.
{
"Source": "InputTelemetryData",
"Type": "DataError",
"DataErrorType": "InputDeserializerError.InvalidData",
"BriefMessage": "Json input stream should either be an array of objects or line separated objects. Found token type: Integer",
"Message": "Input Message Id: https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt Error: Json input stream should either be an array of objects or line separated objects. Found token type: Integer",
"ExampleEvents": "[\"1,2\\\\u000d\\\\u000a3,4\\\\u000d\\\\u000a5,6\"]",
"FromTimestamp": "2019-03-22T22:34:18.5664937Z",
"ToTimestamp": "2019-03-22T22:34:18.5965248Z",
"EventCount": 1
}
Erros de dados de entrada
InputDeserializerError.InvalidCompressionType
- Causa: o tipo de compactação de entrada selecionado não corresponde aos dados.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: mensagens com erros de desserialização, incluindo tipo de compactação inválido, são descartadas da entrada.
- Detalhes do registo
- Identificador da mensagem de entrada. Para o Hub de Eventos, o identificador é PartitionId, Offset e Sequence Number.
Mensagem de Erro
"BriefMessage": "Unable to decompress events from resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt'. Please ensure compression setting fits the data being processed."
InputDeserializerError.InvalidHeader
- Causa: O cabeçalho dos dados de entrada é inválido. Por exemplo, um CSV tem colunas com nomes duplicados.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: as mensagens com erros de desserialização, incluindo cabeçalho inválido, são retiradas da entrada.
- Detalhes do registo
- Identificador da mensagem de entrada.
- Carga útil real até alguns kilobytes.
Mensagem de Erro
"BriefMessage": "Invalid CSV Header for resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt'. Please make sure there are no duplicate field names."
InputDeserializerError.MissingColumns
- Causa: As colunas de entrada definidas com CREATE TABLE ou através de TIMESTAMP BY não existem.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: eventos com colunas ausentes são descartados da entrada.
- Detalhes do registo
- Identificador da mensagem de entrada.
- Nomes das colunas que estão faltando.
- Carga útil real até alguns kilobytes.
Mensagens de erro
"BriefMessage": "Could not deserialize the input event(s) from resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt' as Csv. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format"
"Message": "Missing fields specified in query or in create table. Fields expected:ColumnA Fields found:ColumnB"
InputDeserializerError.TypeConversionError
- Causa: Não é possível converter a entrada para o tipo especificado na instrução CREATE TABLE.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: eventos com erro de conversão de tipo são descartados da entrada.
- Detalhes do registo
- Identificador da mensagem de entrada.
- Nome da coluna e tipo esperado.
Mensagens de erro
"BriefMessage": "Could not deserialize the input event(s) from resource '''https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt ' as Csv. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format"
"Message": "Unable to convert column: dateColumn to expected type."
InputDeserializerError.InvalidData
- Causa: os dados de entrada não estão no formato correto. Por exemplo, a entrada não é JSON válida.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: todos os eventos na mensagem após a ocorrência de um erro de dados inválidos são descartados da entrada.
- Detalhes do registo
- Identificador da mensagem de entrada.
- Carga útil real até alguns kilobytes.
Mensagens de erro
"BriefMessage": "Json input stream should either be an array of objects or line separated objects. Found token type: String"
"Message": "Json input stream should either be an array of objects or line separated objects. Found token type: String"
InvalidInputTimeStamp
- Causa: O valor da expressão TIMESTAMP BY não pode ser convertido em datetime.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: eventos com carimbo de data/hora de entrada inválido são descartados da entrada.
- Detalhes do registo
- Identificador da mensagem de entrada.
- Mensagem de erro.
- Carga útil real até alguns kilobytes.
Mensagem de Erro
"BriefMessage": "Unable to get timestamp for resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt ' due to error 'Cannot convert string to datetime'"
InvalidInputTimeStampKey
- Causa: O valor de TIMESTAMP BY OVER timestampColumn é NULL.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: eventos com chave de carimbo de data/hora de entrada inválida são descartados da entrada.
- Detalhes do registo
- A carga útil real até alguns kilobytes.
Mensagem de Erro
"BriefMessage": "Unable to get value of TIMESTAMP BY OVER COLUMN"
LateInputEvent
- Causa: A diferença entre a hora de aplicação e a hora de chegada é maior do que a janela de tolerância de chegada tardia.
- Notificação do portal fornecida: Não
- Nível do log de recursos: Informações
- Impacto: os eventos de entrada tardia são tratados de acordo com a configuração "Manipular outros eventos" na seção Ordenação de eventos da configuração do trabalho. Para obter mais informações, consulte Políticas de tratamento de tempo.
- Detalhes do registo
- Hora de aplicação e hora de chegada.
- Carga útil real até alguns kilobytes.
Mensagem de Erro
"BriefMessage": "Input event with application timestamp '2019-01-01' and arrival time '2019-01-02' was sent later than configured tolerance."
EarlyInputEvent
- Causa: A diferença entre a hora de aplicação e a hora de chegada é superior a 5 minutos.
- Notificação do portal fornecida: Não
- Nível do log de recursos: Informações
- Impacto: os eventos de entrada antecipada são tratados de acordo com a configuração "Manipular outros eventos" na seção Ordenação de eventos da configuração do trabalho. Para obter mais informações, consulte Políticas de tratamento de tempo.
- Detalhes do registo
- Hora de aplicação e hora de chegada.
- Carga útil real até alguns kilobytes.
Mensagem de Erro
"BriefMessage": "Input event arrival time '2019-01-01' is earlier than input event application timestamp '2019-01-02' by more than 5 minutes."
OutOfOrderEvent
- Causa: O evento é considerado fora de ordem de acordo com a janela de tolerância fora de ordem definida.
- Notificação do portal fornecida: Não
- Nível do log de recursos: Informações
- Impacto: os eventos fora de ordem são tratados de acordo com a configuração "Manipular outros eventos" na seção Ordenação de eventos da configuração do trabalho. Para obter mais informações, consulte Políticas de tratamento de tempo.
- Detalhes do registo
- Carga útil real até alguns kilobytes.
Mensagem de Erro
"Message": "Out of order event(s) received."
Erros de dados de saída
O Azure Stream Analytics pode identificar erros de dados de saída com ou sem uma solicitação de E/S para o coletor de saída, dependendo da configuração. Por exemplo, a falta de uma coluna necessária, como PartitionKey
, ao usar a saída da Tabela do Azure, pode ser identificada sem uma solicitação de E/S. No entanto, violações de restrição na saída SQL exigem uma solicitação de E/S.
Existem vários erros de dados que só podem ser detetados depois de fazer uma chamada para o coletor de saída, o que pode retardar o processamento. Para resolver isso, altere a configuração do seu trabalho ou a consulta que está causando o erro de dados.
OutputDataConversionError.RequiredColumnMissing
- Causa: a coluna necessária para a saída não existe. Por exemplo, uma coluna definida como Azure Table PartitionKey não existe.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: todos os erros de conversão de dados de saída, incluindo a coluna necessária ausente, são tratados de acordo com a configuração Política de Dados de Saída.
- Detalhes do registo
- Nome da coluna e identificador do registo ou parte do registo.
Mensagem de Erro
"Message": "The output record does not contain primary key property: [deviceId] Ensure the query output contains the column [deviceId] with a unique non-empty string less than '255' characters."
OutputDataConversionError.ColumnNameInvalid
- Causa: o valor da coluna não está de acordo com a saída. Por exemplo, o nome da coluna não é uma coluna de tabela válida do Azure.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: todos os erros de conversão de dados de saída, incluindo nome de coluna inválido, são tratados de acordo com a configuração Política de Dados de Saída.
- Detalhes do registo
- Nome da coluna e identificador do registo ou parte do registo.
Mensagem de Erro
"Message": "Invalid property name #deviceIdValue. Please refer MSDN for Azure table property naming convention."
OutputDataConversionError.TypeConversionError
- Causa: uma coluna não pode ser convertida em um tipo válido na saída. Por exemplo, o valor da coluna é incompatível com restrições ou tipo definido na tabela SQL.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: todos os erros de conversão de dados de saída, incluindo erro de conversão de tipo, são tratados de acordo com a configuração Política de Dados de Saída.
- Detalhes do registo
- Nome da coluna.
- Identificador de registo ou parte do registo.
Mensagem de Erro
"Message": "The column [id] value null or its type is invalid. Ensure to provide a unique non-empty string less than '255' characters."
OutputDataConversionError.RecordExceededSizeLimit
- Causa: O valor da mensagem é maior do que o tamanho de saída suportado. Por exemplo, um registro é maior que 1 MB para uma saída do Hub de Eventos.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: todos os erros de conversão de dados de saída, incluindo o limite de tamanho excedido do registro, são tratados de acordo com a configuração Política de Dados de Saída.
- Detalhes do registo
- Identificador de registo ou parte do registo.
Mensagem de Erro
"BriefMessage": "Single output event exceeds the maximum message size limit allowed (262144 bytes) by Event Hub."
OutputDataConversionError.DuplicateKey
- Causa: um registro já contém uma coluna com o mesmo nome de uma coluna Sistema. Por exemplo, a saída do CosmosDB com uma coluna chamada ID quando a coluna ID é para uma coluna diferente.
- Notificação do portal fornecida: Sim
- Nível do log de recursos: Aviso
- Impacto: todos os erros de conversão de dados de saída, incluindo chave duplicada, são tratados de acordo com a configuração Política de Dados de Saída.
- Detalhes do registo
- Nome da coluna.
- Identificador de registo ou parte do registo.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."