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; } }
// 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); } }