in code/KustoCopyConsole/Runner/MainRunner.cs [16:57]
internal static async Task<MainRunner> CreateAsync(
Version appVersion,
MainJobParameterization parameterization,
string traceApplicationName,
CancellationToken ct)
{
var credentials = parameterization.CreateCredentials();
var fileSystem = new AzureBlobFileSystem(
parameterization.StagingStorageDirectories.First(),
credentials);
Console.Write("Initialize storage...");
var logStorage = await LogStorage.CreateAsync(fileSystem, appVersion, ct);
Console.WriteLine(" Done");
Console.Write("Reading checkpoint logs...");
var rowItemGateway = await RowItemGateway.CreateAsync(logStorage, ct);
Console.WriteLine(" Done");
Console.Write("Initialize Kusto connections...");
var dbClientFactory = await DbClientFactory.CreateAsync(
parameterization,
credentials,
traceApplicationName,
ct);
Console.WriteLine(" Done");
var stagingBlobUriProvider = new AzureBlobUriProvider(
parameterization.StagingStorageDirectories.Select(s => new Uri(s)),
credentials);
return new MainRunner(
parameterization,
credentials,
rowItemGateway,
dbClientFactory,
stagingBlobUriProvider);
}