コード例 #1
0
        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);
        }