Я Реализован Azure Batch пример, используя шаблон, основанный на следующем примере:AddTaskAsync BatchErrorException: Операция вернул ошибочный код состояния «BadRequest»
https://github.com/Azure/azure-batch-samples/tree/master/CSharp/TextSearch
Мое решение создает задачу работы диспетчера, который в turn создает несколько дочерних задач для каждого из моих разделов. Я получаю «BadRequest
» ошибка, когда я звоню batchClient.JobOperations.AddTaskAsync
в коде ниже:
Console.WriteLine("Submitting {0} mapper tasks.", extracts.Count());
//The collection of tasks to add to the Batch Service.
List<CloudTask> tasksToAdd = new List<CloudTask>();
// Create Batch jobs
foreach (var extract in extracts)
{
// ToDo: Uncomment this
// extractService.SetStatus(extract.Id, WarehouseMasterConstants.eExtractStatus.Queuing);
string taskId = Helpers.GetSummarizeDivisionTaskId(extract.Id);
Console.WriteLine("Task Id: " + taskId);
string commandLine = string.Format("{0} {1}", SummarizeDivisionConstants.SummarizeDivisionTaskExecutable, extract.Id.ToString());
Console.WriteLine("Command Line: " + commandLine);
CloudTask unboundMapperTask = new CloudTask(taskId, commandLine);
//The set of files (exes, dlls and configuration files) required to run the mapper task.
IReadOnlyList<string> mapperTaskRequiredFiles = SummarizeDivisionConstants.RequiredExecutableFiles;
List<ResourceFile> mapperTaskResourceFiles = BatchHelpers.GetResourceFiles(containerSas, mapperTaskRequiredFiles);
unboundMapperTask.ResourceFiles = mapperTaskResourceFiles;
tasksToAdd.Add(unboundMapperTask);
}
//Submit the unbound task collection to the Batch Service.
//Use the AddTask method which takes a collection of CloudTasks for the best performance.
await batchClient.JobOperations.AddTaskAsync(this.jobId, tasksToAdd);
Я подтвердил хранения и пакетных учетных данных являются правильными и функционирования.
Любые предложения по определению того, почему я получаю BadRequest
, будут оценены.
Трассировка стека:
Необработанное исключение: System.AggregateException: Произошла одна или несколько ошибок. ---> Microsoft.Azure.Batch.ParallelOperationsException: Не удалось выполнить один или несколько запросов к службе Azure Batch. ---> Microsoft.Azure.Batch.Common.BatchException: операция вернула недопустимый код состояния «BadRequest» ---> Microsoft.Azure.Batch.Protocol.Models.BatchErrorException: операция вернула недопустимый код состояния «BadRequest» \ r \ n в Microsoft.Azure.Batch.Protocol.TaskOperations.d__7.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где было выбрано исключение - \ r \ n в System.Runtime.CompilerServices. TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи) \ r \ n в Microsoft.Azure.Batch.Protocol.BatchRequestBase
2.<ExecuteRequestWithCancellationAsync>d__43.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.T askAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Azure.Batch.Protocol.BatchRequestBase
2.d__40.MoveNext() \ r \ n --- Конец внутренней трассировки стека исключений - \ r \ n в Microsoft.Azure.Batch.Protocol.BatchRequestBase2.<ExecuteRequestAsync>d__40.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Microsoft.Azure.Batch.ProtocolLayer.<ProcessAndExecuteBatchRequest>d__83
1.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где исключение брошен --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в System.Runtime.CompilerSer vices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (задача задачи) \ r \ n в Microsoft.Azure.Batch.AddTasksWorkflowManager.d__16.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где было выбрано исключение - \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача задачи) \ r \ n в Microsoft.Azure.Batch.AddTasksWorkflowManager.d__19.MoveNext() \ r \ n --- Конец внутренней трассировки стека исключений - \ r \ n в Microsoft.Azure.Batch.AddTasksWorkflowManager. d__19.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где было выбрано исключение - \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в системе .Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача задачи) \ r \ n в Microsoft.Azure.Ba tch.AddTasksWorkflowManager.d__18.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где было выбрано исключение - \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача задачи) \ r \ n в Microsoft.Azure.Batch.AddTasksWorkflowManager.d__13.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где исключение было выбрано --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи) \ r \ n в Microsoft.Azure .Batch.JobOperations.d__43.MoveNext() \ r \ n --- Конец трассировки стека из предыдущего места, где было выбрано исключение - \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotifica tio n (Задача задачи) \ r \ n