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í během operací 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ů. Povolte v úloze diagnostické protokoly, abyste získali tyto další podrobnosti. V některých případech se souhrn těchto informací poskytuje také prostřednictvím oznámení na 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ů

Schéma pro protokoly prostředků najdete v tématu Řešení potíží s Azure Stream Analytics pomocí diagnostických protokolů . Následující kód JSON je ukázkovou hodnotou pro pole Vlastnosti v 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í na portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Zprávy s chybami deserializace, včetně neplatného typu komprese, se ze vstupu vyřadí.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy. V případě centra událostí je identifikátorEm id oddílu, posunu a pořadového čísla.

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 csv obsahuje sloupce s duplicitními názvy.
  • Zadané oznámení na portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Zprávy s chybami deserializace, včetně neplatné hlavičky, se ze vstupu vyřadí.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy.
    • Skutečná datová část 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í příkazu CREATE TABLE nebo prostřednictvím funkce TIMESTAMP BY neexistují.
  • Zadané oznámení na portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Události s chybějícími sloupci se ze vstupu vyřadí.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy.
    • Názvy sloupců, které chybí.
    • Skutečná datová část 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í na portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Události s chybou převodu typu se ze vstupu vyřadí.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy.
    • Název sloupce a očekávaný typ.

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ý ve formátu JSON.
  • Zadané oznámení na portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Všechny události ve zprávě po výskytu neplatné chyby dat se ze vstupu vyřadí.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy.
    • Skutečná datová část 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í na portálu: Ano
  • Úroveň protokolu prostředků: Upozornění
  • Dopad: Události s neplatným časovým razítkem vstupu se ze vstupu vyřadí.
  • Podrobnosti protokolu
    • Identifikátor vstupní zprávy.
    • Chybová zpráva.
    • Skutečná datová část 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í na 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 vyřadí.
  • Podrobnosti protokolu
    • Skutečná datová část 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í na 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 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 doručení je větší než 5 minut.
  • Zadané oznámení na portálu: Ne
  • Úroveň protokolu prostředků: Informace
  • Dopad: Počáteční vstupní události se zpracovávají podle nastavení Zpracování jiných událostí 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 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 se považuje za událost 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í se zpracovávají podle nastavení Zpracování jiných událostí 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 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 se vstupně-výstupním požadavkem na výstupní jímku nebo bez něj. Například chybějící požadovaný sloupec, například PartitionKey, při použití výstupu tabulky Azure je možné identifikovat bez požadavku na vstupně-výstupní operace. 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.
  • 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ího požadovaného sloupce, se zpracovávají podle nastavení Zásady výstupních dat .
  • Podrobnosti protokolu
    • Název sloupce a 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 neodpovídá výstupu. Například název sloupce není platným sloupcem 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ásady výstupních 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.
  • 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 převodu typů, se zpracovávají podle nastavení zásady výstupních dat .
  • Podrobnosti protokolu
    • Název sloupce
    • Buď identifikátor záznamu, nebo jeho část.

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. Záznam je například 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ě překročení limitu velikosti záznamů, se zpracovávají podle nastavení zásad pro výstupní data .
  • Podrobnosti protokolu
    • Buď identifikátor záznamu, nebo jeho část.

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 už obsahuje sloupec se stejným názvem jako sloupec System. Například výstup služby Cosmos DB se sloupcem s názvem ID, pokud je sloupec ID do jiného sloupce.
  • 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 jeho část.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Další kroky