Kusto.Ingest-fel och undantag
Eventuella fel under inmatningshanteringen på klientsidan indikeras av ett C#-undantag.
Fel
KustoDirectIngestClient-undantag
När du försöker mata in från flera källor kan fel uppstå under inmatningsprocessen.
Om en inmatning misslyckas för en av källorna loggas den och klienten fortsätter att mata in de återstående källorna.
När du har gått över alla källor för inmatning genereras en IngestClientAggregateException
som innehåller IList<IngestClientException> IngestionErrors
medlemmen.
IngestClientException
och dess härledda klasser innehåller ett fält IngestionSource
och ett Error
fält. De två fälten skapar tillsammans en mappning, från källan som misslyckades med inmatningen, till felet som inträffade när inmatningen gjordes. Informationen kan användas i listan IngestionErrors
för att undersöka vilka källor som misslyckades med inmatningen och varför. Undantaget IngestClientAggregateException
innehåller också en boolesk egenskap GlobalError
, som anger om ett fel har inträffat för alla källor.
Fel vid inmatning från filer eller blobar
Om ett inmatningsfel inträffar vid försök att mata in från en blob eller fil tas inte inmatningskällorna bort, även om deleteSourceOnSuccess
flaggan är inställd på true
. Källorna bevaras för ytterligare analys. När felets ursprung har förståtts, och om felet inte kom från själva inmatningskällan, kan klientens användare försöka att ändra den.
Fel vid inmatning från IDataReader
Vid inmatning från DataReader sparas data som ska matas in i en tillfällig mapp vars standardplats är <Temp Path>\Ingestions_<current date and time>
. Den här standardmappen tas alltid bort efter en lyckad inmatning.
IngestFromDataReader
I metoderna retainCsvOnFailure
och IngestFromDataReaderAsync
avgör flaggan, vars standardvärde är false
, om filerna ska behållas efter en misslyckad inmatning. Om den här flaggan är inställd på false
sparas inte data som misslyckas med inmatningen, vilket gör det svårt att förstå vad som gick fel.
KustoQueuedIngestClient-undantag
KustoQueuedIngestClient
matar in data genom att ladda upp meddelanden till en Azure-kö. Om ett fel inträffar före eller under köprocessen utlöses ett IngestClientAggregateException
i slutet av processen. Undantaget som genereras innehåller en samling IngestClientException
med , som innehåller källan för varje fel och som inte hade publicerats i kön. Felet som uppstod när meddelandet skulle publiceras utlöses också.
Publicera till köfel med en fil eller blob som källa
Om ett fel inträffar när KustoQueuedIngestClient
metoderna används IngestFromFile/IngestFromBlob
tas inte källorna bort, även om deleteSourceOnSuccess
flaggan är inställd på true
. I stället bevaras källorna för ytterligare analys.
När felets ursprung har förståtts, och om felet inte kom från själva inmatningskällan, kan klientens användare försöka skicka data igen med hjälp av relevanta IngestFromFile/IngestFromBlob
metoder med den misslyckade källan.
Publicera till köfel med IDataReader som källa
När du använder en DataReader-källa sparas de data som ska skickas till kön till en tillfällig mapp vars standardplats är <Temp Path>\Ingestions_<current date and time>
. Den här mappen tas alltid bort när data har publicerats i kön.
IngestFromDataReader
I metoderna retainCsvOnFailure
och IngestFromDataReaderAsync
avgör flaggan, vars standardvärde är false
, om filerna ska behållas efter en misslyckad inmatning. Om den här flaggan är inställd på false
sparas inte data som misslyckas med inmatningen, vilket gör det svårt att förstå vad som gick fel.
Vanliga fel
Fel | Anledning | Åtgärd |
---|---|---|
Databasdatabasens <namn> finns inte | Databasen finns inte | Kontrollera databasnamnet på kustoIngestionProperties /Create the database (Skapa databasen) |
Entiteten "tabellnamn som inte finns" av typen "Tabell" hittades inte. | Tabellen finns inte och det finns ingen CSV-mappning. | Lägg till CSV-mappning/skapa den obligatoriska tabellen |
Blobblobsökväg <> exkluderas av anledning: JSON-mönstret måste matas in med jsonMapping-parametern | JSON-inmatning när ingen JSON-mappning tillhandahålls. | Ange en JSON-mappning |
Det gick inte att ladda ned blob: Fjärrservern returnerade ett fel: (404) Hittades inte." | Bloben finns inte. | Kontrollera att bloben finns. Om den finns försöker du igen och kontaktar Kusto-teamet |
JSON-kolumnmappning är inte giltig: Två eller flera mappningselement pekar på samma kolumn. | JSON-mappning har 2 kolumner med olika sökvägar | Åtgärda JSON-mappning |
EngineError – [UtilsException] IngestionDownloader.Download : En eller flera filer kunde inte laddas ned (sök i KustoLogs efter ActivityID:<GUID1>, RootActivityId:<GUID2>) |
Det gick inte att ladda ned en eller flera filer. | Försök igen |
Det gick inte att parsa: Stream med ID :t "<stream name>" har ett felaktigt CSV-format, vilket misslyckas per ValidationOptions-princip | Felaktig CSV-fil (till exempel att inte ha samma antal kolumner på varje rad). Misslyckas bara när valideringsprincipen är inställd på ValidationOptions.ValidateCsvInputConstantColumns . |
Kontrollera csv-filerna. Det här meddelandet gäller endast CSV/TSV-filer |
IngestClientAggregateException med felmeddelandet "Obligatoriska parametrar saknas för giltig signatur för delad åtkomst" |
DEN SAS som används är av tjänsten och inte för lagringskontot | Använda SAS för lagringskontot |
Felkoder för inmatning
För att hantera inmatningsfel programmatiskt utökas felinformationen med en numerisk felkod (IngestionErrorCode enumeration
).
En fullständig lista över inmatningsfelkoder finns i Felkoder för inmatning.
Detaljerad undantagsreferens
CloudQueuesNotFoundException
Utlöses när inga köer returnerades från Datahantering-klustret
Basklass: Undantag
Fältnamn | Typ | Innebörd |
---|---|---|
Fel | string |
Felet som uppstod vid försök att hämta köer från DM |
Relevant endast när du använder Kusto Queued Ingest Client. Under inmatningsprocessen görs flera försök att hämta De Azure-köer som är länkade till DM. När dessa försök misslyckas utlöses undantaget som innehåller orsaken till felet i fältet Fel. Eventuellt utlöses även ett inre undantag i fältet "InnerException".
CloudBlobContainersNotFoundException
Utlöses när inga blobcontainrar returnerades från Datahantering-klustret
Basklass: Undantag
Fältnamn | Typ | Innebörd |
---|---|---|
KustoEndpoint | string |
Slutpunkten för relevant DM |
Relevant endast när du använder Kusto Queued Ingest Client.
När du matar in källor som inte redan finns i en Azure-container, till exempel filer, DataReader eller Stream, laddas data upp till en tillfällig blob för inmatning.
Undantaget utlöses när det inte finns några containrar att ladda upp data till.
DuplicateIngestionPropertyException
Utlöses när en inmatningsegenskap har konfigurerats mer än en gång
Basklass: Undantag
Fältnamn | Typ | Innebörd |
---|---|---|
PropertyName | string |
Namnet på dubblettegenskapen |
PostMessageToQueueFailedException
Utlöses när ett meddelande skickas till kön misslyckas
Basklass: Undantag
Fältnamn | Typ | Innebörd |
---|---|---|
QueueUri | string |
Köns URI |
Fel | string |
Felmeddelandet som genererades när du försökte publicera till kön |
Relevant endast när du använder Kusto Queued Ingest Client.
Den köade inmatningsklienten matar in data genom att ladda upp ett meddelande till relevant Azure-kö. Om det uppstår ett efterfel utlöses undantaget. Den innehåller kö-URI:n, orsaken till felet i fältet Fel och eventuellt ett inre undantag i fältet InnerException.
DataFormatNotSpecifiedException
Utlöses när ett dataformat krävs men inte anges i IngestionProperties
Basklass: IngestClientException
När du matar in från en dataström måste ett dataformat anges i IngestionProperties för att data ska kunna matas in korrekt. Det här undantaget utlöses när IngestionProperties.Format
det inte har angetts.
InvalidUriIngestClientException
Utlöses när en ogiltig blob-URI skickas som inmatningskälla
Basklass: IngestClientException
CompressFileIngestClientException
Upphöjt när inmatningsklienten inte kan komprimera filen som tillhandahålls för inmatning
Basklass: IngestClientException
Filer komprimeras innan de matas in. Undantaget utlöses när ett försök att komprimera filen misslyckas.
UploadFileToTempBlobIngestClientException
Utlöses när inmatningsklienten inte kan ladda upp den angivna källan för inmatning till en tillfällig blob
Basklass: IngestClientException
SizeLimitExceededIngestClientException
Upphöjt när en inmatningskälla är för stor
Basklass: IngestClientException
Fältnamn | Typ | Innebörd |
---|---|---|
Storlek | long |
Inmatningskällans storlek |
Maxsize | long |
Maximal storlek som tillåts för inmatning |
Om en inmatningskälla överskrider den maximala storleken på 4 GB genereras undantaget. Storleksvalidering kan åsidosättas av IgnoreSizeLimit
flaggan i klassen IngestionProperties. Vi rekommenderar dock inte att du matar in enskilda källor som är större än 1 GB. Mer information finns i Metodtips för Kusto-inmatning.
UploadFileToTempBlobIngestClientException
Upphöjt när inmatningsklienten inte kan ladda upp filen som tillhandahålls för inmatning till en tillfällig blob
Basklass: IngestClientException
DirectIngestClientException
Utlöses när ett allmänt fel inträffar vid direkt inmatning
Basklass: IngestClientException
QueuedIngestClientException
Utlöses när ett fel inträffar vid inmatning i kö
Basklass: IngestClientException
IngestClientAggregateException
Utlöses när ett eller flera fel inträffar under en inmatning
Basklass: AggregateException
Fältnamn | Typ | Innebörd |
---|---|---|
IngestionErrors | IList<IngestClientException> | De fel som uppstår vid försök att mata in och de källor som är relaterade till dem |
IsGlobalError | bool |
Anger om undantaget inträffade för alla källor |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för