Condividi tramite


Definire le impostazioni degli artefatti nei bundle di asset di Databricks

Questo articolo descrive come eseguire l'override delle impostazioni per gli artefatti nei bundle di asset di Databricks. Vedi Che cosa sono i Databricks Asset Bundles?

In Azure Databricks bundle configuration files, puoi sovrascrivere le impostazioni dell'artefatto in una mappatura di alto livello artifacts con le impostazioni dell'artefatto in una mappatura targets, ad esempio:

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

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

Se un'impostazione di artefatto viene definita sia nel mapping artifacts di livello superiore che nel mapping targets per lo stesso artefatto, l'impostazione nel mapping targets ha la precedenza sull'impostazione nel mapping di primo livello artifacts.

Esempio 1: Impostazioni degli artefatti definiti solo nel mapping degli artefatti di primo livello

Per illustrare come funziona in pratica, nell'esempio seguente path è definito nel mapping di primo livello artifacts, che definisce tutte le impostazioni per l'artefatto (i puntini di sospensione indicano il contenuto omesso, per brevità):

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

Quando si esegue databricks bundle validate per questo esempio, il grafico risultante è:

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

Esempio 2: Impostazioni degli artefatti in conflitto definite in più mappature degli artefatti

In questo esempio, path è definito sia nel mapping artifacts di primo livello che nel mapping artifacts in targets. In questo esempio, path nel mapping artifacts in targets ha la precedenza su path nel mapping artifacts di primo livello, per definire le impostazioni per l'artefatto (i puntini di sospensione indicano il contenuto omesso, per brevità):

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

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

Quando si esegue databricks bundle validate per questo esempio, il grafico risultante è (i puntini di sospensione indicano il contenuto omesso, per brevità):

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