Errori dei dati di Analisi di flusso di Azure

Gli errori di dati si verificano quando Analisi di flusso di Azure elabora i tuoi dati in streaming. Questi errori si verificano più spesso durante la deserializzazione, la serializzazione e le operazioni di scrittura. Quando si verificano errori di dati, Analisi di flusso scrive informazioni dettagliate ed eventi di esempio nei log delle risorse. Attiva i log diagnostici sul tuo posto di lavoro per ottenere questi dettagli aggiuntivi. In alcuni casi, le notifiche del portale forniscono anche un riassunto di queste informazioni.

Questo articolo descrive i diversi tipi di errore, le cause e i dettagli del log delle risorse per gli errori di dati di input e output.

Schema dei log delle risorse

Per vedere lo schema dei log delle risorse, consulta Troubleshoot Analisi di flusso di Azure utilizzando i log diagnostici. Il codice JSON seguente è un valore di esempio per il campo Proprietà di un log delle risorse per un errore di dati.

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

Errori nei dati di input

InputDeserializerError.InvalidCompressionType

  • Causa: Il tipo di compressione di input che hai selezionato non corrisponde ai dati.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avviso
  • Impatto: Stream Analytics elimina i messaggi con eventuali errori di deserializzazione, incluso un tipo di compressione non valido, dall'input.
  • Dettagli del registro:
    • Identificatore del messaggio di input. Per Hub eventi di Azure, l'identificatore è il PartitionId, l'Offset e il Numero di Sequenza.

Messaggio di errore

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

ErroreDeserializzatoreInput.IntestazioneNonValida

  • Causa: l'intestazione dei dati di input non è valida. Ad esempio, un file CSV contiene colonne con nomi duplicati.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avviso
  • Impatto: I messaggi con errori di deserializzazione, incluso un header non valido, vengono eliminati dall'input.
  • Dettagli del registro:
    • Identificatore del messaggio di input.
    • Payload effettivo fino a qualche kilobyte.

Messaggio di errore

"BriefMessage": "Invalid CSV Header for resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt'. Please make sure there are no duplicate field names."

Errore di Deserializzazione di Input: Mancano le Colonne (InputDeserializerError.MissingColumns)

  • Causa: Le colonne di input che definisci con CREATE TABLE o attraverso TIMESTAMP BY non esistono.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avviso
  • Impatto: gli eventi con colonne mancanti vengono eliminati dall'input.
  • Dettagli del registro:
    • Identificatore del messaggio di input.
    • Nomi delle colonne mancanti.
    • Payload effettivo fino a qualche kilobyte.

Messaggi di errore

"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 non può convertire l'input nel tipo specificato nella CREATE TABLE dichiarazione.
  • Notifica del portale fornita: Sì
  • Livello di registrazione della risorsa: Avviso
  • Impatto: Stream Analytics elimina gli eventi con un errore di conversione di tipo dall'input.
  • Dettagli del registro:
    • Identificatore del messaggio di input.
    • Nome della colonna e tipo previsto.

Messaggi di errore

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

ErroreDeserializzazioneInput.DatiNonValidi

  • Causa: I dati di input non sono nel formato corretto. Ad esempio, l'input non è JSON valido.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avviso
  • Impatto: Stream Analytics elimina tutti gli eventi nel messaggio dopo aver incontrato un errore di dati non valido.
  • Dettagli del registro:
    • Identificatore del messaggio di input.
    • Carico utile effettivo fino a qualche kilobyte.

Messaggi di errore

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

Timestamp di input non valido

  • Causa: il valore dell'espressione TIMESTAMP BY non può essere convertito in datetime.
  • Notifica del portale fornita: Sì
  • Livello di registro della risorsa: Avviso
  • Impatto: gli eventi con timestamp di input non valido vengono eliminati dall'input.
  • Dettagli del registro:
    • Identificatore del messaggio di input.
    • Messaggio di errore.
    • Carico utile effettivo fino a qualche kilobyte.

Messaggio di errore

"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: il valore di TIMESTAMP BY OVER timestampColumn è NULL.
  • Notifica del portale fornita: Sì
  • Livello di registrazione della risorsa: Avviso
  • Impatto: gli eventi con chiave timestamp di input non valida vengono eliminati dall'input.
  • Dettagli del registro:
    • Il carico utile effettivo arriva fino a pochi kilobyte.

Messaggio di errore

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

LateInputEvent

  • Causa: La differenza tra il tempo di applicazione e il tempo di arrivo è maggiore rispetto alla finestra di tolleranza per arrivo tardivo.
  • Notifica del portale fornita: No
  • Livello di log delle risorse: informazioni
  • Impatto: gli eventi di input tardivi vengono gestiti in base all'impostazione "Gestire altri eventi" nella sezione Ordinamento eventi della configurazione del processo. Per ulteriori informazioni, consulta le Politiche di gestione del tempo.
  • Dettagli del registro:
    • Ora dell'applicazione e ora di arrivo.
    • Payload effettivo: fino a pochi kilobyte.

Messaggio di errore

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

EarlyInputEvent

  • Causa: La differenza tra il tempo di applicazione e il tempo di arrivo è superiore a cinque minuti.
  • Notifica del portale fornita: No
  • Livello di log delle risorse: informazioni
  • Impatto: gli eventi di input iniziali vengono gestiti in base all'impostazione "Gestisci altri eventi" nella sezione Ordinamento degli eventi della configurazione del job. Per ulteriori informazioni, consulta le Politiche di gestione del tempo.
  • Dettagli del registro:
    • Ora dell'applicazione e ora di arrivo.
    • Dimensione effettiva del payload fino a pochi kilobyte.

Messaggio di errore

"BriefMessage": "Input event arrival time '2019-01-01' is earlier than input event application timestamp '2019-01-02' by more than 5 minutes."

EventoFuoriOrdine

  • Causa: L'evento è fuori sequenza in base alla finestra di tolleranza per eventi fuori ordine definita.
  • Notifica del portale fornita: No
  • Livello di registrazione delle risorse: Informazioni
  • Impatto: Il lavoro gestisce gli eventi fuori ordine in base all'impostazione Gestire altri eventi nella sezione Ordinazione degli eventi della configurazione del lavoro. Per ulteriori informazioni, consulta le Politiche di gestione del tempo.
  • Dettagli del registro:
    • Dimensione effettiva del payload fino a pochi kilobyte.

Messaggio di errore

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

Errori nei dati di output

Analisi di flusso di Azure può identificare gli errori nei dati di output con o senza una richiesta di I/O alla destinazione di output, a seconda della configurazione. Ad esempio, Stream Analytics può identificare una colonna richiesta mancante, come PartitionKey, quando si utilizza l'output Azure Table senza una richiesta I/O. Tuttavia, le violazioni dei vincoli nell'output SQL richiedono una richiesta di I/O.

Stream Analytics può rilevare diversi errori di dati solo dopo aver chiamato il dissipatore di output, il che può rallentare l'elaborazione. Per risolvere questo problema, modifica la configurazione del tuo lavoro o la query che causa l'errore di dato.

ErroreDiConversioneDatiDiOutput.ColonnaObbligatoriaMancante

  • Causa: la colonna richiesta per l'output non esiste. Ad esempio, una colonna definita come Tabella di Azure PartitionKey non esiste.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avvertimento
  • Impatto: L'impostazione Output Data Policy gestisce tutti gli errori di conversione dei dati di output, inclusi i parametri mancanti delle colonne richieste.
  • Dettagli del registro:
    • Nome della colonna e l'identificatore del record o una parte del record.

Messaggio di errore

"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: il valore della colonna non è conforme all'output. Ad esempio, il nome della colonna non è una colonna di tabella di Azure valida.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: Avviso
  • Impatto: tutti gli errori di conversione dei dati di output, incluso il nome di colonna non valido, vengono gestiti in base all'impostazione Criteri dati di output.
  • Dettagli del registro:
    • Nome della colonna e l'identificatore del record o una parte del record.

Messaggio di errore

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

OutputDataConversionError.TypeConversionError

  • Causa: non è possibile convertire una colonna in un tipo valido nell'output. Ad esempio, il valore della colonna non è compatibile con vincoli o tipo definito nella tabella SQL.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avviso
  • Impatto: tutti gli errori di conversione dei dati di output, compresi gli errori di conversione del tipo, vengono gestiti in base all'impostazione Criterio per i dati di output.
  • Dettagli del registro:
    • Nome della colonna.
    • L'identificatore del record o una parte del record.

Messaggio di errore

"Message": "The column [id] value null or its type is invalid. Ensure to provide a unique non-empty string less than '255' characters."

OutputDataConversionError.DimensioneRecordSuperataLimite

  • Causa: il valore del messaggio è maggiore delle dimensioni di output supportate. Ad esempio, un record supera 1 MB per un output di Hub eventi.
  • Notifica del portale fornita: Sì
  • Livello di registrazione della risorsa: Avviso
  • Impatto: tutti gli errori di conversione dei dati di output, incluso l'errore di superamento del limite di dimensione del record, vengono gestiti in base all'impostazione del criterio dei dati di output.
  • Dettagli del registro:
    • Identificatore del record o parte di esso.

Messaggio di errore

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

OutputDataConversionError.DuplicateKey

  • Causa: Un record contiene già una colonna con lo stesso nome di una colonna di sistema. Ad esempio, l'output di Azure Cosmos DB contiene una colonna denominata ID quando la colonna ID è associata a una colonna diversa.
  • Notifica del portale fornita: Sì
  • Livello di log delle risorse: avviso
  • Impatto: tutti gli errori di conversione dei dati di output, inclusa la chiave duplicata, vengono gestiti in base all'impostazione dei criteri dei dati di output.
  • Dettagli del registro:
    • Nome della colonna.
    • L'identificatore del record o una parte del record.

Messaggio di errore

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

Passaggi successivi