Share via


Azure Stream Analytics-gegevensfouten

Gegevensfouten zijn fouten die optreden tijdens het verwerken van de gegevens. Deze fouten treden meestal op tijdens gegevensontserialisatie, serialisatie en schrijfbewerkingen. Wanneer er gegevensfouten optreden, schrijft Stream Analytics gedetailleerde informatie en voorbeeld gebeurtenissen naar de resourcelogboeken. Schakel diagnostische logboeken in uw taak in om deze aanvullende informatie te verkrijgen. In sommige gevallen wordt ook een samenvatting van deze informatie gegeven via portalmeldingen.

In dit artikel worden de verschillende fouttypen, oorzaken en resourcelogboekgegevens beschreven voor fouten met invoer- en uitvoergegevens.

Schema resourcelogboeken

Zie Problemen met Azure Stream Analytics oplossen met behulp van diagnostische logboeken om het schema voor resourcelogboeken te bekijken. De volgende JSON is een voorbeeldwaarde voor het veld Eigenschappen van een resourcelogboek voor een gegevensfout.

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

Invoergegevensfouten

InputDeserializerError.InvalidCompressionType

  • Oorzaak: Het geselecteerde invoercompressietype komt niet overeen met de gegevens.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: berichten met eventuele deserialisatiefouten, inclusief ongeldig compressietype, worden verwijderd uit de invoer.
  • Logboekgegevens
    • Invoerbericht-id. Voor Event Hub is de id de PartitionId, Offset en Sequence Number.

Foutbericht

"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

  • Oorzaak: De header van invoergegevens is ongeldig. Een CSV bevat bijvoorbeeld kolommen met dubbele namen.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: berichten met eventuele deserialisatiefouten, inclusief ongeldige header, worden verwijderd uit de invoer.
  • Logboekgegevens
    • Invoerbericht-id.
    • Werkelijke nettolading tot een paar kilobytes.

Foutbericht

"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

  • Oorzaak: De invoerkolommen die zijn gedefinieerd met CREATE TABLE of via TIMESTAMP BY, bestaan niet.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: gebeurtenissen met ontbrekende kolommen worden verwijderd uit de invoer.
  • Logboekgegevens
    • Invoerbericht-id.
    • Namen van de kolommen die ontbreken.
    • Werkelijke nettolading tot een paar kilobytes.

Foutberichten

"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

  • Oorzaak: kan de invoer niet converteren naar het type dat is opgegeven in de instructie CREATE TABLE.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: gebeurtenissen met fout bij typeconversie worden verwijderd uit de invoer.
  • Logboekgegevens
    • Invoerbericht-id.
    • Naam van de kolom en het verwachte type.

Foutberichten

"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

  • Oorzaak: Invoergegevens hebben niet de juiste indeling. De invoer is bijvoorbeeld geen geldige JSON.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: alle gebeurtenissen in het bericht nadat er een ongeldige gegevensfout is opgetreden, worden verwijderd uit de invoer.
  • Logboekgegevens
    • Invoerbericht-id.
    • Werkelijke nettolading tot een paar kilobytes.

Foutberichten

"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

  • Oorzaak: De waarde van de TIMESTAMP BY-expressie kan niet worden geconverteerd naar datum/tijd.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: gebeurtenissen met een ongeldige invoertijdstempel worden verwijderd uit de invoer.
  • Logboekgegevens
    • Invoerbericht-id.
    • Foutbericht.
    • Werkelijke nettolading tot een paar kilobytes.

Foutbericht

"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

  • Oorzaak: De waarde van TIMESTAMP BY OVER timestampColumn is NULL.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: gebeurtenissen met een ongeldige invoertijdstempelsleutel worden verwijderd uit de invoer.
  • Logboekgegevens
    • De werkelijke nettolading tot een paar kilobytes.

Foutbericht

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

LateInputEvent

  • Oorzaak: Het verschil tussen toepassingstijd en aankomsttijd is groter dan het venster voor tolerantie voor late aankomst.
  • Opgegeven portalmelding: Nee
  • Niveau van resourcelogboek: informatie
  • Impact: Late invoergebeurtenissen worden verwerkt volgens de instelling 'Andere gebeurtenissen verwerken' in de sectie Gebeurtenisvolgorde van de taakconfiguratie. Zie Beleid voor tijdafhandeling voor meer informatie.
  • Logboekgegevens
    • Toepassingstijd en aankomsttijd.
    • Werkelijke nettolading tot een paar kilobytes.

Foutbericht

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

EarlyInputEvent

  • Oorzaak: Het verschil tussen de toepassingstijd en de aankomsttijd is groter dan 5 minuten.
  • Opgegeven portalmelding: Nee
  • Niveau van resourcelogboek: informatie
  • Impact: Vroege invoergebeurtenissen worden verwerkt volgens de instelling 'Andere gebeurtenissen verwerken' in de sectie Gebeurtenisvolgorde van de taakconfiguratie. Zie Beleid voor tijdafhandeling voor meer informatie.
  • Logboekgegevens
    • Toepassingstijd en aankomsttijd.
    • Werkelijke nettolading tot een paar kilobytes.

Foutbericht

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

OutOfOrderEvent

  • Oorzaak: Gebeurtenis wordt buiten orde beschouwd volgens het gedefinieerde venster van de ordertolerantie.
  • Opgegeven portalmelding: Nee
  • Niveau van resourcelogboek: informatie
  • Impact: Buiten de ordergebeurtenissen worden verwerkt volgens de instelling 'Andere gebeurtenissen verwerken' in de sectie Gebeurtenisvolgorde van de taakconfiguratie. Zie Beleid voor tijdafhandeling voor meer informatie.
  • Logboekgegevens
    • Werkelijke nettolading tot een paar kilobytes.

Foutbericht

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

Fouten met uitvoergegevens

Azure Stream Analytics kan uitvoergegevensfouten identificeren met of zonder een I/O-aanvraag naar de uitvoersink, afhankelijk van de configuratie. Als u bijvoorbeeld een vereiste kolom mist, zoals PartitionKeywanneer u Azure Table-uitvoer gebruikt, kan worden geïdentificeerd zonder een I/O-aanvraag. Voor schendingen van beperkingen in SQL-uitvoer is echter wel een I/O-aanvraag vereist.

Er zijn verschillende gegevensfouten die alleen kunnen worden gedetecteerd nadat de uitvoersink is aangeroepen, waardoor de verwerking kan worden vertraagd. U kunt dit oplossen door de configuratie van uw taak of de query te wijzigen die de gegevensfout veroorzaakt.

OutputDataConversionError.RequiredColumnMissing

  • Oorzaak: De kolom die is vereist voor de uitvoer bestaat niet. Er bestaat bijvoorbeeld geen kolom die is gedefinieerd als Azure Table PartitionKey.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: Alle uitvoergegevensconversiefouten, inclusief ontbrekende vereiste kolom, worden verwerkt volgens de instelling Uitvoergegevensbeleid .
  • Logboekgegevens
    • Naam van de kolom en de record-id of een deel van de record.

Foutbericht

"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

  • Oorzaak: De kolomwaarde voldoet niet aan de uitvoer. De kolomnaam is bijvoorbeeld geen geldige Azure-tabelkolom.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: Alle fouten bij het converteren van uitvoergegevens, inclusief ongeldige kolomnaam, worden verwerkt volgens de instelling Uitvoergegevensbeleid .
  • Logboekgegevens
    • De naam van de kolom en de record-id of een deel van de record.

Foutbericht

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

OutputDataConversionError.TypeConversionError

  • Oorzaak: Een kolom kan niet worden geconverteerd naar een geldig type in de uitvoer. De waarde van de kolom is bijvoorbeeld niet compatibel met beperkingen of het type dat is gedefinieerd in de SQL-tabel.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: Alle uitvoergegevensconversiefouten, inclusief typeconversiefout, worden verwerkt volgens de instelling Uitvoergegevensbeleid .
  • Logboekgegevens
    • Naam van de kolom.
    • Record-id of een deel van de record.

Foutbericht

"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

  • Oorzaak: De waarde van het bericht is groter dan de ondersteunde uitvoergrootte. Een record is bijvoorbeeld groter dan 1 MB voor een Event Hub-uitvoer.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: Alle fouten bij het converteren van uitvoergegevens, inclusief recordlimiet overschreden, worden verwerkt volgens de instelling Beleid voor uitvoergegevens.
  • Logboekgegevens
    • Record-id of een deel van de record.

Foutbericht

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

OutputDataConversionError.DuplicateKey

  • Oorzaak: Een record bevat al een kolom met dezelfde naam als een systeemkolom. CosmosDB-uitvoer bijvoorbeeld met een kolom met de naam ID wanneer de id-kolom naar een andere kolom gaat.
  • Opgegeven portalmelding: Ja
  • Niveau van resourcelogboek: waarschuwing
  • Impact: Alle fouten bij het converteren van uitvoergegevens, inclusief dubbele sleutel, worden verwerkt volgens de instelling Uitvoergegevensbeleid .
  • Logboekgegevens
    • Naam van de kolom.
    • Record-id of een deel van de record.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Volgende stappen