Поделиться через


Передача контекста о выполнении задания в задачах задания

Вы можете использовать динамические ссылки на значения для передачи контекста о выполнении задания или задачи, например имени задания или задачи, идентификатора выполнения или времени начала выполнения задания. Ссылки на динамические значения — это шаблонные переменные, которые заменяются соответствующими значениями при выполнении задачи задания. При выполнении задания переменная параметра задачи, заключенная в двойные фигурные скобки, заменяется и добавляется к необязательному строковому значению, составляющему часть значения. Например, чтобы передать параметр с именем MyJobId и значением my-job-6 для любого выполнения задания с идентификатором 6, добавьте следующий параметр задачи:

{
  "MyJobID": "my-job-{{job.id}}"
}

Содержимое двойных фигурных скобок не оценивается как выражения, поэтому нельзя выполнять операции или функции в двойных фигурных скобках.

Предоставленные пользователем идентификаторы, например имена задач, ключи значения задачи или имена параметров задания, содержащие специальные символы, должны быть экранированы путем обхода идентификаторов с обратными знаками (` `). Можно использовать только буквенно-цифровые символы и символы подчеркивания без экранирования.

{
  "VariableWithSpecialChars": "{{job.parameters.`param$@`}}"
}

Синтаксические ошибки в ссылках (например, отсутствующие фигурные скобки) игнорируются, и значение рассматривается как литеральная строка. Например, {{my.value} передается в виде строки "{{my.value}". Однако ввести недопустимую ссылку, которая принадлежит известному пространству имен (например, {{job.naem}}), запрещена. Сообщение об ошибке отображается, если в пользовательском интерфейсе вводится недопустимая ссылка, принадлежащая известному пространству имен.

После завершения задачи можно просмотреть разрешенные значения параметров в разделе "Параметры" на странице сведений о выполнении.

Поддерживаемые ссылки на значения

Поддерживаются следующие ссылки на динамические значения:

Справочные материалы Description
{{job.id}} Уникальный идентификатор, назначенный заданию.
{{job.name}} Имя задания во время выполнения задания.
{{job.run_id}} Уникальный идентификатор, назначенный выполнению задания.
{{job.repair_count}} Количество попыток восстановления в текущем выполнении задания.
{{job.start_time.[argument]}} Значение на основе времени (в часовом поясе UTC), запущенного заданием. Возвращаемое значение основано на параметре argument . См. раздел "Параметры" для значений даты и времени.
{{job.parameters.[name]}} Значение параметра уровня задания с ключом [name].
{{job.trigger.type}} Тип триггера выполнения задания. Возможные значения: periodic, onetime, run_job_task, file_arrivalи continuoustable.
{{job.trigger.file_arrival.location}} Если триггер прибытия файла настроен для этого задания, значение расположения хранилища.
{{job.trigger.time.[argument]}} Значение на основе времени (в часовом поясе UTC), которое было активировано заданием, округляется до ближайшей минуты для заданий с расписанием cron. Возвращаемое значение основано на параметре argument . См. раздел "Параметры" для значений даты и времени.
{{task.name}} Имя текущей задачи.
{{task.run_id}} Уникальный идентификатор текущего выполнения задачи.
{{task.execution_count}} Количество запусков текущей задачи (включая повторные попытки и восстановление).
{{task.notebook_path}} Путь к записной книжке текущей задачи записной книжки.
{{tasks.[task_name].run_id}} Уникальный идентификатор, назначенный выполнению задачи.[task_name]
{{tasks.[task_name].result_state}} Состояние результата задачи [task_name]. Возможные значения: success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted и upstream_failed.
{{tasks.[task_name].error_code}} Код ошибки для задачи [task_name] , если произошла ошибка, выполняющая задачу. Примерами возможных значений являются RunExecutionError, ResourceNotFoundи UnauthorizedError. Для успешных задач это вычисляется как пустая строка.
{{tasks.[task_name].execution_count}} Количество запусков задачи [task_name] (включая повторные попытки и восстановление).
{{tasks.[task_name].notebook_path}} Путь к записной книжке для задачи [task_name]записной книжки.
{{tasks.[task_name].values.[value_name]}} Значение задачи с ключом [value_name] , заданным задачей [task_name].
{{workspace.id}} Уникальный идентификатор, назначенный рабочей области.
{{workspace.url}} URL-адрес рабочей области.

Эти ссылки можно задать с любой задачей при создании задания, изменении задания или запуске задания с разными параметрами.

Можно также передавать параметры между задачами в задании со значениями задач. Ознакомьтесь с общими сведениями между задачами в задании Azure Databricks.

Параметры значений даты и времени

Используйте следующие аргументы, чтобы указать возвращаемое значение из переменных параметров на основе времени. Все возвращаемые значения основаны на метке времени в часовом поясе UTC.

Аргумент Description
iso_weekday Возвращает цифру от 1 до 7, представляющую день недели метки времени.
is_weekday Возвращает, если метка true времени находится на буднем дне.
iso_date Возвращает дату в формате ISO.
iso_datetime Возвращает дату и время в формате ISO.
year Возвращает часть года метки времени.
month Возвращает часть месяца метки времени.
day Возвращает дневную часть метки времени.
hour Возвращает часовую часть метки времени.
minute Возвращает минутную часть метки времени.
second Возвращает вторую часть метки времени.
timestamp_ms Возвращает метку времени в миллисекундах.

Устаревшие переменные параметров

Следующие переменные параметров устарели. Хотя они по-прежнему поддерживаются, все новые задания или обновления существующих заданий должны использовать поддерживаемые ссылки на значения. Рекомендуемая ссылка на замену включена в описание каждой переменной.

«Переменная» Description
{{job_id}} Уникальный идентификатор, назначенный заданию. Вместо этого используйте job.id.
{{run_id}} Уникальный идентификатор, назначенный выполнению задачи. Вместо этого используйте task.run_id.
{{start_date}} Дата начала выполнения задачи Формат: гггг-мм-дд в часовом поясе UTC. Вместо этого используйте job.start_time.[argument].
{{start_time}} Метка времени начала выполнения после того, как кластер будет создан и готов. Указывается в миллисекундах после эпохи UNIX в часовом поясе UTC, возвращаемой командой System.currentTimeMillis() Вместо этого используйте job.start_time.[format].
{{task_retry_count}} Число повторных попыток выполнения задачи в случае сбоя первой попытки. Значение равно 0 для первой попытки и увеличивается с каждой повторной попыткой Вместо этого используйте task.execution_count.
{{parent_run_id}} Уникальный идентификатор, назначенный выполнению задания с несколькими задачами Вместо этого используйте job.run_id.
{{task_key}} Уникальное имя, назначенное задаче, которая входит в задание с несколькими задачами Вместо этого используйте task.name.