0
votes

I'm trying to ingest data with client.IngestFromStreamAsync or client.IngestFromStream from my c# application but always get the following error:

MonitoredActivityContext=(ActivityType=KustoManagedStreamingIngestClient.IngestFromStream, Timestamp=2021-02-08T17:57:52.0547851Z, ParentActivityId=570e5455-1c3d-4cb4-82ff-a06761e66a30, TimeSinceStarted=1921,1077 [ms])IngestionSourceId=f182ab29-812a-4b44-9d06-1951c7aa972f IngestionSource=Stream Error=Not Found (404-NotFound): . This normally represents a permanent error, and retrying is unlikely to help. Error details: DataSource='https://table.southcentralus.kusto.windows.net/v1/rest/ingest/bla/table?streamFormat=json&mappingName=JsonMapping', DatabaseName=, ClientRequestId='KI.KustoManagedStreamingIngestClient.IngestFromStream.ad8c8892-7495-483d-90bc-8585483445fa;73864817-246c-479c-a2da-138aca01b9a2;f182ab29-812a-4b44-9d06-1951c7aa972f', ActivityId='00000000-0000-0000-0000-000000000000, Timestamp='2021-02-08T17:57:53.9596167Z'.

This is how I define ingestion mapping

var kustoIngestionProperties = new KustoIngestionProperties(databaseName: databaseName, tableName: rtable)
{         
   Format = DataSourceFormat.json,                
   IngestionMapping = new IngestionMapping()
   {
      IngestionMappingReference = "JsonMapping",
      IngestionMappingKind = Kusto.Data.Ingestion.IngestionMappingKind.Json                   
   }                    
};

Before referencing the mapping I create it like this:

.create table ingest_table ingestion json mapping 'JsonMapping' '[{"column":"Timestamp","Properties":{"path":"$.Timestamp"}},{"column":"AskRatioVar","Properties":{"path":"$.AskRatioVar"}},{"column":"score_BidRatioVar","Properties":{"path":"$.score_BidkRatioVar"}},]'

Any ideas what could cause the error? All Streaming examples seems to be outdate here: https://github.com/Azure/azure-kusto-samples-dotnet/tree/master/client/StreamingIngestionSample

Thank you

1

1 Answers

0
votes

You should verify that the names of the database, table and ingestion mapping you're passing actually exist in your cluster.

Specifically - in the activity you referenced, you reference an ingestion mapping named JsonAnomalyMapping1, whereas the table only has a mapping named JsonAnomalyMapping