ジョブ実行に関するコンテキストをジョブ タスクに渡す

動的な値参照を使用して、ジョブまたはタスクの名前、実行の識別子、ジョブ実行の開始時刻など、ジョブまたはタスクの実行に関するコンテキストを渡すことができます。動的な値参照は、ジョブ タスクの実行時に適切な値に置き換えられるテンプレート化された変数です。 ジョブが実行されると、二重中括弧で囲まれたタスク パラメーター変数が置き換えられ、値の一部として含まれるオプションの文字列値に追加されます。 たとえば、ジョブ ID 6 の実行に対して値 my-job-6 を持つ MyJobId という名前のパラメーターを渡すには、次のタスク パラメーターを追加します。

{
  "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}}

ジョブ実行のトリガーのタイプ。 指定できる値は、 periodiconetimerun_job_taskfile_arrivalcontinuoustableです。

{{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]の結果の状態。 指定できる値は、 successfailedexcludedcanceledevictedtimedoutupstream_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。

これらの参照は、ジョブ の作成、ジョブ の編集、または 異なるパラメーターを使用したジョブの実行時に、任意のタスクで設定できます。

また、タスク値を使用して、ジョブ内の タスク間でパラメーターを渡すこともできます。 「 Databricks ジョブのタスク間で情報を共有する」を参照してください。

日付と時刻の値のオプション

次の引数を使用して、時間ベースのパラメーター変数からの戻り値を指定します。 すべての戻り値は、UTC タイムゾーンのタイムスタンプに基づいています。

引数

説明

iso_weekday

タイムスタンプの曜日を表す 1 から 7 までの数字を返します。

is_weekday

タイムスタンプが平日の場合に true を返します。

iso_date

日付を ISO 形式で返します。

iso_datetime

日付と時刻を ISO 形式で返します。

year

タイムスタンプの年の部分を返します。

month

タイムスタンプの月の部分を返します。

day

タイムスタンプの日の部分を返します。

hour

タイムスタンプの時間の部分を返します。

minute

タイムスタンプの分の部分を返します。

second

タイムスタンプの 2 番目の部分を返します。

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エポックからのミリ秒で、 System.currentTimeMillis()によって返されます。 代わりに job.start_time.[format] を使用してください。

{{task_retry_count}}

最初の試行が失敗した場合にタスクの実行を再試行した回数。 値は最初の試行では 0 で、再試行のたびにインクリメントされます。 代わりに task.execution_count を使用してください。

{{parent_run_id}}

複数のタスクを持つジョブの実行に割り当てられる一意の識別子。 代わりに job.run_id を使用してください。

{{task_key}}

複数のタスクを持つジョブの一部であるタスクに割り当てられる一意の名前。 代わりに task.name を使用してください。