Datafel i Azure Stream Analytics

Datafel uppstår när Azure Stream Analytics bearbetar din strömmande data. Dessa fel uppstår oftast vid datadeserialisering, serialisering och skrivoperationer. När datafel inträffar skriver Stream Analytics detaljerad information och exempelhändelser i resursloggarna. Aktivera diagnostiska loggar i ditt jobb för att få dessa extra uppgifter. I vissa fall ger portalnotiser också en sammanfattning av denna information.

Den här artikeln beskriver de olika feltyperna, orsakerna och resurslogginformationen för in- och utdatafel.

Schema för resursloggar

För att se schemat för resursloggar, se Felsöka Azure Stream Analytics med diagnostikloggar. Följande JSON är ett exempelvärde för fältet Egenskaper i en resurslogg för ett datafel.

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

Indatafel

InputDeserializerError.OgiltigKompressionstyp

  • Orsak: Den inmatningskomprimeringstyp du valde stämmer inte med datan.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Påverkan: Stream Analytics tar bort meddelanden med eventuella deserialiseringsfel, inklusive en ogiltig komprimeringstyp, från indatan.
  • Loggdetaljer:
    • Identifierare för inmatningsmeddelande. För Azure Event Hubs är identifieraren PartitionId, Offset och Sequence Number.

Felmeddelande

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

Indatadeserialiseringsfel.Ogiltigt huvud

  • Orsak: Rubriken för indata är ogiltig. En CSV-fil har till exempel kolumner med duplicerade namn.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Påverkan: Meddelanden med eventuella deserialiseringsfel, inklusive en ogiltig header, tas bort från indatan.
  • Loggdetaljer:
    • Identifierare för indatameddelande.
    • Faktisk nyttolast upp till några kilobyte.

Felmeddelande

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

Inmatningsavserieringsfel.SaknadeKolumner

  • Orsak: De indatakolumner du definierar med CREATE TABLE eller genom TIMESTAMP BY existerar inte.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Effekt: Händelser med saknade kolumner tas bort från indata.
  • Loggdetaljer:
    • Identifierare för indatameddelande.
    • Namn på de kolumner som saknas.
    • Faktisk laststorlek på upp till några kilobyte.

Felmeddelanden

"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

  • Orsak: Stream Analytics kan inte konvertera indata till den typ du angav i satsen CREATE TABLE .
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Påverkan: Stream Analytics tar bort händelser med ett typkonverteringsfel från indatan.
  • Loggdetaljer:
    • Identifierare för inmatningsmeddelande
    • Namnet på kolumnen och förväntad typ.

Felmeddelanden

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

FelVidAvserialiseringOgiltigaData

  • Orsak: Indatan är inte i rätt format. Indata är till exempel inte giltiga JSON.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Påverkan: Stream Analytics tar bort alla händelser i meddelandet efter att det stött på ett fel med ogiltig data.
  • Loggdetaljer:
    • Identifierare för indatameddelande
    • Faktisk nyttolast upp till några kilobyte.

Felmeddelanden

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

OgiltigInmatningstidsstämpel

  • Orsak: Värdet för TIMESTAMP BY-uttrycket kan inte konverteras till datetime.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Effekt: Händelser med ogiltig tidsstämpel för indata tas bort från indata.
  • Loggdetaljer:
    • Identifierare för indatameddelande
    • Felmeddelande.
    • Den faktiska nyttolasten är upp till några kilobyte.

Felmeddelande

"BriefMessage": "Unable to get timestamp for resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt ' due to error 'Cannot convert string to datetime'"

OgiltigInmatningTidsstämpelNyckel

  • Orsak: Värdet för TIMESTAMP BY OVER timestampColumn är NULL.
  • Portalavisering tillhandahålls: Ja
  • Resursloggnivå: Varning
  • Effekt: Händelser med ogiltig tidsstämpel för indata tas bort från indata.
  • Loggdetaljer:
    • Den faktiska nyttolasten kan vara upp till några kilobyte.

Felmeddelande

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

LateInputEvent

  • Orsak: Skillnaden mellan appliceringstid och ankomsttid är större än toleransfönstret för sen ankomst.
  • Portalmeddelande tillhandahålls: Nej
  • Loggnivå för resurs: Information
  • Effekt: Sena indatahändelser hanteras enligt inställningen "Hantera andra händelser" i avsnittet Händelseordning i jobbkonfigurationen. För mer information, se Tidshanteringspolicys.
  • Loggdetaljer:
    • Applikationstid och ankomsttid.
    • Den faktiska nyttolasten är upp till några kilobyte.

Felmeddelande

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

EarlyInputEvent

  • Orsak: Skillnaden mellan appliceringstid och ankomsttid är större än fem minuter.
  • Portalmeddelande tillhandahålls: Nej
  • Loggnivå för resurs: Information
  • Effekt: Tidiga indatahändelser hanteras enligt inställningen "Hantera andra händelser" i avsnittet Händelseordning i jobbkonfigurationen. För mer information, se Tidshanteringspolicys.
  • Loggdetaljer:
    • Applikationstid och ankomsttid.
    • Faktisk nyttolast på upp till några kilobyte.

Felmeddelande

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

OutOfOrderEvent

  • Orsak: Händelsen är i fel ordning enligt det definierade toleransfönstret för fel ordning.
  • Portalmeddelande tillhandahålls: Nej
  • Loggnivå för resurs: Information
  • Påverkan: Jobbet hanterar händelser utanför ordning enligt inställningen Hantera andra händelser i avsnittet Händelseordning i jobbkonfigurationen. För mer information, se Tidshanteringspolicys.
  • Loggdetaljer:
    • Faktisk nyttolast upp till några kilobyte.

Felmeddelande

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

Fel i utdata

Azure Stream Analytics kan identifiera fel i utdata med eller utan en I/O-begäran till utdatamålet, beroende på konfiguration. Till exempel kan Stream Analytics identifiera en saknad obligatorisk kolumn, såsom PartitionKey, när du använder Azure Table-utdata, utan en I/O-förfrågan. Begränsningsöverträdelser i SQL-utdata kräver dock en I/O-begäran.

Stream Analytics kan upptäcka flera datafel först efter att den har anropat utdatamottagaren, vilket kan göra bearbetningen långsammare. För att lösa detta problem, ändra konfigurationen av ditt jobb eller den fråga som orsakar datafelet.

UtdataKonverteringsFel.NödvändigKolumnSaknas

  • Orsak: Den kolumn som krävs för utdata finns inte. En kolumn som definieras som Azure Table PartitionKey finns till exempel inte.
  • Portalavisering tillhandahålls: Ja
  • Resursens loggnivå: Varning
  • Påverkan: Inställningen Output Data Policy hanterar alla fel i konvertering av utdata, inklusive saknade nödvändiga kolumner.
  • Loggdetaljer:
    • Namnet på kolumnen och antingen postidentifieraren eller en del av posten.

Felmeddelande

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

Fel vid konvertering av utdata: Ogiltigt kolumnnamn

  • Orsak: Kolumnvärdet överensstämmer inte med utdata. Kolumnnamnet är till exempel inte en giltig Azure-tabellkolumn.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Effekt: Alla datakonverteringsfel för utdata, inklusive ogiltigt kolumnnamn, hanteras enligt inställningen Utdataprincip .
  • Loggdetaljer:
    • Kolumnens namn och antingen postens identifierare eller en del av posten.

Felmeddelande

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

OutputDataConversionError.TypeConversionError

  • Orsak: Det går inte att konvertera en kolumn till en giltig typ i utdata. Värdet för kolumnen är till exempel inte kompatibelt med begränsningar eller typ som definierats i SQL-tabellen.
  • Portalavisering tillhandahålls: Ja
  • Loggnivå för resurs: Varning
  • Effekt: Alla konverteringsfel för utdata, inklusive typkonverteringsfel, hanteras enligt inställningen Utdataprincip .
  • Loggdetaljer:
    • Namnet på kolumnen.
    • Antingen postidentifierare eller en del av posten.

Felmeddelande

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

UtdataKonverteringsFel.PostenÖverskredStorleksgränsen

  • Orsak: Meddelandets värde är större än utdatastorleken som stöds. Till exempel kan en post vara större än 1 MB i utdata till Event Hubs.
  • Portalavisering tillhandahålls: Ja
  • Resursens loggnivå: Varning
  • Påverkan: Alla konverteringsfel för utdata, inklusive att en post överskrider storleksgränsen, hanteras enligt inställningen Princip för utdata.
  • Loggdetaljer:
    • Antingen postidentifierare eller en del av posten.

Felmeddelande

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

UtdataKonverteringsFel.DubblettNyckel

  • Orsak: En post innehåller redan en kolumn med samma namn som en systemkolumn. Till exempel returnerar Azure Cosmos DB utdata med en kolumn som heter ID när ID-kolumnen mappas till en annan kolumn.
  • Portalavisering tillhandahålls: Ja
  • Resursens loggnivå: Varning
  • Påverkan: Alla datakonverteringsfel i utdata, inklusive duplicerad nyckel, hanteras enligt inställningen Princip för utdata.
  • Loggdetaljer:
    • Namnet på kolumnen.
    • Antingen postidentifierare eller en del av posten.

Felmeddelande

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

Nästa steg