Dela via


Definiera artefaktinställningar dynamiskt i Databricks-tillgångspaket

I den här artikeln beskrivs hur du åsidosätter inställningarna för artefakter i Databricks-tillgångspaket. Se Vad är Databricks-tillgångspaket?

I Azure Databricks-paketkonfigurationsfiler kan du koppla artefaktinställningarna i en mappning på den översta nivån artifacts med artefaktinställningarna i en targets mappning, till exempel (ellipser anger utelämnat innehåll, för korthet):

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

Om någon artefaktinställning definieras både i mappningen på den översta nivån och mappningen targets för samma artefakt har inställningen i mappningen targets företräde framför inställningen i mappningen på den översta nivånartifacts.artifacts

Exempel 1: Artefaktinställningar som endast definierats i mappningen av artefakter på den översta nivån

För att visa hur detta fungerar i praktiken definieras i följande exempel path i mappningen på den översta nivån artifacts , som definierar alla inställningar för artefakten (ellipser anger utelämnat innehåll, för korthet):

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

När du kör databricks bundle validate för det här exemplet är det resulterande diagrammet (ellipser anger utelämnat innehåll, för korthet):

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

Exempel 2: Motstridiga artefaktinställningar som definierats i flera artefaktmappningar

I det här exemplet path definieras både i toppnivåmappningen artifacts och i mappningen artifacts i targets. I det här exemplet path har mappningen artifacts i targets företräde framför path i den översta mappningen artifacts , för att definiera inställningarna för artefakten (ellipser anger utelämnat innehåll, för korthet):

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

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

När du kör databricks bundle validate för det här exemplet är det resulterande diagrammet (ellipser anger utelämnat innehåll, för korthet):

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