Share via


Passar o contexto sobre as execuções de trabalho para as tarefas de trabalho

É possível usar referências de valores dinâmicos para transmitir o contexto de um trabalho ou execução de tarefa, como o nome do trabalho ou da tarefa, o identificador de uma execução ou a hora de início de uma execução de trabalho. As referências de valor dinâmico são variáveis de modelo que são substituídas pelos valores apropriados quando a tarefa de trabalho é executada. Quando um trabalho é executado, a variável de parâmetro de tarefa entre chaves duplas é substituída e anexada a um valor de cadeia de caracteres opcional incluído como parte do valor. Por exemplo, para transmitir um parâmetro chamado MyJobId com um valor de my-job-6 a qualquer execução do trabalho ID 6, adicione o seguinte parâmetro de tarefa:

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

O conteúdo das chaves duplas não é avaliado como expressões, portanto, não é possível realizar operações ou funções entre chaves duplas.

Os identificadores fornecidos pelo usuário, por exemplo, nomes de tarefas, chaves de valores de tarefas ou nomes de parâmetros de trabalhos que contenham caracteres especiais, devem ser substituídos por caracteres de escape ao redor dos identificadores com aspas invertidas (` `). Somente caracteres alfanuméricos e sublinhado podem ser utilizados sem escape.

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

Os erros de sintaxe nas referências (por exemplo, uma chave ausente) são ignorados e o valor é tratado como uma cadeia de caracteres literal. Por exemplo, {{my.value} é passado como a cadeia de caracteres "{{my.value}". Entretanto, não é permitido a inserção de uma referência inválida que pertença a um namespace conhecido (por exemplo, {{job.naem}}). Uma mensagem de erro será exibida se uma referência inválida pertencente a um namespace conhecido for inserida na interface do usuário.

Após a conclusão de uma tarefa, você poderá ver os valores resolvidos dos parâmetros em Parâmetros na página detalhes da execução.

Referências de valores com suporte

Há suporte para as seguintes referências de valores dinâmicos:

Referência Descrição
{{job.id}} O identificador exclusivo atribuído ao trabalho.
{{job.name}} O nome do trabalho no momento da execução do trabalho.
{{job.run_id}} O identificador exclusivo atribuído à execução do trabalho.
{{job.repair_count}} O número de tentativas de reparo na execução do trabalho atual.
{{job.start_time.[argument]}} Um valor baseado na hora (no fuso horário UTC) em que a execução do trabalho foi iniciada. O valor de retorno é baseado na opção argument. Confira Opções para obter valores de data e hora.
{{job.parameters.[name]}} O valor do parâmetro de nível de trabalho com a chave [name].
{{job.trigger.type}} O tipo de gatilho da execução do trabalho. Os valores possíveis são periodic, onetime, run_job_task, file_arrival, continuous e table.
{{job.trigger.file_arrival.location}} Se um gatilho de chegada de arquivo estiver configurado para esse trabalho, o valor do local de armazenamento.
{{job.trigger.time.[argument]}} Um valor baseado na hora (no fuso horário UTC) em que a execução do trabalho foi disparada, arredondado para o minuto mais próximo para trabalhos com um agendamento cron. O valor de retorno é baseado na opção argument. Confira Opções para obter valores de data e hora.
{{task.name}} O nome da tarefa atual.
{{task.run_id}} O identificador exclusivo da execução da tarefa atual.
{{task.execution_count}} O número de vezes que a tarefa atual foi executada (incluindo novas tentativas e reparos).
{{task.notebook_path}} O caminho do notebook da tarefa atual do notebook.
{{tasks.[task_name].run_id}} O identificador exclusivo atribuído à execução da tarefa para [task_name].
{{tasks.[task_name].result_state}} O estado de resultado da tarefa [task_name]. Os valores possíveis são success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted e upstream_failed.
{{tasks.[task_name].error_code}} O código de erro da tarefa [task_name] se ocorreu um erro ao executar a tarefa. Exemplos de valores possíveis são RunExecutionError, ResourceNotFound, e UnauthorizedError. Para tarefas bem-sucedidas, isso é avaliado como uma sequência vazia.
{{tasks.[task_name].execution_count}} O número de vezes que a tarefa [task_name] foi executada (incluindo novas tentativas e reparos).
{{tasks.[task_name].notebook_path}} O caminho para o notebook da tarefa do notebook [task_name].
{{tasks.[task_name].values.[value_name]}} O valor da tarefa com a chave [value_name] que foi definida pela tarefa [task_name].
{{workspace.id}} O identificador exclusivo atribuído ao espaço de trabalho.
{{workspace.url}} A URL do espaço de trabalho.

É possível definir essas referências com qualquer tarefa quando Criar um trabalho, Editar um trabalho ou Executar um trabalho com parâmetros diferentes.

Você também pode passar parâmetros entre tarefas em um trabalho com valores de tarefa. Confira Compartilhar informações entre tarefas em um trabalho do Azure Databricks.

Opções para valores de data e hora

Use os seguintes argumentos para especificar o valor de retorno das variáveis de parâmetro baseadas em tempo. Todos os valores retornados são baseados em um carimbo de data/hora no fuso horário UTC.

Argument Descrição
iso_weekday Retorna um dígito de 1 a 7, representando o dia da semana do carimbo de data/hora.
is_weekday Retorna true se o carimbo de data/hora estiver em um dia da semana.
iso_date Retorna a data no formato ISO.
iso_datetime Retorna a data e a hora no formato ISO.
year Retorna a parte do ano do carimbo de data/hora.
month Retorna a parte do mês do carimbo de data/hora.
day Retorna a parte do dia do carimbo de data/hora.
hour Retorna a parte da hora do carimbo de data/hora.
minute Retorna a parte dos minutos do carimbo de data/hora.
second Retorna a segunda parte do carimbo de data/hora.
timestamp_ms Retorna o carimbo de data/hora em milissegundos.

Variáveis de parâmetro preteridas

As variáveis de parâmetro a seguir foram preteridas. Embora ainda tenham suporte, todos os novos trabalhos ou atualizações de trabalhos existentes devem usar as referências de valores com suporte. A referência de substituição recomendada está incluída na descrição de cada variável.

Variável Descrição
{{job_id}} O identificador exclusivo atribuído a um trabalho. Use o job.id em vez disso.
{{run_id}} O identificador exclusivo atribuído a uma execução de tarefa. Use o task.run_id em vez disso.
{{start_date}} A data em que uma execução de tarefa é iniciada. O formato é aaaa-MM-dd no fuso horário UTC. Use o job.start_time.[argument] em vez disso.
{{start_time}} O carimbo de data/hora do início da execução após o cluster ter sido criado e estar pronto. O formato é de milissegundos desde a época UNIX no fuso horário UTC, conforme retornado por System.currentTimeMillis(). Use o job.start_time.[format] em vez disso.
{{task_retry_count}} O número de repetições que foram tentadas para executar uma tarefa se a primeira tentativa falhar. O valor é 0 para a primeira tentativa e é incrementado a cada nova tentativa. Use o task.execution_count em vez disso.
{{parent_run_id}} O identificador exclusivo atribuído à execução de um trabalho com várias tarefas. Use o job.run_id em vez disso.
{{task_key}} O nome exclusivo atribuído a uma tarefa que é parte de um trabalho com várias tarefas. Use o task.name em vez disso.