将数据保存到 Kusto DB
Saving data to Kusto DB
我在将数据从 C# 代码保存到 Kusto Db 时遇到问题。我是 运行 以下代码,我在 ExecuteControlCommand 中遇到错误。任何人都可以帮助解决这个问题。我尝试了所有选项,但仍然没有成功
public static void LogMessage(string message)
{
var clusterName = "ABC";
var db = "Kusto";
var table = "Log";
var mappingName = "KustoJsonMapping";
// Set up table
var kcsbEngine =
new KustoConnectionStringBuilder($"https://KustoDB.kusto.windows.net");
using (var kustoAdminClient = KustoClientFactory.CreateCslAdminProvider(kcsbEngine))
{
var columns = new List<Tuple<string, string>>()
{
new Tuple<string, string>("logId", "System.String"),
new Tuple<string, string>("logDtm", "System.DateTime"),
new Tuple<string, string>("userName", "System.String"),
};
var command = CslCommandGenerator.GenerateTableCreateCommand(table, columns);
kustoAdminClient.ExecuteControlCommand(databaseName: db, command: command);
// Set up mapping
var columnMappings = new List<JsonColumnMapping>();
columnMappings.Add(new JsonColumnMapping()
{ ColumnName = "logId", JsonPath = "$.Id" });
columnMappings.Add(new JsonColumnMapping()
{ ColumnName = "logDtm", JsonPath = "$.Timestamp" });
columnMappings.Add(new JsonColumnMapping()
{ ColumnName = "userName", JsonPath = "$.Message" });
command = CslCommandGenerator.GenerateTableJsonMappingCreateCommand(
table, mappingName, columnMappings);
kustoAdminClient.ExecuteControlCommand(databaseName: db, command: command);
}
}
}
应用程序是否具有 table 所需的权限?您评论中的错误消息表明它没有。
您可以使用提到的控制命令授予它权限here。
或者,使用 Kusto.Explorer,如果您安装了它。
授予您的应用程序权限后,您还需要向集群出示凭据。
我在将数据从 C# 代码保存到 Kusto Db 时遇到问题。我是 运行 以下代码,我在 ExecuteControlCommand 中遇到错误。任何人都可以帮助解决这个问题。我尝试了所有选项,但仍然没有成功
public static void LogMessage(string message)
{
var clusterName = "ABC";
var db = "Kusto";
var table = "Log";
var mappingName = "KustoJsonMapping";
// Set up table
var kcsbEngine =
new KustoConnectionStringBuilder($"https://KustoDB.kusto.windows.net");
using (var kustoAdminClient = KustoClientFactory.CreateCslAdminProvider(kcsbEngine))
{
var columns = new List<Tuple<string, string>>()
{
new Tuple<string, string>("logId", "System.String"),
new Tuple<string, string>("logDtm", "System.DateTime"),
new Tuple<string, string>("userName", "System.String"),
};
var command = CslCommandGenerator.GenerateTableCreateCommand(table, columns);
kustoAdminClient.ExecuteControlCommand(databaseName: db, command: command);
// Set up mapping
var columnMappings = new List<JsonColumnMapping>();
columnMappings.Add(new JsonColumnMapping()
{ ColumnName = "logId", JsonPath = "$.Id" });
columnMappings.Add(new JsonColumnMapping()
{ ColumnName = "logDtm", JsonPath = "$.Timestamp" });
columnMappings.Add(new JsonColumnMapping()
{ ColumnName = "userName", JsonPath = "$.Message" });
command = CslCommandGenerator.GenerateTableJsonMappingCreateCommand(
table, mappingName, columnMappings);
kustoAdminClient.ExecuteControlCommand(databaseName: db, command: command);
}
}
}
应用程序是否具有 table 所需的权限?您评论中的错误消息表明它没有。
您可以使用提到的控制命令授予它权限here。
或者,使用 Kusto.Explorer,如果您安装了它。
授予您的应用程序权限后,您还需要向集群出示凭据。