Compartir a través de


Defina de forma dinámica la configuración de artefactos en agrupaciones de recursos de Databricks

En este artículo se describe cómo invalidar la configuración de los artefactos en agrupaciones de recursos de Databricks. Consulte ¿Qué son las agrupaciones de recursos de Databricks?

En los archivos de configuración de agrupación de Azure Databricks, puede unir la configuración de artefacto en una asignación de nivel superior de artifacts con la configuración de artefacto en una asignación de targets; por ejemplo (los puntos suspensivos indican contenido omitido, para abreviar):

# ...
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.

Si se define cualquier configuración de artefacto tanto en la asignación de nivel artifacts superior como en la asignación targets para el mismo artefacto, la configuración de la asignación targets tiene prioridad sobre la configuración de la asignación de nivel artifacts superior.

Ejemplo 1: Configuración de artefactos definida solo en la asignación de artefactos de nivel superior

Para demostrar cómo funciona en la práctica, en el ejemplo siguiente, path se define en la asignación de nivel artifacts superior, que define toda la configuración del artefacto (los puntos suspensivos indican contenido omitido, por brevedad):

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

Cuando se ejecuta databricks bundle validate para este ejemplo, el gráfico resultante es (los puntos suspensivos indican contenido omitido, por brevedad):

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

Ejemplo 2: Configuración de artefactos en conflicto definida en varias asignaciones de artefactos

En este ejemplo, path se define en la asignación de nivel artifacts superior y en la asignación artifacts en targets. En este ejemplo, path en la asignación artifacts en targets tiene prioridad sobre path en la asignación de nivel artifacts superior, para definir la configuración del artefacto (los puntos suspensivos indican contenido omitido, por brevedad):

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

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

Cuando se ejecuta databricks bundle validate para este ejemplo, el gráfico resultante es (los puntos suspensivos indican contenido omitido, por brevedad):

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