Файл пакетного вывода Azure FileUploadMiscError

Я пытаюсь загрузить выходной файл в большой двоичный объект Azure после выполнения задачи пакетного облака Azure с использованием C #. Мой код работает нормально, но выдает ошибку FileUploadMiscError - Task failed «При загрузке одного из выходных файлов произошла другая ошибка» случайным образом для разных задач.

Код ContainerSASUrl -

 SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy
            {
                SharedAccessExpiryTime = DateTime.UtcNow.AddHours(sasUrlExpirationTime),
                Permissions = SharedAccessBlobPermissions.Write
            };
            string sasContainerToken = string.Empty;
            CloudBlobContainer container = BlobClient.GetContainerReference(containerName);

            if (await container.CreateIfNotExistsAsync())
            {
                sasContainerToken = container.GetSharedAccessSignature(sasConstraints);
            }
            sasContainerToken = container.GetSharedAccessSignature(sasConstraints);
       string outputContainerSasUrl= string.Format("{0}{1}", container.Uri, sasContainerToken);

Отправка задачи -

 CloudTask task = new CloudTask(taskId, taskCommandLine)
                            {
                                OutputFiles = new List<OutputFile>
                                {
                                    new OutputFile(
                                        filePattern: @"../std*.txt",
                                        destination: new OutputFileDestination(
                                                        new OutputFileBlobContainerDestination(
                                                                containerUrl: outputContainerSasUrl,
                                                        path: jobdetails.JobId+"/output")),
                                        uploadOptions: new OutputFileUploadOptions(
                                                        uploadCondition: OutputFileUploadCondition.TaskCompletion)
                                    ),
                                    new OutputFile(
                                        filePattern: @"%AZ_BATCH_JOB_PREP_WORKING_DIR%\*.dat",
                                        destination: new OutputFileDestination(new OutputFileBlobContainerDestination(
                                                            containerUrl: outputContainerSasUrl,
                                                            path:jobdetails.JobId+"/output")),
                                        uploadOptions: new OutputFileUploadOptions(
                                                            uploadCondition: OutputFileUploadCondition.TaskCompletion))
                                }
                            };
                            task.UserIdentity = new UserIdentity(new AutoUserSpecification(AutoUserScope.Pool, ElevationLevel.Admin));
                            task.ResourceFiles = inputFiles;
                            TaskConstraints taskConstraints = new TaskConstraints();
                            taskConstraints.MaxTaskRetryCount = 2;
                            task.Constraints = taskConstraints;

Этот код работает нормально, но случайно не работает.


person Vikas Pawar    schedule 24.01.2019    source источник


Ответы (1)


Можете ли вы проверить свои fileuploadout.txt и fileuploaderr.txt, которые должны быть написаны вместе с задачами stdout.txt и stderr.txt? В идеале, если вы можете поделиться ими здесь (не забудьте отредактировать любые детали, такие как SAS, которые в них зарегистрированы).

person Hydraxy    schedule 24.01.2019
comment
в файле fileuploaderr это просто внутренняя ошибка сервера. Но в файле загрузки файла есть ошибка типа Политика повторных попыток не разрешила повторную попытку ..... Код состояния HTTP = 400, Исключение = Указанный список блоков недействителен. Код ошибки: InvalidBlockList. Я подтвердил, что создается файл Outfile. - person Vikas Pawar; 25.01.2019
comment
Содержит ли fileuploadout также идентификатор запроса для этого запроса? - person Hydraxy; 26.01.2019
comment
Я выяснил первопричину этого. Я пытался сохранить вывод задания в каталоге подготовки задания AZ_BATCH_JOB_PREP_WORKING_DIR. Вместо этого теперь я использую каталог вывода задачи AZ_BATCH_TASK_WORKING_DIR, который помог мне исправить эту проблему. - person Vikas Pawar; 28.01.2019