Sdílet prostřednictvím


Dynamické definování nastavení artefaktů v balíčcích prostředků Databricks

Tento článek popisuje, jak přepsat nastavení artefaktů v sadách prostředků Databricks. Podívejte se , co jsou sady prostředků Databricks?

V konfiguračních souborech sady Azure Databricks můžete připojit nastavení artefaktů v mapování nejvyšší úrovně artifacts s nastavením artefaktů v targets mapování, například (tři tečky označují vynechaný obsah, pro stručnost):

# ...
artifacts:
  <some-unique-programmatic-identifier-for-this-artifact>:
    # Artifact settings.

targets:
  <some-unique-programmatic-identifier-for-this-target>:
    resources:
      artifacts:
        <the-matching-programmatic-identifier-for-this-artifact>:
          # Any more artifact settings to join with the settings from the
          # matching top-level artifacts mapping.

Pokud je v mapování nejvyšší úrovně artifacts i targets mapování pro stejný artefakt definováno jakékoli nastavení artefaktu, má nastavení v targets mapování přednost před nastavením v mapování nejvyšší úrovně artifacts .

Příklad 1: Nastavení artefaktů definovaná pouze v mapování artefaktů nejvyšší úrovně

Abychom si ukázali, jak to funguje v praxi, je v následujícím příkladu path definováno v mapování nejvyšší úrovně artifacts , které definuje všechna nastavení artefaktu (tři tečky označují vynechaný obsah pro stručnost):

# ...
artifacts:
  my-artifact:
    type: whl
    path: ./my_package
# ...

Při spuštění databricks bundle validate v tomto příkladu je výsledný graf (tři tečky označují vynechaný obsah pro stručnost):

{
  "...": "...",
  "artifacts": {
    "my-artifact": {
      "type": "whl",
      "path": "./my_package",
      "...": "..."
    }
  },
  "...": "..."
}

Příklad 2: Konfliktní nastavení artefaktů definovaná v mapování více artefaktů

V tomto příkladu je definován jak v mapování nejvyšší úrovně, path tak v artifacts mapování v targets.artifacts V tomto příkladu pathartifactstargets má mapování přednost před path mapováním nejvyšší úrovně artifacts , aby se definovalo nastavení artefaktu (tři tečky označují vynechaný obsah pro stručnost):

# ...
artifacts:
  my-artifact:
    type: whl
    path: ./my_package

targets:
  dev:
    artifacts:
      my-artifact:
        path: ./my_other_package
    # ...

Při spuštění databricks bundle validate v tomto příkladu je výsledný graf (tři tečky označují vynechaný obsah pro stručnost):

{
  "...": "...",
  "artifacts": {
    "my-artifact": {
      "type": "whl",
      "path": "./my_other_package",
      "...": "..."
    }
  },
  "...": "..."
}