Megosztás a következőn keresztül:


Azure Stream Analytics-adathibák

Az adathibák az adatok feldolgozása során előforduló hibák. Ezek a hibák leggyakrabban adatszerializálási, szerializálási és írási műveletek során fordulnak elő. Adathibák esetén a Stream Analytics részletes információkat és példaeseményeket ír az erőforrásnaplókba. Engedélyezze a diagnosztikai naplókat a feladatban a további részletek lekéréséhez. Bizonyos esetekben az információk összegzését a portál értesítései is biztosítják.

Ez a cikk a bemeneti és kimeneti adatok hibáinak különböző hibatípusait, okait és erőforrásnapló-részleteit ismerteti.

Erőforrásnaplók sémája

Lásd: Az Azure Stream Analytics hibaelhárítása diagnosztikai naplók használatával az erőforrásnaplók sémájának megtekintéséhez. Az alábbi JSON egy példaérték egy adathiba erőforrásnaplójának Tulajdonságok mezőjére.

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

Bemeneti adatokkal kapcsolatos hibák

InputDeserializerError.InvalidCompressionType

  • Ok: A kiválasztott bemeneti tömörítési típus nem egyezik az adatokkal.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: A deszerializálási hibákkal (beleértve az érvénytelen tömörítési típust) rendelkező üzeneteket a rendszer elveti a bemenetből.
  • Napló részletei
    • Bemeneti üzenet azonosítója. Az Event Hub esetében az azonosító a PartitionId, az Offset és a Sequence Number.

Hibaüzenet

"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

  • Ok: A bemeneti adatok fejléce érvénytelen. A CSV-k például ismétlődő névvel rendelkező oszlopokat tartalmaznak.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: A deszerializálási hibákkal (beleértve az érvénytelen fejlécet) rendelkező üzeneteket a rendszer elveti a bemenetből.
  • Napló részletei
    • Bemeneti üzenet azonosítója.
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenet

"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

  • Ok: A CREATE TABLE vagy a TIMESTAMP BY használatával definiált bemeneti oszlopok nem léteznek.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: A hiányzó oszlopokkal rendelkező eseményeket a program elveti a bemenetből.
  • Napló részletei
    • Bemeneti üzenet azonosítója.
    • A hiányzó oszlopok nevei.
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenetek

"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

  • Ok: A bemenet nem konvertálható a CREATE TABLE utasításban megadott típusra.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: A típuskonvertálási hibával rendelkező eseményeket a rendszer elveti a bemenetből.
  • Napló részletei
    • Bemeneti üzenet azonosítója.
    • Az oszlop neve és a várt típus.

Hibaüzenetek

"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

  • Ok: A bemeneti adatok nem a megfelelő formátumúak. A bemenet például nem érvényes JSON.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az üzenet összes eseménye érvénytelen adathiba után el lesz távolítva a bemenetből.
  • Napló részletei
    • Bemeneti üzenet azonosítója.
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenetek

"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

  • Ok: A TIMESTAMP BY kifejezés értéke nem konvertálható datetime-ra.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az érvénytelen bemeneti időbélyeggel rendelkező eseményeket a rendszer elveti a bemenetből.
  • Napló részletei
    • Bemeneti üzenet azonosítója.
    • Hibaüzenet.
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenet

"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

  • Ok: A TIMESTAMP BY OVER timestampColumn értéke NULL.
  • Portálértesítés: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az érvénytelen bemeneti időbélyeg-kulccsal rendelkező eseményeket a rendszer elveti a bemenetből.
  • Napló részletei
    • A tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenet

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

LateInputEvent

  • Ok: A jelentkezési idő és az érkezési idő közötti különbség nagyobb, mint a késői érkezési tolerancia időszaka.
  • Portálértesítés megadva: Nem
  • Erőforrásnapló szintje: Információ
  • Hatás: A késői bemeneti események kezelése a feladatkonfiguráció Eseményrendezés szakaszában található "Egyéb események kezelése" beállításnak megfelelően lesz kezelve. További információ: Időkezelési szabályzatok.
  • Napló részletei
    • Alkalmazásidő és érkezési idő.
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenet

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

EarlyInputEvent

  • Ok: Az alkalmazásidő és az érkezési idő közötti különbség 5 percnél nagyobb.
  • Portálértesítés megadva: Nem
  • Erőforrásnapló szintje: Információ
  • Hatás: A korai bemeneti események kezelése a feladatkonfiguráció Eseményrendezés szakaszában található "Egyéb események kezelése" beállításnak megfelelően lesz kezelve. További információ: Időkezelési szabályzatok.
  • Napló részletei
    • Alkalmazásidő és érkezési idő.
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenet

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

OutOfOrderEvent

  • Ok: Az eseményt a rendszer a megadott sorrenden kívüli tűréshatárnak megfelelően rendezi.
  • Portálértesítés megadva: Nem
  • Erőforrásnapló szintje: Információ
  • Hatás: A sorrenden kívüli események kezelése a feladatkonfiguráció Eseményrendezés szakaszában található "Egyéb események kezelése" beállításnak megfelelően történik. További információ: Időkezelési szabályzatok.
  • Napló részletei
    • Tényleges hasznos adat akár néhány kilobájtig.

Hibaüzenet

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

Kimeneti adatok hibái

Az Azure Stream Analytics a konfigurációtól függően képes azonosítani a kimeneti fogadó felé irányuló I/O-kéréssel vagy anélkül előforduló kimeneti adathibákat. Ha például hiányzik egy szükséges oszlop( például PartitionKey), az Azure Table kimenetének használata esetén I/O-kérés nélkül azonosítható. Az SQL-kimenetben a kényszer megsértése azonban I/O-kérést igényel.

Számos adathiba észlelhető, amelyek csak a kimeneti fogadó hívása után észlelhetők, ami lelassíthatja a feldolgozást. A probléma megoldásához módosítsa a feladat konfigurációját vagy az adathibát okozó lekérdezést.

OutputDataConversionError.RequiredColumnMissing

  • Ok: A kimenethez szükséges oszlop nem létezik. Az Azure Table PartitionKey néven definiált oszlop például nem létezik.
  • Portálértesítés megadva: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az összes kimeneti adatkonvertálási hiba, beleértve a hiányzó kötelező oszlopot is, a Kimeneti adatok szabályzata beállításnak megfelelően lesz kezelve.
  • Napló részletei
    • Az oszlop neve és a rekordazonosító vagy a rekord egy része.

Hibaüzenet

"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

  • Ok: Az oszlop értéke nem felel meg a kimenetnek. Az oszlopnév például nem érvényes Azure-táblaoszlop.
  • Portálértesítés megadva: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az összes kimeneti adatkonvertálási hiba, beleértve az érvénytelen oszlopnevet is, a kimeneti adatházirend-beállításnak megfelelően lesz kezelve.
  • Napló részletei
    • Az oszlop neve és rekordazonosító vagy a rekord egy része.

Hibaüzenet

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

OutputDataConversionError.TypeConversionError

  • Ok: Az oszlopok nem konvertálhatók érvényes típussá a kimenetben. Az oszlop értéke például nem kompatibilis az SQL-táblában meghatározott korlátozásokkal vagy típussal.
  • Portálértesítés megadva: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az összes kimeneti adatkonvertálási hiba, beleértve a típuskonverziós hibát is, a kimeneti adatházirend-beállításnak megfelelően lesz kezelve.
  • Napló részletei
    • Az oszlop neve.
    • Rekordazonosító vagy a rekord egy része.

Hibaüzenet

"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

  • Ok: Az üzenet értéke nagyobb, mint a támogatott kimeneti méret. Egy rekord például 1 MB-nál nagyobb egy eseményközpont kimenetéhez.
  • Portálértesítés megadva: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az összes kimeneti adatkonvertálási hiba, beleértve a rekordméretkorlátot is, a kimeneti adatházirend-beállításnak megfelelően történik.
  • Napló részletei
    • Rekordazonosító vagy a rekord egy része.

Hibaüzenet

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

OutputDataConversionError.DuplicateKey

  • Ok: Egy rekord már tartalmaz egy olyan oszlopot, amelynek neve megegyezik a Rendszer oszlop nevével. A CosmosDB kimenete például egy ID nevű oszloppal, amikor az AZONOSÍTÓ oszlop egy másik oszlopba kerül.
  • Portálértesítés megadva: Igen
  • Erőforrásnapló szintje: Figyelmeztetés
  • Hatás: Az összes kimeneti adatkonvertálási hiba, beleértve az ismétlődő kulcsot is, a kimeneti adatházirend-beállításnak megfelelően történik.
  • Napló részletei
    • Az oszlop neve.
    • Rekordazonosító vagy a rekord egy része.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Következő lépések