Vad är en referens för dynamiskt värde?

Referenser till dynamiskt värde beskriver en samling variabler som är tillgängliga när jobb och uppgifter konfigureras. Använd referenser för dynamiskt värde för att konfigurera villkorsstyrda instruktioner för aktiviteter eller för att skicka information som parametrar eller argument.

Referenser till dynamiskt värde innehåller information som:

  • Konfigurerade värden för jobbet, inklusive jobbnamn, uppgiftsnamn och utlösartyp.
  • Genererade metadata om jobbet, inklusive jobb-ID, körnings-ID och starttid för jobbkörningen.
  • Information om hur många reparationsförsök ett jobb har gjort eller försöker utföra en aktivitet igen har körts.
  • Resultattillståndet för en angiven aktivitet.
  • Värden som konfigurerats med hjälp av jobbparametrar, aktivitetsparametrar eller ange med hjälp av aktivitetsvärden.

Använda referenser för dynamiskt värde

Använd referenser för dynamiskt värde när du konfigurerar jobb eller uppgifter. Du kan inte direkt referera till dynamiska värdereferenser från tillgångar som konfigurerats med hjälp av uppgifter som notebook-filer, frågor eller JAR:er. Referenser för dynamiskt värde måste definieras med hjälp av parametrar eller fält som skickar kontexten till aktiviteter.

Dynamiska värdereferenser använder dubbla klammerparenteser ({{ }}). När ett jobb eller en aktivitet körs ersätter en strängliteral referensen för det dynamiska värdet. Om du till exempel konfigurerar följande nyckel/värde-par som en aktivitetsparameter:

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

Om ditt körnings-ID är 550315892394120utvärderas värdet för job_run_id till job_550315892394120.

Kommentar

Innehållet i de dubbla klammerparenteserna utvärderas inte som uttryck. Du kan inte köra åtgärder eller funktioner i klammerparenteser med dubbla klammerparenteser.

Värdeidentifierare som tillhandahålls av användaren stöder alfanumeriska tecken och understreckstecken. Escape-nycklar som innehåller specialtecken genom att omge identifieraren med backticks (` `).

Syntaxfel, inklusive icke-existerande dynamiska referensvärden och saknade klammerparenteser, ignoreras tyst och behandlas som literalsträngar. Ett felmeddelande visas om du anger en ogiltig referens som tillhör ett känt namnområde, till exempel {{job.notebook_url}}.

Använda referenser för dynamiskt värde i jobbgränssnittet

Fält som accepterar referenser för dynamiskt värde ger en genväg för att infoga tillgängliga referenser för dynamiskt värde. Klicka på { } för att se den här listan och infoga den i det angivna fältet.

Kommentar

Användargränssnittet slutför inte nycklarna automatiskt för att referera till aktivitetsvärden.

Många fält som accepterar referenser för dynamiskt värde kräver ytterligare formatering för att använda dem korrekt. Se Konfigurera aktivitetsparametrar.

Använda referenser för dynamiskt värde i ett jobb-JSON

Använd {{ }} syntax för att använda dynamiska värden i JSON-jobbdefinitioner som används av Databricks CLI och REST API.

Jobb- och aktivitetsparametrar har olika syntax, och syntaxen för aktivitetsparametern varierar beroende på aktivitetstyp.

I följande exempel visas den partiella JSON-syntaxen för att konfigurera jobbparametrar med hjälp av referenser för dynamiskt värde:

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

I följande exempel visas den partiella JSON-syntaxen för att konfigurera notebook-uppgiftsparametrar med hjälp av en referens för dynamiskt värde:

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

Granska parametrar för en jobbkörning

När en uppgift har slutförts kan du se lösta parametervärden under Parametrar på sidan körningsinformation. Se Visa information om jobbkörning.

Värdereferenser som stöds

Följande referenser för dynamiskt värde stöds:

Referens beskrivning
{{job.id}} Den unika identifierare som tilldelats jobbet.
{{job.name}} Namnet på jobbet vid tidpunkten för jobbkörningen.
{{job.run_id}} Den unika identifierare som tilldelats jobbkörningen.
{{job.repair_count}} Antalet reparationsförsök på den aktuella jobbkörningen.
{{job.start_time.<argument>}} Ett värde baserat på den tid (i UTC-tidszonen) som jobbkörningen startade. Returvärdet baseras på argument alternativet . Se Alternativ för datum- och tidsvärden.
{{job.parameters.<name>}} Värdet för jobbnivåparametern med nyckeln <name>.
{{job.trigger.type}} Utlösartypen för jobbkörningen. Möjliga värden är periodic, one_time, run_job_task, file_arrival, continuousoch table.
{{job.trigger.file_arrival.location}} Om en utlösare för filinleverans har konfigurerats för det här jobbet, värdet för lagringsplatsen.
{{job.trigger.time.<argument>}} Ett värde baserat på den tid (i UTC-tidszonen) som jobbkörningen utlöstes, avrundat till närmaste minut för jobb med ett cron-schema. Returvärdet baseras på argument alternativet . Se Alternativ för datum- och tidsvärden.
{{task.name}} Namnet på den aktuella aktiviteten.
{{task.run_id}} Den unika identifieraren för den aktuella aktivitetskörningen.
{{task.execution_count}} Antalet gånger som den aktuella aktiviteten kördes (inklusive återförsök och reparationer).
{{task.notebook_path}} Notebook-sökvägen för den aktuella notebook-uppgiften.
{{tasks.<task_name>.run_id}} Den unika identifierare som tilldelats till aktivitetskörningen för <task_name>.
{{tasks.<task_name>.result_state}} Resultattillståndet för aktiviteten <task_name>. De möjliga värdena är success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted och upstream_failed.
{{tasks.<task_name>.error_code}} Felkoden för aktiviteten <task_name> om ett fel uppstod när aktiviteten kördes. Exempel på möjliga värden är RunExecutionError, ResourceNotFoundoch UnauthorizedError. För lyckade uppgifter utvärderas detta till en tom sträng.
{{tasks.<task_name>.execution_count}} Antalet gånger aktiviteten <task_name> kördes (inklusive återförsök och reparationer).
{{tasks.<task_name>.notebook_path}} Sökvägen till notebook-filen för notebook-uppgiften <task_name>.
{{tasks.<task_name>.values.<value_name>}} Uppgiftsvärdet med nyckeln <value_name> som angavs av aktiviteten <task_name>.
{{workspace.id}} Den unika identifierare som tilldelats arbetsytan.
{{workspace.url}} URL:en för arbetsytan.

Du kan ange dessa referenser med valfri uppgift. Se Konfigurera aktivitetsparametrar.

Du kan också skicka parametrar mellan aktiviteter i ett jobb med aktivitetsvärden. Se Använda aktivitetsvärden för att skicka information mellan aktiviteter.

Alternativ för datum- och tidsvärden

Använd följande argument för att ange returvärdet från tidsbaserade parametervariabler. Alla returvärden baseras på en tidsstämpel i UTC-tidszonen.

Argument beskrivning
iso_weekday Returnerar en siffra från 1 till 7 som representerar tidsstämpelns dag i veckan.
is_weekday Returnerar true om tidsstämpeln är på en veckodag.
iso_date Returnerar datumet i ISO-format.
iso_datetime Returnerar datum och tid i ISO-format.
year Returnerar årdelen av tidsstämpeln.
month Returnerar månadsdelen av tidsstämpeln.
day Returnerar dagdelen av tidsstämpeln.
hour Returnerar timdelen av tidsstämpeln.
minute Returnerar minutdelen av tidsstämpeln.
second Returnerar den andra delen av tidsstämpeln.
timestamp_ms Returnerar tidsstämpeln i millisekunder.

Inaktuella referenser för dynamiskt värde

Följande dynamiska värdereferenser är inaktuella. Den rekommenderade ersättningsreferensen ingår i beskrivningen av varje variabel.

Olika beskrivning
{{job_id}} Den unika identifierare som tilldelats ett jobb. Använd job.id i stället.
{{run_id}} Den unika identifierare som tilldelats en aktivitetskörning. Använd task.run_id i stället.
{{start_date}} Datumet då en aktivitetskörning startade. Formatet är åå-MM-dd i UTC-tidszonen. Använd job.start_time.<argument> i stället.
{{start_time}} Tidsstämpeln för körningens start av körningen när klustret har skapats och är klart. Formatet är millisekunder sedan UNIX-epoken i UTC-tidszonen, som returnerades av System.currentTimeMillis(). Använd job.start_time.<format> i stället.
{{task_retry_count}} Antalet återförsök som har försökt köra en uppgift om det första försöket misslyckas. Värdet är 0 för det första försöket och ökar med varje nytt försök. Använd task.execution_count i stället.
{{parent_run_id}} Den unika identifierare som tilldelats körningen av ett jobb med flera uppgifter. Använd job.run_id i stället.
{{task_key}} Det unika namn som tilldelats en aktivitet som ingår i ett jobb med flera aktiviteter. Använd task.name i stället.