Sdílet prostřednictvím


Co je odkaz na dynamickou hodnotu?

Odkazy na dynamické hodnoty popisují kolekci proměnných dostupných při konfiguraci úloh a úkolů. Pomocí odkazů na dynamické hodnoty můžete konfigurovat podmíněné příkazy pro úkoly nebo předávat informace jako parametry nebo argumenty.

Mezi odkazy na dynamické hodnoty patří například:

  • Nakonfigurované hodnoty pro úlohu, včetně názvu úlohy, názvů úkolů a typu triggeru.
  • Generovaná metadata úlohy, včetně ID úlohy, ID spuštění a času spuštění úlohy.
  • Informace o počtu pokusů o opravu, které úloha provedla, nebo opakování úkolu.
  • Stav výsledku pro zadaný úkol.
  • Hodnoty nakonfigurované pomocí parametrů úlohy, parametrů úkolů nebo nastavení pomocí hodnot úkolů

Použití odkazů na dynamické hodnoty

Při konfiguraci úloh nebo úkolů používejte odkazy na dynamické hodnoty. Odkazy na dynamické hodnoty z prostředků nakonfigurovaných pomocí úloh, jako jsou poznámkové bloky, dotazy nebo žádosti o přijetí změn, nemůžete přímo odkazovat. Odkazy na dynamické hodnoty musí být definovány pomocí parametrů nebo polí, která předávají kontext do úkolů.

Odkazy na dynamické hodnoty používají dvojité složené závorky ({{ }}). Při spuštění úlohy nebo úkolu nahradí řetězcový literál odkaz na dynamickou hodnotu. Pokud například nakonfigurujete následující dvojici klíč-hodnota jako parametr úkolu:

{"job_run_id": "job_{{job.run_id}}"}

Pokud je 550315892394120ID spuštění , hodnota, která job_run_id se vyhodnotí jako job_550315892394120.

Poznámka:

Obsah dvojitých složených závorek se nevyhodnocuje jako výrazy. V dvojitých složených závorkách nelze spouštět operace ani funkce.

Identifikátory hodnot poskytnuté uživatelem podporují alfanumerické a podtržítka. Řídicí klávesy, které obsahují speciální znaky, obklopují identifikátory pomocí zpětných znamétek (` `).

Chyby syntaxe, včetně neexistujících dynamických referenčních hodnot a chybějících závorek, se bezobslužně ignorují a považují se za literální řetězce. Chybová zpráva se zobrazí, pokud zadáte neplatný odkaz patřící do známého oboru názvů, {{job.notebook_url}}například .

Použití odkazů na dynamické hodnoty v uživatelském rozhraní úloh

Pole, která přijímají odkazy na dynamické hodnoty, poskytují zástupce pro vložení dostupných odkazů na dynamické hodnoty. Kliknutím na { } zobrazíte tento seznam a vložíte ho do zadaného pole.

Poznámka:

Uživatelské rozhraní automaticky nedokončil klíče pro odkaz na hodnoty úkolů.

Mnoho polí, která přijímají odkazy na dynamické hodnoty, vyžadují k jejich správnému použití další formátování. Viz Konfigurace parametrů úkolu.

Použití odkazů na dynamické hodnoty ve formátu JSON úlohy

Syntaxe slouží {{ }} k použití dynamických hodnot v definicích JSON úloh používaných rozhraním PŘÍKAZOVÉho řádku Databricks a rozhraním REST API.

Parametry úloh a úkolů mají jinou syntaxi a syntaxe parametrů úkolu se liší podle typu úkolu.

Následující příklad ukazuje částečnou syntaxi JSON pro konfiguraci parametrů úlohy pomocí odkazů na dynamické hodnoty:

{
  "parameters": [
    {
      "name": "my_job_id",
      "default": "{{job.id}}"
    },
    {
      "name": "run_date",
      "default": "{{job.start_time.iso_date}}"
    }
  ]
}

Následující příklad ukazuje částečnou syntaxi JSON pro konfiguraci parametrů úlohy poznámkového bloku pomocí odkazu na dynamickou hodnotu:

{
  "notebook_task": {
    "base_parameters": {
      "workspace_id": "workspace_{{workspace.id}}",
      "file_arrival_location": "{{job.trigger.file_arrival.location}}"
    }
  }
}

Kontrola parametrů spuštění úlohy

Po dokončení úlohy uvidíte vyřešené hodnoty parametrů v části Parametry na stránce podrobností spuštění. Viz Zobrazení podrobností o spuštění úlohy.

Podporované odkazy na hodnoty

Podporují se následující odkazy na dynamické hodnoty:

Reference Popis
{{job.id}} Jedinečný identifikátor přiřazený k úloze.
{{job.name}} Název úlohy v době spuštění úlohy.
{{job.run_id}} Jedinečný identifikátor přiřazený ke spuštění úlohy.
{{job.repair_count}} Počet pokusů o opravu při aktuálním spuštění úlohy.
{{job.start_time.<argument>}} Hodnota založená na čase (v časovém pásmu UTC), kterou úloha spustila. Vrácená hodnota je založena na argument možnosti. Viz Možnosti pro hodnoty data a času.
{{job.parameters.<name>}} Hodnota parametru na úrovni úlohy s klíčem <name>.
{{job.trigger.type}} Typ triggeru spuštění úlohy. Možné hodnoty jsou periodic, , one_timerun_job_task, file_arrival, continuous, a table.
{{job.trigger.file_arrival.location}} Pokud je pro tuto úlohu nakonfigurovaná aktivační událost přijetí souboru, hodnota umístění úložiště.
{{job.trigger.time.<argument>}} Hodnota založená na čase (v časovém pásmu UTC), kterou se spustila úloha, zaokrouhlená dolů na nejbližší minutu pro úlohy s plánem cron. Vrácená hodnota je založena na argument možnosti. Viz Možnosti pro hodnoty data a času.
{{task.name}} Název aktuálního úkolu.
{{task.run_id}} Jedinečný identifikátor aktuálního spuštění úlohy.
{{task.execution_count}} Počet spuštění aktuálního úkolu (včetně opakovaných pokusů a oprav).
{{task.notebook_path}} Cesta k poznámkovému bloku aktuálního úkolu poznámkového bloku.
{{tasks.<task_name>.run_id}} Jedinečný identifikátor přiřazený ke spuštění úlohy pro <task_name>.
{{tasks.<task_name>.result_state}} Stav výsledku úkolu <task_name>. Možné hodnoty jsou success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted a upstream_failed.
{{tasks.<task_name>.error_code}} Kód chyby úkolu <task_name> , pokud došlo k chybě při spuštění úkolu. Příklady možných hodnot jsou RunExecutionError, ResourceNotFounda UnauthorizedError. U úspěšných úloh se vyhodnotí jako prázdný řetězec.
{{tasks.<task_name>.execution_count}} Počet spuštění úlohy <task_name> (včetně opakovaných pokusů a oprav).
{{tasks.<task_name>.notebook_path}} Cesta k poznámkovému bloku pro úkol <task_name>poznámkového bloku .
{{tasks.<task_name>.values.<value_name>}} Hodnota úkolu s klíčem <value_name> nastaveným úkolem <task_name>.
{{workspace.id}} Jedinečný identifikátor přiřazený k pracovnímu prostoru.
{{workspace.url}} Adresa URL pracovního prostoru.

Tyto odkazy můžete nastavit pomocí libovolného úkolu. Viz Konfigurace parametrů úkolu.

Můžete také předat parametry mezi úkoly v úloze s hodnotami úkolů. Viz Použití hodnot úkolů k předávání informací mezi úkoly.

Možnosti pro hodnoty data a času

Pomocí následujících argumentů zadejte návratovou hodnotu z proměnných parametrů založených na čase. Všechny návratové hodnoty jsou založeny na časovém razítku v časovém pásmu UTC.

Argument Popis
iso_weekday Vrátí číslici od 1 do 7 představující den v týdnu časového razítka.
is_weekday Vrátí true , pokud časové razítko je v pracovní den.
iso_date Vrátí datum ve formátu ISO.
iso_datetime Vrátí datum a čas ve formátu ISO.
year Vrátí část roku časového razítka.
month Vrátí část měsíce časového razítka.
day Vrátí část dne časového razítka.
hour Vrátí hodinovou část časového razítka.
minute Vrátí minutovou část časového razítka.
second Vrátí druhou část časového razítka.
timestamp_ms Vrátí časové razítko v milisekundách.

Zastaralé odkazy na dynamické hodnoty

Následující odkazy na dynamické hodnoty jsou zastaralé. Doporučený náhradní odkaz je součástí popisu každé proměnné.

Proměnná Popis
{{job_id}} Jedinečný identifikátor přiřazený k úloze. Místo toho použijte job.id.
{{run_id}} Jedinečný identifikátor přiřazený ke spuštění úlohy. Místo toho použijte task.run_id.
{{start_date}} Datum spuštění úlohy. Formát je rrrr-MM-dd v časovém pásmu UTC. Místo toho použijte job.start_time.<argument>.
{{start_time}} Časové razítko spuštění spuštění po vytvoření a dokončení clusteru. Formát je milisekund od unixového epochy v časovém pásmu UTC, jak je vráceno System.currentTimeMillis(). Místo toho použijte job.start_time.<format>.
{{task_retry_count}} Počet opakovaných pokusů, které se pokusily spustit úlohu, pokud první pokus selže. Hodnota je 0 pro první pokus a zvýší se při každém opakování. Místo toho použijte task.execution_count.
{{parent_run_id}} Jedinečný identifikátor přiřazený ke spuštění úlohy s více úkoly. Místo toho použijte job.run_id.
{{task_key}} Jedinečný název přiřazený k úkolu, který je součástí úlohy s více úkoly. Místo toho použijte task.name.