Errores de datos de Azure Stream Analytics

Los errores de datos son errores que se producen al procesar los datos. Estos errores suelen producirse durante la deserialización de datos, la serialización y las operaciones de escritura. Cuando se producen errores de datos, Stream Analytics escribe información detallada y eventos de ejemplo en sus registros de recursos. Habilite los registros de diagnóstico en su trabajo para obtener estos detalles adicionales. En algunos casos, también se proporciona un resumen de esta información mediante las notificaciones del portal.

En este artículo se describen los diferentes tipos de errores, las causas y los detalles de registro de recursos de errores de datos de entrada y salida.

Esquema de registros de recursos

Para ver el esquema de los registros de recursos, consulte Solución de problemas de Azure Stream Analytics mediante registros de diagnóstico. El siguiente código JSON es un valor de ejemplo para el campo Propiedades de un registro de recursos para un error de datos.

{
    "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
}

Errores de datos de entrada

InputDeserializerError.InvalidCompressionType

  • Causa: El tipo de compresión de entrada seleccionado no coincide con los datos.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Los mensajes con los errores de deserialización, como el tipo de compresión no válido, se eliminan de la entrada.
  • Detalles del registro
    • Identificador de mensaje de entrada. Para el centro de eventos, el identificador es el PartitionId, el desplazamiento y el número de secuencia.

Mensaje de error

"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: El encabezado de los datos de entrada no es válido. Por ejemplo, un archivo CSV tiene columnas con nombres duplicados.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Los mensajes con los errores de deserialización, como un encabezado no válido, se eliminan de la entrada.
  • Detalles del registro
    • Identificador de mensaje de entrada.
    • Carga útil real hasta algunos kilobytes.

Mensaje de error

"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: Las columnas de entrada definidas con CREATE TABLE o a través de TIMESTAMP BY no existen.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Los eventos con las columnas que faltan se eliminan de la entrada.
  • Detalles del registro
    • Identificador de mensaje de entrada.
    • Nombres de las columnas que faltan.
    • Carga útil real hasta algunos kilobytes.

Mensajes de error

"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: No se puede convertir la entrada al tipo especificado en la instrucción CREATE TABLE.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Los eventos con error de conversión de tipo se eliminan de la entrada.
  • Detalles del registro
    • Identificador de mensaje de entrada.
    • Nombre de la columna y el tipo esperado.

Mensajes de error

"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: Los datos de entrada no tienen el formato correcto. Por ejemplo, la entrada no es un JSON válido.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Todos los eventos en el mensaje después de que se haya encontrado un error de datos no válidos se eliminan de la entrada.
  • Detalles del registro
    • Identificador de mensaje de entrada.
    • Carga útil real hasta algunos kilobytes.

Mensajes de error

"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: El valor de la expresión TIMESTAMP BY no se puede convertir a datetime.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Los eventos con marca de tiempo de entrada no válida se eliminan de la entrada.
  • Detalles del registro
    • Identificador de mensaje de entrada.
    • Mensaje de error.
    • Carga útil real hasta algunos kilobytes.

Mensaje de error

"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: El valor de timestampColumn TIMESTAMP BY OVER es NULL.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Los eventos con clave de marca de tiempo de entrada no válida se eliminan de la entrada.
  • Detalles del registro
    • La carga útil real hasta algunos kilobytes.

Mensaje de error

"BriefMessage": "Unable to get value of TIMESTAMP BY OVER COLUMN"

LateInputEvent

  • Causa: La diferencia entre el tiempo de aplicación y la hora de llegada es mayor que la ventana de tolerancia de llegada tardía.
  • Notificación del portal proporcionada: No
  • Nivel de registro de recursos: Información
  • Impacto: Los eventos de entrada con retardo se controlan según la opción "Controlar otros eventos" de la sección Ordenación de eventos de la configuración del trabajo. Para más información, consulte Directivas de control de tiempo.
  • Detalles del registro
    • Tiempo de aplicación y hora de llegada.
    • Carga útil real hasta algunos kilobytes.

Mensaje de error

"BriefMessage": "Input event with application timestamp '2019-01-01' and arrival time '2019-01-02' was sent later than configured tolerance."

EarlyInputEvent

  • Causa: La diferencia entre el tiempo de aplicación y la hora de llegada es mayor que 5 minutos.
  • Notificación del portal proporcionada: No
  • Nivel de registro de recursos: Información
  • Impacto: Los eventos de entrada tempranos se controlan según la opción "Controlar otros eventos" de la sección Ordenación de eventos de la configuración del trabajo. Para más información, consulte Directivas de control de tiempo.
  • Detalles del registro
    • Tiempo de aplicación y hora de llegada.
    • Carga útil real hasta algunos kilobytes.

Mensaje de error

"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: Se considera que el evento está desorganizado según la ventana de tolerancia de desorganización definida.
  • Notificación del portal proporcionada: No
  • Nivel de registro de recursos: Información
  • Impacto: Los eventos de entrada fuera de secuencia se controlan según la opción "Controlar otros eventos" de la sección Ordenación de eventos de la configuración del trabajo. Para más información, consulte Directivas de control de tiempo.
  • Detalles del registro
    • Carga útil real hasta algunos kilobytes.

Mensaje de error

"Message": "Out of order event(s) received."

Errores de datos de salida

Azure Stream Analytics puede identificar errores de los datos de salida con o sin una solicitud de E/S al receptor de salida en función de la configuración. Por ejemplo, al usar la salida de Azure Table, se puede identificar una columna faltante, como PartitionKey, sin una solicitud de E/S. Sin embargo, las infracciones de restricción en la salida de SQL sí requieren una solicitud de E/S.

Hay varios errores de datos que solo se pueden detectar después de realizar una llamada al receptor de salida, lo que puede ralentizar el procesamiento. Para resolver esto, cambie la configuración del trabajo o la consulta que está causando el error de datos.

OutputDataConversionError.RequiredColumnMissing

  • Causa: La columna necesaria para la salida no existe. Por ejemplo, no existe ninguna columna definida como Azure Table PartitionKey.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Todos los errores de conversión de datos de salida que incluyen la falta de una columna obligatoria se controlan según la opción Directiva de salida de datos.
  • Detalles del registro
    • Nombre de la columna y el identificador de registro o parte del registro.

Mensaje de error

"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: El valor de la columna no se ajusta a la salida. Por ejemplo, el nombre de la columna no es una columna de tabla de Azure válida.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Todos los errores de conversión de datos de salida que incluyen un nombre de columna no válido se controlan según la opción Directiva de salida de datos.
  • Detalles del registro
    • Nombre de la columna y el identificador del registro o parte del registro.

Mensaje de error

"Message": "Invalid property name #deviceIdValue. Please refer MSDN for Azure table property naming convention."

OutputDataConversionError.TypeConversionError

  • Causa: No se puede convertir una columna a un tipo válido en la salida. Por ejemplo, el valor de la columna no es compatible con las restricciones o el tipo definido en la tabla de SQL.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Todos los errores de conversión de datos de salida que incluyen un error de conversión de tipo se controlan según la opción Directiva de salida de datos.
  • Detalles del registro
    • Nombre de la columna.
    • Identificador del registro o parte del registro.

Mensaje de error

"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: El valor del mensaje es mayor que el tamaño de salida admitido. Por ejemplo, un registro es mayor que 1 MB para la salida de un centro de eventos.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Todos los errores de conversión de datos de salida que incluyen un límite de tamaño de registro superado se controlan según la opción Directiva de salida de datos.
  • Detalles del registro
    • Identificador del registro o parte del registro.

Mensaje de error

"BriefMessage": "Single output event exceeds the maximum message size limit allowed (262144 bytes) by Event Hub."

OutputDataConversionError.DuplicateKey

  • Causa: Un registro ya contiene una columna con el mismo nombre que una columna del sistema. Por ejemplo, una salida de CosmosDB con un identificador con nombre de columna cuando la columna del identificador es una columna diferente.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Todos los errores de conversión de datos de salida que incluyen una clave duplicada se controlan según la opción Directiva de salida de datos.
  • Detalles del registro
    • Nombre de la columna.
    • Identificador del registro o parte del registro.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Pasos siguientes