將有關作業的內容傳遞至作業工作
您可以使用 動態值參考 來傳遞作業或工作執行的內容,例如作業或工作名稱、執行標識碼,或作業執行的開始時間。 動態值參考是範本化變數,會在作業工作執行時取代為適當的值。
當作業執行時,會取代以雙大括弧括住的工作參數變數,並附加至包含在值一部分的選擇性字串值。 例如,若要針對任何作業標識碼 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 、、one_time 、run_job_task file_arrival 、、 continuous 和 table 。 |
{{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>}} |
工作所設定<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 |
以毫秒為單位傳回時間戳。 |
已被取代的參數變數
下列參數變數已被取代。 雖然仍受支援,但現有作業的任何新作業或更新都應該使用 [支援的值參考>(#supported 參考)。 建議的取代參考會包含在每個變數的描述中。
變數 | 描述 |
---|---|
{{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 。 |