File: Program.cs
Web Access
Project: src\playground\AzureKusto\AzureKusto.Worker\AzureKusto.Worker.csproj (AzureKusto.Worker)
using Azure.Identity;
using AzureKusto.Worker;
using Kusto.Data;
using Kusto.Data.Net.Client;
 
var builder = Host.CreateApplicationBuilder(args);
builder.AddServiceDefaults();
 
var connectionString = builder.Configuration.GetConnectionString("testdb");
 
var connectionStringBuilder = new KustoConnectionStringBuilder(connectionString);
if (connectionStringBuilder.DataSourceUri.Contains("kusto.windows.net"))
{
    connectionStringBuilder = connectionStringBuilder.WithAadAzureTokenCredentialsAuthentication(new DefaultAzureCredential());
}
 
builder.Services.AddSingleton(sp =>
{
    return KustoClientFactory.CreateCslQueryProvider(connectionStringBuilder);
});
builder.Services.AddSingleton(sp =>
{
    return KustoClientFactory.CreateCslAdminProvider(connectionStringBuilder);
});
 
builder.Services.AddOptions<WorkerOptions>();
 
builder.Services.AddHostedService<QueryWorker>();
builder.Services.AddHostedService<IngestionWorker>();
 
var app = builder.Build();
 
app.Run();