將有關作業的內容傳遞至作業工作

您可以使用 動態值參考 來傳遞作業或工作執行的內容,例如作業或工作名稱、執行標識碼,或作業執行的開始時間。 動態值參考是範本化變數,會在作業工作執行時取代為適當的值。 當作業執行時,會取代以雙大括弧括住的工作參數變數,並附加至包含在值一部分的選擇性字串值。 例如,若要針對任何作業標識碼 6 執行傳遞名為 MyJobId 的參數, my-job-6 請新增下列工作參數:

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

雙大括弧的內容不會評估為表達式,因此您無法在雙大括弧中執行作業或函式。

使用者提供的識別碼,例如,工作名稱、工作值索引鍵或包含特殊字元的工作參數名稱,必須藉由使用反引號 () 括住標識符來` `逸出。 只有英數位元和底線字元可以使用,而不需要逸出。

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

參考中的語法錯誤(例如遺漏大括弧)會被忽略,而且值會被視為常值字串。 例如, {{my.value} 會傳遞為字串 "{{my.value}"。 不過,不允許輸入屬於已知命名空間的無效參考(例如 {{job.naem}}, )。 如果在 UI 中輸入屬於已知命名空間的參考無效,則會顯示錯誤訊息。

工作完成之後,您可以在 [執行詳細數據] 頁面上的 [參數] 下看到參數的已解析值。

支援的值參考

支援下列動態值參考:

參考 描述
{{job.id}} 指派給作業的唯一標識符。
{{job.name}} 作業執行時的工作名稱。
{{job.run_id}} 指派給作業執行的唯一標識符。
{{job.repair_count}} 目前作業執行的修復嘗試次數。
{{job.start_time.[argument]}} 值,根據作業執行開始的時間(以 UTC 時區為單位)。 傳回值是以 選項為基礎 argument 。 請參閱 日期和時間值的選項
{{job.parameters.[name]}} 具有索引鍵 [name]的作業層級參數值。
{{job.trigger.type}} 作業執行的觸發程序類型。 可能的值為 periodic、、onetimerun_job_taskfile_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、、excludedcanceledevictedtimedoutupstream_canceledupstream_evictedupstream_failed
{{tasks.[task_name].execution_count}} 執行工作的 [task_name] 次數(包括重試和修復)。
{{tasks.[task_name].notebook_path}} 筆記本工作 [task_name]的路徑。
{{tasks.[task_name].values.[value_name]}} 工作所設定[task_name]索引鍵[value_name]的工作值。
{{workspace.id}} 指派給工作區的唯一標識符。
{{workspace.url}} 工作區的 URL。

當您建立作業、編輯作業使用不同的參數執行作業,可以使用任何工作來設定這些參考。

您也可以使用 工作值在工作中的工作之間傳遞參數。 請參閱 在 Azure Databricks 作業中共用工作之間的資訊。

日期和時間值的選項

使用下列自變數來指定時間型參數變數的傳回值。 所有傳回值都是以UTC時區的時間戳為基礎。

Argument 描述
iso_weekday 傳回從 1 到 7 的數位,代表時間戳的星期幾。
is_weekday 如果時間戳在工作日,則傳 true 回 。
iso_date 以 ISO 格式傳回日期。
iso_datetime 傳回 ISO 格式的日期和時間。
year 傳回時間戳的年份部分。
month 傳回時間戳的月份部分。
day 傳回時間戳的日期部分。
hour 傳回時間戳的小時部分。
minute 傳回時間戳的分鐘部分。
second 傳回時間戳的第二個部分。
timestamp_ms 以毫秒為單位傳回時間戳。

已被取代的參數變數

下列參數變數已被取代。 雖然仍受支援,但現有作業的任何新作業或更新都應該使用 支援的值參考。 建議的取代參考會包含在每個變數的描述中。

變數 描述
{{job_id}} 指派給作業的唯一標識符。 請改用 job.id
{{run_id}} 指派給工作執行的唯一標識符。 請改用 task.run_id
{{start_date}} 工作執行開始的日期。 格式為UTC時區的yyyy-MM-dd。 請改用 job.start_time.[argument]
{{start_time}} 建立並就緒叢集之後,執行開始執行的時間戳。 格式為 UTC 時區的 UNIX epoch,如 所 System.currentTimeMillis()傳回的毫秒數。 請改用 job.start_time.[format]
{{task_retry_count}} 如果第一次嘗試失敗,嘗試執行工作的重試次數。 第一次嘗試的值是0,每次重試都會遞增。 請改用 task.execution_count
{{parent_run_id}} 指派給具有多個工作之作業執行的唯一標識符。 請改用 job.run_id
{{task_key}} 指派給具有多個工作之作業一部分之工作的唯一名稱。 請改用 task.name