コード例 #1
0
        private async Task SubmitJob()
        {
            string responseContent = string.Empty;

            string submitUri = string.Format(baseUri, settings.ML_RegionPrefix, settings.ML_WorkspaceID, settings.ML_ServiceID);

            System.Net.WebClient webClient = new System.Net.WebClient();

            System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(";BlobEndpoint.*");
            string blobConnString = regex.Replace(settings.ML_StorageAccount, "");

            using (HttpClient client = new HttpClient())
            {
                var request = new BatchExecutionRequest()
                {
                    Input = new AzureBlobDataReference()
                    {
                        ConnectionString = blobConnString,
                        RelativeLocation = txtSourceRelativeLocation.Text
                    },

                    Outputs = new Dictionary <string, AzureBlobDataReference>()
                    {
                        {
                            "output1",
                            new AzureBlobDataReference()
                            {
                                ConnectionString = blobConnString,
                                RelativeLocation = txtDestRelativeLocation.Text
                            }
                        },
                    },
                    GlobalParameters = new Dictionary <string, string>()
                    {
                    }
                };

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", settings.ML_APIKey);

                var response = await client.PostAsJsonAsync(submitUri + "?api-version=2.0", request).ConfigureAwait(false);

                if (!response.IsSuccessStatusCode)
                {
                    //await WriteFailedResponse(response);
                    return;
                }

                string jobId = await response.Content.ReadAsAsync <string>();

                txtJobID.Text = jobId;
            }
        }
コード例 #2
0
        // Submit and start a Job in Azure
        private async Task <string> SubmitJob(string BaseUrl, string apiKey, string storageConnectionString, string StorageContainerName, string inputFileName, string outputFileName)
        {
            using (HttpClient client = new HttpClient())
            {
                var request = new BatchExecutionRequest()
                {
                    Inputs = new Dictionary <string, AzureBlobDataReference>()
                    {
                        {
                            "input1",
                            new AzureBlobDataReference()
                            {
                                ConnectionString = storageConnectionString,
                                RelativeLocation = string.Format("{0}/" + inputFileName, StorageContainerName)
                            }
                        },
                    },

                    Outputs = new Dictionary <string, AzureBlobDataReference>()
                    {
                        {
                            "output1",
                            new AzureBlobDataReference()
                            {
                                ConnectionString = storageConnectionString,
                                RelativeLocation = string.Format("/{0}/" + outputFileName, StorageContainerName)
                            }
                        },
                    },
                    GlobalParameters = new Dictionary <string, string>()
                    {
                    }
                };

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);

                Console.WriteLine("Submitting the job...");

                // submit the job
                var response = await client.PostAsJsonAsync(BaseUrl + "?api-version=2.0", request).ConfigureAwait(false);

                if (!response.IsSuccessStatusCode)
                {
                    await WriteFailedResponse(response);

                    throw new Exception("Unable to submit the job");
                }

                string jobId = await response.Content.ReadAsAsync <string>();

                Console.WriteLine(string.Format("Job ID: {0}", jobId));


                // start the job
                Console.WriteLine("Starting the job...");
                response = await client.PostAsync(BaseUrl + "/" + jobId + "/start?api-version=2.0", null);

                if (!response.IsSuccessStatusCode)
                {
                    await WriteFailedResponse(response);

                    throw new Exception("Unable to start the job");
                }

                return(jobId);
            }
        }