Распаковка входных файлов перед выполнением задач - PullRequest
1 голос
/ 15 апреля 2019

Я хочу иметь возможность разархивировать входной файл перед запуском задач, чтобы уменьшить передачу данных в процессе пакетной обработки. Для этого я добавил следующую командную строку в свой JobPreparationTask:

CommandLine = "/ bin / bash -c 'DEBIAN_FRONTEND = неинтерактивный apt-get install -y unzip; распаковать $ AZ_BATCH_TASK_WORKING_DIR // myInput.zip'"

Но вместо того, чтобы посмотреть в рабочем каталоге моей задачи, где у меня есть файл ( job / task / wd / myInput.zip ), он просматривает папку для подготовки задания, и я получаю следующую ошибку:

"не удается найти или открыть /mnt/batch/tasks/workitems/myJob/job-1/jobpreperation/wd//myInput.zip"

Я пробовал использовать другие пути окружения, но всегда получаю похожие ошибки. Как получить доступ к заданию / заданию / wd, чтобы распаковать файл?

1 Ответ

2 голосов
/ 15 апреля 2019

Я думаю, что env var, который вы используете, неверен, ниже приведены некоторые рекомендации, а также ответ на ваш текущий путь:

  • Я предполагаю, что ваш zip-файл является частью resourceFiles в этом случае? Но в каком контексте?
  • См. resource файлы здесь: https://docs.microsoft.com/en-us/azure/batch/resource-files
  • В частности, в той части, где говорится: All types of tasks support resource files: tasks, start tasks, job preparation tasks, job release tasks, etc Так в какой момент файлы ресурсов загружаются в каком контексте?

  • Если загрузка происходит на JobPrep, а текущая задача ссылается на JobPrep, это может объяснить это поведение.

  • если Zip является частью файлов ресурсов на уровне задач, тогда cmdline должен быть частью этих задач, а env var должен использоваться в текущем контексте.
  • Если нет: то убедитесь, что zip является частью файлов восстановления с jobPrep и соответственно используйте переменные среды.

  • Относительно env var почему вы не используете: AZ_BATCH_JOB_PREP_WORKING_DIR или AZ_BATCH_JOB_PREP_DIR? Пожалуйста, обратитесь сюда : https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables#environment-variables, что позволит получить доступ к вашему уровню подготовки к работе.

Extra

Идея поделится просто так, чтобы вы знали и имели в виду и использовали, только если это когда-либо соответствует вашим потребностям. (Используйте его только в том случае, если вы прочитали статью, и она действительно соответствует вашему сценарию разработки, в противном случае, пожалуйста, не обращайте внимания, и выше следует решить вашу проблему) :)

Пакет приложения - это ZIP-файл, содержащий приложение. двоичные файлы и файлы поддержки, необходимые для запуска ваших задач приложение. Каждый пакет приложений представляет собой определенный версия приложения.

Вы можете указать пакеты приложений на уровне пула и задач.

Надеюсь, это соответствует вашим потребностям. :) спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...