Co to jest odwołanie do wartości dynamicznej?

Odwołania do wartości dynamicznych opisują kolekcję zmiennych dostępnych podczas konfigurowania zadań i zadań. Użyj odwołań do wartości dynamicznych, aby skonfigurować instrukcje warunkowe dla zadań lub przekazać informacje jako parametry lub argumenty.

Odwołania do wartości dynamicznych obejmują takie informacje jak:

  • Skonfigurowane wartości zadania, w tym nazwa zadania, nazwy zadań i typ wyzwalacza.
  • Wygenerowane metadane dotyczące zadania, w tym identyfikator zadania, identyfikator przebiegu i czas rozpoczęcia uruchomienia zadania.
  • Informacje o tylu próbach naprawy wykonanego zadania lub ponawiania próby uruchomienia zadania.
  • Stan wyniku określonego zadania.
  • Wartości skonfigurowane przy użyciu parametrów zadania, parametrów zadania lub ustawiania przy użyciu wartości zadań.

Używanie odwołań do wartości dynamicznych

Podczas konfigurowania zadań lub zadań należy używać odwołań do wartości dynamicznych. Nie można bezpośrednio odwoływać się do odwołań do wartości dynamicznych z zasobów skonfigurowanych przy użyciu zadań, takich jak notesy, zapytania lub elementy JAR. Odwołania do wartości dynamicznych muszą być definiowane przy użyciu parametrów lub pól, które przekazują kontekst do zadań podrzędnych.

Odwołania do wartości dynamicznych używają podwójnych nawiasów klamrowych ({{ }}). Gdy zadanie lub zadanie zostanie uruchomione, literał ciągu zastępuje odwołanie do wartości dynamicznej. Jeśli na przykład skonfigurujesz następującą parę klucz-wartość jako parametr zadania:

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

Jeśli identyfikator przebiegu to 550315892394120, wartość dla wartości job_run_id jest obliczana na job_550315892394120wartość .

Uwaga

Zawartość podwójnych nawiasów klamrowych nie jest obliczana jako wyrażenia. Nie można uruchamiać operacji ani funkcji w nawiasach klamrowych z podwójnymi klamrami.

Identyfikatory wartości udostępniane przez użytkownika obsługują znaki alfanumeryczne i podkreślenia. Klucze ucieczki zawierające znaki specjalne otaczające identyfikator za pomocą backticks (` `).

Błędy składniowe, w tym nieistniejące wartości odwołania dynamicznego i brakujące nawiasy klamrowe, są ignorowane w trybie dyskretnym i są traktowane jako ciągi literału. Zostanie wyświetlony komunikat o błędzie, jeśli podasz nieprawidłowe odwołanie należące do znanej przestrzeni nazw, na przykład {{job.notebook_url}}.

Używanie odwołań do wartości dynamicznych w interfejsie użytkownika zadań

Pola, które akceptują odwołania do wartości dynamicznych, udostępniają skrót do wstawiania dostępnych odwołań do wartości dynamicznych. Kliknij pozycję { } , aby wyświetlić tę listę i wstawić ją do podanego pola.

Uwaga

Interfejs użytkownika nie wykonuje automatycznie kluczy w celu odwołania się do wartości zadań.

Wiele pól, które akceptują odwołania do wartości dynamicznych, wymaga dodatkowego formatowania, aby używać ich poprawnie. Zobacz Konfigurowanie parametrów zadania.

Używanie odwołań do wartości dynamicznych w formacie JSON zadania

Składnia służy {{ }} do używania wartości dynamicznych w definicjach JSON zadania używanych przez interfejs wiersza polecenia usługi Databricks i interfejs API REST.

Parametry zadania i zadania mają inną składnię, a składnia parametrów zadania różni się w zależności od typu zadania.

Poniższy przykład przedstawia częściową składnię JSON w celu skonfigurowania parametrów zadania przy użyciu odwołań do wartości dynamicznych:

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

Poniższy przykład przedstawia częściową składnię JSON w celu skonfigurowania parametrów zadania notesu przy użyciu odwołania do wartości dynamicznej:

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

Przeglądanie parametrów przebiegu zadania

Po zakończeniu zadania można zobaczyć rozpoznane wartości parametrów w obszarze Parametry na stronie szczegółów przebiegu. Zobacz Wyświetlanie szczegółów uruchomienia zadania.

Obsługiwane odwołania do wartości

Obsługiwane są następujące odwołania do wartości dynamicznych:

Odwołanie opis
{{job.id}} Unikatowy identyfikator przypisany do zadania.
{{job.name}} Nazwa zadania w momencie uruchomienia zadania.
{{job.run_id}} Unikatowy identyfikator przypisany do przebiegu zadania.
{{job.repair_count}} Liczba prób naprawy w bieżącym uruchomieniu zadania.
{{job.start_time.<argument>}} Wartość oparta na godzinie (w strefie czasowej UTC), którą uruchomiono zadanie. Wartość zwracana jest oparta na argument opcji . Zobacz Opcje wartości daty i godziny.
{{job.parameters.<name>}} Wartość parametru poziomu zadania z kluczem <name>.
{{job.trigger.type}} Typ wyzwalacza przebiegu zadania. Możliwe wartości to periodic, , one_time, run_job_taskfile_arrival, , continuousi table.
{{job.trigger.file_arrival.location}} Jeśli dla tego zadania skonfigurowano wyzwalacz przybycia pliku, wartość lokalizacji przechowywania.
{{job.trigger.time.<argument>}} Wartość oparta na czasie (w strefie czasowej UTC), o którą zostało wyzwolone uruchomienie zadania, zaokrąglona w dół do najbliższej minuty dla zadań z harmonogramem cron. Wartość zwracana jest oparta na argument opcji . Zobacz Opcje wartości daty i godziny.
{{task.name}} Nazwa bieżącego zadania.
{{task.run_id}} Unikatowy identyfikator bieżącego przebiegu zadania.
{{task.execution_count}} Liczba uruchomień bieżącego zadania (w tym ponownych prób i napraw).
{{task.notebook_path}} Ścieżka notesu bieżącego zadania notesu.
{{tasks.<task_name>.run_id}} Unikatowy identyfikator przypisany do uruchomienia zadania dla elementu <task_name>.
{{tasks.<task_name>.result_state}} Stan wyniku zadania <task_name>. Możliwe wartości to success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted i upstream_failed.
{{tasks.<task_name>.error_code}} Kod błędu zadania <task_name> , jeśli wystąpił błąd podczas uruchamiania zadania. Przykłady możliwych wartości to RunExecutionError, ResourceNotFoundi UnauthorizedError. W przypadku zadań zakończonych powodzeniem jest to wynikiem pustego ciągu.
{{tasks.<task_name>.execution_count}} Liczba uruchomień zadania <task_name> (w tym ponownych prób i napraw).
{{tasks.<task_name>.notebook_path}} Ścieżka do notesu dla zadania <task_name>notesu .
{{tasks.<task_name>.values.<value_name>}} Wartość zadania z kluczem <value_name> ustawionym przez zadanie <task_name>.
{{workspace.id}} Unikatowy identyfikator przypisany do obszaru roboczego.
{{workspace.url}} Adres URL obszaru roboczego.

Te odwołania można ustawić przy użyciu dowolnego zadania. Zobacz Konfigurowanie parametrów zadania.

Można również przekazywać parametry między zadaniami w zadaniu z wartościami zadań. Zobacz Używanie wartości zadań do przekazywania informacji między zadaniami.

Opcje wartości daty i godziny

Użyj następujących argumentów, aby określić wartość zwracaną ze zmiennych parametrów opartych na czasie. Wszystkie wartości zwracane są oparte na znaczniku czasu w strefie czasowej UTC.

Argument opis
iso_weekday Zwraca cyfrę z zakresu od 1 do 7, reprezentującą dzień tygodnia znacznika czasu.
is_weekday Zwraca wartość true , jeśli sygnatura czasowa jest w dni powszednie.
iso_date Zwraca datę w formacie ISO.
iso_datetime Zwraca datę i godzinę w formacie ISO.
year Zwraca część roku znacznika czasu.
month Zwraca część znacznika czasu w miesiącu.
day Zwraca część dnia znacznika czasu.
hour Zwraca część godziny znacznika czasu.
minute Zwraca część minuty znacznika czasu.
second Zwraca drugą część znacznika czasu.
timestamp_ms Zwraca znacznik czasu w milisekundach.

Przestarzałe odwołania do wartości dynamicznej

Następujące odwołania do wartości dynamicznej są przestarzałe. Zalecane odwołanie zastępcze znajduje się w opisie każdej zmiennej.

Zmienna opis
{{job_id}} Unikatowy identyfikator przypisany do zadania. Użycie w zamian parametru job.id.
{{run_id}} Unikatowy identyfikator przypisany do przebiegu zadania. Użycie w zamian parametru task.run_id.
{{start_date}} Data uruchomienia zadania. Format jest yyyy-MM-dd w strefie czasowej UTC. Użycie w zamian parametru job.start_time.<argument>.
{{start_time}} Sygnatura czasowa rozpoczęcia wykonywania przebiegu po utworzeniu i dokonaniu gotowości klastra. Format to milisekundy od epoki SYSTEMU UNIX w strefie czasowej UTC, co jest zwracane przez System.currentTimeMillis(). Użycie w zamian parametru job.start_time.<format>.
{{task_retry_count}} Liczba ponownych prób, które próbowano uruchomić zadanie, jeśli pierwsza próba zakończy się niepowodzeniem. Wartość to 0 dla pierwszej próby i zwiększa się wraz z każdą ponowną próbą. Użycie w zamian parametru task.execution_count.
{{parent_run_id}} Unikatowy identyfikator przypisany do uruchomienia zadania z wieloma zadaniami. Użycie w zamian parametru job.run_id.
{{task_key}} Unikatowa nazwa przypisana do zadania, które jest częścią zadania z wieloma zadaniami. Użycie w zamian parametru task.name.