private async Task RunUSQLScriptFlowAsync() { var variables = new Dictionary <string, object>(); var jobName = ConsoleEx.ReadLine("Job Name", "MyDlaJob"); var path = ConsoleEx.ReadLine("Path to U-SQL File", @"c:\tmp\job.usql", s => File.Exists(s)); var script = File.ReadAllText(path); Console.WriteLine("Parameters"); while (true) { var name = ConsoleEx.ReadLine("Parameter <Blank to Continue>"); if (string.IsNullOrWhiteSpace(name)) { break; } var val = ConsoleEx.ReadLine($"Value for @{name}"); variables.Add(name, val); } // Authenticate against Azure AD once and re-use for all needed purposes var serviceClientCredentials = await ApplicationTokenProvider.LoginSilentAsync( Config.Root[Config.NAH_AAD_Domain], new ClientCredential(Config.Root[Config.NAH_AAD_CLIENTID], Config.Root[Config.NAH_AAD_CLIENTSECRET])); var jm = new DataLakeAnalyticsJobManager(serviceClientCredentials, Config.Root[Config.NAH_AZURE_SUBSCRIPTIONID], Config.Root[Config.NAH_AZURE_DLA_ACCOUNTNAME]); var jobId = await jm.SubmitJobAsync(jobName, script, variables); await jm.WaitForJobAsync(jobId); }