ジョブ実行に関するコンテキストをジョブ タスクに渡す
"動的値参照" を使用して、ジョブまたはタスクの実行に関するコンテキスト (ジョブまたはタスクの名前、実行の識別子、ジョブ実行の開始時刻など) を渡すことができます。 動的値参照はテンプレート化された変数であり、ジョブ タスクの実行時に適切な値に置き換えられます。
ジョブを実行すると、二重中かっこで囲まれたタスク パラメーター変数が置き換えられ、値の一部として含まれる省略可能な文字列値に付加されます。 たとえば、ジョブ 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}} |
ジョブ実行のトリガーの種類。 使用できる値は、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 タイムゾーン) に基づきます。
引数 | 説明 |
---|---|
iso_weekday |
タイムスタンの曜日を表す 1 から 7 までの数字を返します。 |
is_weekday |
タイムスタンプが平日の場合、true を返します。 |
iso_date |
ISO 形式の日付を返します。 |
iso_datetime |
ISO 形式の日付と時刻を返します。 |
year |
タイムスタンプの年の部分を返します。 |
month |
タイムスタンプの月の部分を返します。 |
day |
タイムスタンプの日の部分を返します。 |
hour |
タイムスタンプの時の部分を返します。 |
minute |
タイムスタンプの分の部分を返します。 |
second |
タイムスタンプの秒の部分を返します。 |
timestamp_ms |
タイムスタンプをミリ秒で返します。 |
非推奨のパラメーター変数
次のパラメーター変数は非推奨です。 これらは引き続きサポートされますが、新しいジョブや既存のジョブの更新では、[サポートされている値参照>(#supported-references)] を使用する必要があります。 推奨される置換参照は、各変数の説明に含まれています。
変数 | 説明 |
---|---|
{{job_id}} |
ジョブに割り当てられた一意識別子。 代わりに job.id を使用してください |
{{run_id}} |
タスク実行に割り当てられた一意識別子。 代わりに task.run_id を使用してください |
{{start_date}} |
タスクの実行が開始された日付。 形式は、UTC タイムゾーンの yyyy-MM-dd です。 代わりに job.start_time.<argument> を使用してください |
{{start_time}} |
クラスターが作成され、準備ができた後の実行の開始のタイムスタンプ。 形式は、System.currentTimeMillis() によって返される、UTC タイムゾーンの UNIX エポックからのミリ秒です。 代わりに job.start_time.<format> を使用してください |
{{task_retry_count}} |
最初の試行が失敗した場合にタスクの実行を試行した再試行の回数。 値は最初の試行では 0 で、再試行ごとに増加します。 代わりに task.execution_count を使用してください |
{{parent_run_id}} |
複数のタスクを持つジョブの実行に割り当てられた一意の識別子。 代わりに job.run_id を使用してください |
{{task_key}} |
複数のタスクを持つジョブの一部であるタスクに割り当てられた一意の名前。 代わりに task.name を使用してください |