Errores de datos de Azure Stream Analytics

Los errores de datos ocurren cuando Azure Stream Analytics procesa tus datos en streaming. Estos errores ocurren con mayor frecuencia durante operaciones de deserialización, serialización y escritura de datos. Cuando se producen errores de datos, Stream Analytics escribe información detallada y eventos de ejemplo en sus registros de recursos. Activa los registros de diagnóstico en tu trabajo para obtener estos detalles adicionales. En algunos casos, las notificaciones del portal también ofrecen un resumen de esta información.

En este artículo se describen los distintos tipos de errores, sus causas y los detalles del registro de recursos para los errores de datos de entrada y salida.

Esquema de registros de recursos

Para ver el esquema de los registros de recursos, consulta Solucionar 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

Error del deserializador de entrada. Tipo de compresión no válido

  • Causa: El tipo de compresión de entrada que seleccionaste no coincide con los datos.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Stream Analytics elimina mensajes con cualquier error de deserialización, incluido un tipo de compresión inválido, desde la entrada.
  • Detalles del registro:
    • Identificador de mensaje de entrada. Para Azure Event Hubs, el identificador es el PartitionId, el Offset 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 errores de deserialización, incluyendo un encabezado inválido, se eliminan de la entrada.
  • Detalles del registro:
    • Identificador de mensaje de entrada.
    • Carga útil real de hasta unos pocos 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 que defines 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 efectiva de hasta unos pocos 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: Stream Analytics no puede convertir la entrada al tipo que especificaste en la CREATE TABLE instrucción.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: Stream Analytics descarta eventos debido a un error de conversión de tipos en 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 están en 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: Stream Analytics elimina todos los eventos del mensaje tras encontrar un error de datos inválido.
  • Detalles del registro:
    • Identificador de mensaje de entrada.
    • Carga útil real de hasta unos pocos 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"

Marca de tiempo de entrada no válida

  • 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 de hasta unos pocos 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 TIMESTAMP BY OVER timestampColumn es nulo.
  • 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 puede llegar a unos pocos 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 el tiempo 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 Políticas de gestión del tiempo.
  • Detalles del registro:
    • Tiempo de aplicación y hora de llegada.
    • Carga útil efectiva de hasta unos pocos 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 el tiempo de llegada es mayor de cinco 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 Políticas de gestión del tiempo.
  • Detalles del registro:
    • Tiempo de aplicación y hora de llegada.
    • Carga útil real de hasta unos pocos 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: El evento está fuera de orden según la ventana de tolerancia fuera de orden definida.
  • Notificación del portal proporcionada: No
  • Nivel de registro de recursos: Información
  • Impacto: El trabajo gestiona eventos fuera de orden según la configuración Manejar otros eventos en la sección de Orden de Eventos de la configuración del trabajo. Para más información, consulte Políticas de gestión del tiempo.
  • Detalles del registro:
    • Carga útil real de hasta unos pocos 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, Stream Analytics puede identificar una columna requerida que falta, como PartitionKey, cuando se utiliza la salida de Azure Table, 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.

Stream Analytics puede detectar varios errores de datos solo después de llamar al sumidero de salida, lo que puede ralentizar el procesamiento. Para resolver este problema, cambia la configuración de tu trabajo o la consulta que causa el error de datos.

ErrorDeConversiónDeDatosDeSalida.FaltaLaColumnaRequerida

  • Causa: La columna necesaria para la salida no existe. Por ejemplo, una columna de la tabla de Azure definida como PartitionKey no existe.
  • Notificación del portal proporcionada: Sí
  • Nivel de registro de recursos: Advertencia
  • Impacto: La configuración de Política de Datos de Salida gestiona todos los errores de conversión de datos de salida, incluyendo las columnas requeridas que faltan.
  • 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."

ErrorDeConversiónDeDatosDeSalida.RegistroSuperóElLímiteDeTamaño

  • Causa: El valor del mensaje es mayor que el tamaño de salida admitido. Por ejemplo, un registro supera 1 MB en una salida de Event Hubs.
  • 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, Azure Cosmos DB genera una salida con una columna denominada ID cuando la columna ID se asigna a 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.

Mensaje de error

"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Pasos siguientes