通过C#将数据插入Azure Data Explorer

时间:2019-07-11 13:49:17

标签: azure kusto azure-data-explorer

我正在尝试使用Kusto.Data NuGet(C#)将应用程序日志数据提取到Azure数据资源管理器。我可以使用以下方法检索数据,但在检索数据时无法正常工作。我是否使用了错误的插入查询模式?

var kustoConnectionStringBuilder =
            new KustoConnectionStringBuilder(kustoUri, database)
            {
                FederatedSecurity = true,
                InitialCatalog = database,
                UserID = user,
                Password = password,
                Authority = tenantId
            };
            var client = KustoClientFactory.CreateCslQueryProvider(kustoConnectionStringBuilder);
            string query = "ingest inline into table Device <| 1,DeviceId";
            client.ExecuteQuery(query);

错误消息:语法错误:无法解析查询:发生识别错误。有人可以帮我吗? 我的设备表目前有两列:ID(int),Description(string)

1 个答案:

答案 0 :(得分:1)

您发布的代码段存在几个问题:

a。。您使用的是ICslQueryProvider而不是ICslAdminProviderExecuteQuery()而不是ExecuteControlCommand().ingest(或其他以点(.开头的内容)是控制命令:https://docs.microsoft.com/en-us/azure/kusto/management/#differentiating-control-commands-from-queries

b。。您在.(应为ingest)之前缺少点(.ingest)。

c。。您使用的是direct ingestion而不是queued ingestion(没关系,只要您了解这仅是出于测试目的)。在此处了解更多信息:https://docs.microsoft.com/en-us/azure/kusto/management/data-ingestion/#ingestion-methods