Chyby Azure Stream Analytics dat

Chyby dat jsou chyby, ke kterým došlo při zpracování dat. K těmto chybám dochází nejčastěji během operací zrušení serializace, serializace a zápisu dat. Pokud dojde k chybám dat, Stream Analytics zapisuje podrobné informace a ukázkové události do protokolů prostředků. Pokud chcete získat další podrobnosti, povolte v úloze diagnostické protokoly. V některých případech je souhrn těchto informací k dispozici také prostřednictvím oznámení na portálu.

Tento článek popisuje různé typy chyb, příčiny a podrobnosti o chybách vstupních a výstupních dat v protokolu prostředků.

Schéma protokolů prostředků

V tématu řešení potíží s Azure Stream Analytics pomocí diagnostických protokolů můžete zobrazit schéma pro protokoly prostředků. Následující JSON je příkladem hodnoty pro pole vlastnosti protokolu prostředku pro chybu dat.

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

Chyby vstupních dat

InputDeserializerError.InvalidCompressionType

  • Příčina: vybraný typ komprese vstupu neodpovídá datům.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: zprávy s jakoukoli chybou deserializace, včetně neplatného typu komprese, jsou ze vstupu vypuštěny.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy V centru událostí je identifikátorem PartitionId, offset a pořadové číslo.

Chybová zpráva

"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

  • Příčina: záhlaví vstupních dat je neplatné. Sdílený svazek clusteru má například sloupce s duplicitními názvy.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: zprávy s jakýmikoli chybami deserializace, včetně neplatných hlaviček, jsou ze vstupu vypuštěny.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy
    • Skutečná datová část až do několika kilobajtů

Chybová zpráva

"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

  • Příčina: neexistuje vstupní sloupec definovaný pomocí CREATE TABLE nebo prostřednictvím časového RAZÍTKa.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: události, které mají chybějící sloupce, se z vstupu zahozeny.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy
    • Názvy sloupců, které chybí.
    • Skutečná datová část až do několika kilobajtů

Chybové zprávy

"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

  • Příčina: nelze převést vstup na typ zadaný v příkazu CREATE TABLE.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: události s chybou konverze typu jsou ze vstupu vyřazeny.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy
    • Název sloupce a očekávaného typu.

Chybové zprávy

"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

  • Příčina: vstupní data nejsou ve správném formátu. Například vstup není platný formát JSON.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: všechny události ve zprávě po zjištění neplatného data jsou vyřazeny ze vstupu.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy
    • Skutečná datová část až do několika kilobajtů

Chybové zprávy

"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

  • Příčina: hodnota časového RAZÍTKa podle výrazu se nedá převést na typ DateTime.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: události s neplatným vstupním časovým razítkem jsou ze vstupu vypuštěné.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy
    • Chybová zpráva
    • Skutečná datová část až do několika kilobajtů

Chybová zpráva

"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

  • Příčina: hodnota časového RAZÍTKa prostřednictvím timestampColumn má hodnotu NULL.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: události s neplatným vstupním klíčem časového razítka jsou ze vstupu vyřazeny.
  • Podrobnosti protokolu
    • Skutečná datová část až do několika kilobajtů.

Chybová zpráva

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

LateInputEvent

  • Příčina: rozdíl mezi časem a dobou doručení aplikace je větší než zpožděná tolerance doručení.
  • Poskytnuté oznámení na portálu: ne
  • Úroveň protokolu prostředků: informace
  • Dopad: zpožděné vstupní události se zpracovávají podle nastavení "zpracovat jiné události" v části řazení událostí v konfiguraci úlohy. Další informace najdete v tématu zásady zpracování času.
  • Podrobnosti protokolu
    • Čas aplikace a čas doručení.
    • Skutečná datová část až do několika kilobajtů

Chybová zpráva

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

EarlyInputEvent

  • Příčina: rozdíl mezi časem aplikace a dobou doručení je větší než 5 minut.
  • Poskytnuté oznámení na portálu: ne
  • Úroveň protokolu prostředků: informace
  • Dopad: události předčasného vstupu jsou zpracovávány podle nastavení "zpracovat jiné události" v části řazení událostí v konfiguraci úlohy. Další informace najdete v tématu zásady zpracování času.
  • Podrobnosti protokolu
    • Čas aplikace a čas doručení.
    • Skutečná datová část až do několika kilobajtů

Chybová zpráva

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

OutOfOrderEvent

  • Příčina: událost je považována za mimo pořadí podle definovaného okna tolerance mimo pořadí.
  • Poskytnuté oznámení na portálu: ne
  • Úroveň protokolu prostředků: informace
  • Dopad: události mimo pořadí jsou zpracovávány podle nastavení "zpracovat jiné události" v části řazení událostí v konfiguraci úlohy. Další informace najdete v tématu zásady zpracování času.
  • Podrobnosti protokolu
    • Skutečná datová část až do několika kilobajtů

Chybová zpráva

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

Chyby výstupních dat

Azure Stream Analytics může identifikovat chyby výstupních dat s požadavkem vstupu/výstupu do výstupní jímky v závislosti na konfiguraci. Například chybějící požadovaný sloupec, například PartitionKey , při použití výstupu tabulky Azure, lze identifikovat bez požadavku na vstupně-výstupní operace. Porušení omezení v SQL Output ale vyžadují vstupně-výstupní požadavek.

Došlo k několika chybám dat, které mohou být zjištěny pouze po volání výstupní jímky, což může zpomalit zpracování. Chcete-li tento problém vyřešit, změňte konfiguraci úlohy nebo dotaz, který způsobuje chybu dat.

OutputDataConversionError.RequiredColumnMissing

  • Příčina: sloupec vyžadovaný pro výstup neexistuje. Například sloupec, který je definován jako Azure Table PartitionKey does't, existuje.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: všechny chyby převodu výstupních dat, včetně chybějících požadovaných sloupců, se zpracovávají podle nastavení zásad výstupních dat .
  • Podrobnosti protokolu
    • Název sloupce a buď identifikátor záznamu, nebo část záznamu.

Chybová zpráva

"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

  • Příčina: hodnota sloupce nevyhovuje výstupu. Například název sloupce není platný sloupec tabulky Azure.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: všechny chyby převodu výstupních dat, včetně neplatného názvu sloupce, se zpracovávají podle nastavení zásad výstupních dat .
  • Podrobnosti protokolu
    • Název sloupce a buď identifikátor záznamu, nebo část záznamu.

Chybová zpráva

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

OutputDataConversionError.TypeConversionError

  • Příčina: sloupec nejde převést na platný typ ve výstupu. Například hodnota sloupce je nekompatibilní s omezeními nebo typem definovaným v tabulce SQL.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: všechny chyby převodu výstupních dat, včetně chyby konverze typu, se zpracovávají podle nastavení zásad výstupních dat .
  • Podrobnosti protokolu
    • Název sloupce
    • Buď identifikátor záznamu, nebo část záznamu.

Chybová zpráva

"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

  • Příčina: hodnota zprávy je větší než podporovaná velikost výstupu. Například záznam je větší než 1 MB pro výstup centra událostí.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: všechny chyby převodu výstupních dat, včetně omezení velikosti překročení záznamu, se zpracovávají podle nastavení zásad výstupních dat .
  • Podrobnosti protokolu
    • Buď identifikátor záznamu, nebo část záznamu.

Chybová zpráva

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

OutputDataConversionError.DuplicateKey

  • Příčina: záznam již obsahuje sloupec se stejným názvem jako systémový sloupec. Například výstup CosmosDB se sloupcem s názvem ID, když sloupec ID je na jiný sloupec.
  • Poskytnuté oznámení na portálu: Ano
  • Úroveň protokolu prostředků: upozornění
  • Dopad: všechny chyby převodu výstupních dat, včetně duplicitního klíče, se zpracovávají podle nastavení zásad výstupních dat .
  • Podrobnosti protokolu
    • Název sloupce
    • Buď identifikátor záznamu, nebo část záznamu.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Další kroky