Sdílet prostřednictvím


Chyby dat Azure Stream Analytics

Chyby dat jsou chyby, ke kterým dochází při zpracování dat. K těmto chybám nejčastěji dochází při operacích de-serializace dat, serializace a zápisu. Když dojde k chybám dat, Stream Analytics zapíše podrobné informace a ukázkové události do protokolů prostředků. Pokud chcete získat další podrobnosti, povolte diagnostické protokoly ve vaší úloze. V některých případech se souhrn těchto informací poskytuje také prostřednictvím oznámení portálu.

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

Schéma protokolů prostředků

Informace o schématu pro protokoly prostředků najdete v tématu Řešení potíží se službou Azure Stream Analytics pomocí diagnostických protokolů . Následující JSON je ukázková hodnota pole Vlastnosti protokolu prostředků 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.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Zprávy s chybami deserializace, včetně neplatného typu komprese, se ze vstupu zahodí.
  • Podrobnosti protokolu
    • Vstupní identifikátor zprávy. V centru událostí je identifikátor Id oddílu, posun 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: Hlavička vstupních dat je neplatná. Například sdílený svazek clusteru obsahuje sloupce s duplicitními názvy.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Zprávy se všemi chybami deserializace, včetně neplatných hlaviček, se ze vstupu zahodí.
  • Podrobnosti protokolu
    • Vstupní identifikátor 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: Vstupní sloupce definované pomocí FUNKCE CREATE TABLE nebo TIMESTAMP BY neexistují.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Události s chybějícími sloupci se ze vstupu zahodí.
  • Podrobnosti protokolu
    • Vstupní identifikátor zprávy.
    • Názvy chybějících sloupců
    • 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.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Ze vstupu se zahodí události s chybou převodu typu.
  • Podrobnosti protokolu
    • Vstupní identifikátor 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ý JSON.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Všechny události ve zprávě po výskytu chyby neplatných dat se ze vstupu zahodí.
  • Podrobnosti protokolu
    • Vstupní identifikátor 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: Hodnotu výrazu TIMESTAMP BY nelze převést na datetime.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Události s neplatným časovým razítkem vstupu se ze vstupu zahodí.
  • Podrobnosti protokolu
    • Vstupní identifikátor 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 TIMESTAMP BY OVER timestampColumn je NULL.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Události s neplatným klíčem časového razítka vstupu se ze vstupu zahodí.
  • 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 aplikace a časem příjezdu je větší než interval tolerance pozdního příjezdu.
  • Zadané oznámení portálu: Ne
  • Úroveň protokolu prostředků: Informace
  • Dopad: Události pozdního vstupu se zpracovávají podle nastavení Zpracovat jiné události v části Pořadí událostí konfigurace úlohy. Další informace najdete v tématu Zásady zpracování času.
  • Podrobnosti protokolu
    • Čas aplikace a čas příjezdu.
    • 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 časem příjezdu je větší než 5 minut.
  • Zadané oznámení portálu: Ne
  • Úroveň protokolu prostředků: Informace
  • Dopad: Události počátečního vstupu se zpracovávají v závislosti na nastavení Zpracovat jiné události v části Pořadí událostí konfigurace úlohy. Další informace najdete v tématu Zásady zpracování času.
  • Podrobnosti protokolu
    • Čas aplikace a čas příjezdu.
    • 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í.
  • Zadané oznámení portálu: Ne
  • Úroveň protokolu prostředků: Informace
  • Dopad: Události mimo pořadí se zpracovávají podle nastavení Zpracovat jiné události v části Pořadí událostí konfigurace ú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 dokáže v závislosti na konfiguraci identifikovat chyby výstupních dat s vstupně-výstupním požadavkem nebo bez požadavků na výstupní jímku. Například chybí požadovaný sloupec, například PartitionKey, při použití výstupu tabulky Azure je možné identifikovat bez V/V požadavku. Porušení omezení ve výstupu SQL ale vyžadují vstupně-výstupní požadavek.

Existuje několik chyb dat, které lze zjistit pouze po volání výstupní jímky, což může zpomalit zpracování. Pokud chcete tento problém vyřešit, změňte konfiguraci úlohy nebo dotaz, který způsobuje chybu dat.

OutputDataConversionError.RequiredColumnMissing

  • Příčina: Sloupec požadovaný pro výstup neexistuje. Například sloupec definovaný jako Azure Table PartitionKey neexistuje.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Všechny chyby převodu výstupních dat, včetně chybějícího požadovaného sloupce, se zpracovávají podle nastavení Výstupní zásady dat.
  • Podrobnosti protokolu
    • Název sloupce a identifikátor záznamu nebo jeho část.

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 neodpovídá výstupu. Například název sloupce není platným sloupcem tabulky Azure.
  • Zadané oznámení 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í Výstupní zásady dat.
  • Podrobnosti protokolu
    • Název sloupce a 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 nelze ve výstupu převést na platný typ. Například hodnota sloupce není kompatibilní s omezeními nebo typem definovaným v tabulce SQL.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Všechny chyby převodu výstupních dat, včetně chyby převodu typu, se zpracovávají v závislosti na nastavení 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í.
  • Zadané oznámení portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Všechny chyby převodu výstupních dat, včetně překročení limitu velikosti záznamu , se zpracovávají podle nastavení 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 s názvem ID sloupce, pokud je sloupec ID na jiný sloupec.
  • Zadané oznámení 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í 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