Dela via


Konfigurera Databricks Asset Bundles för att fungera i en isolerad miljö

Databricks-tillgångspaket är beroende av externa bibliotek och verktyg för att fungera korrekt. Platserna (URL:er) för dessa beroenden måste vara tillgängliga eller paketinitiering misslyckas. Därför måste du ladda ned Docker-containeravbildningen som tillhandahålls av Databricks CLI och hantera dina Databricks-tillgångspaket via Docker innan du använder Databricks Asset Bundles i en luftgapad nätverksmiljö som inte har åtkomst till Internet.

Ladda ned Docker-containeravbildningen

Databricks CLI Docker-containeravbildningen stöder ARM64- och AMD64 CPU-arkitekturer och är tillgänglig på Databricks CLI GitHub-lagringsplatsen. Du kan ladda ned den senaste tillgängliga avbildningen genom att köra följande kommando:

docker pull ghcr.io/databricks/cli:latest

Om du vill ladda ned en bild som är associerad med en viss Databricks CLI-version anger du den version som visas nedan:

docker pull ghcr.io/databricks/cli:v0.218.0

Hantera dina Databricks-tillgångspaket via Docker

När du har laddat ned rätt Docker-container kan du använda Docker CLI för att köra databricks bundle kommandon, antingen direkt eller interaktivt.

Direktutförande

Om du vill köra bundle kommandon direkt använder du docker run. Följande kommando distribuerar till exempel paketet som finns på /my-bundle:

docker run -v /my-bundle:/my-bundle -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... --workdir /my-bundle ghcr.io/databricks/cli:latest bundle deploy

I exemplet ovan monteras -v /my-bundle:/my-bundle i Docker-containerns filsystem med samma paketnamn, my-bundle autentiserar Databricks CLI genom att skicka värd- och autentiseringsuppgifter som miljövariabler och -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... anger den aktuella arbetskatalogen till --workdir /my-bundle ghcr.io/databricks/cli:latest. /my-bundle Ytterligare docker run kommandoalternativ finns i Docker-dokumentationen.

Interaktiv exekvering

Om du vill köra bundle kommandon interaktivt börjar du med att använda docker run med alternativen -it och --entrypoint för att starta en integrerad sh terminalsession som är kopplad till containern enligt nedan:

docker run -v /my-bundle:/my-bundle -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... -it --entrypoint /bin/sh --workdir /my-bundle ghcr.io/databricks/cli:latest

När Docker-terminalsessionen startar kan du köra bundle kommandon direkt i terminalen. I följande exempel distribueras paketet med namnet my-bundle:

/my-bundle # databricks bundle deploy

Volymerna monteras och synkroniseras dubbelriktat så att du kan göra ändringar i din bunt lokalt och sedan använda den här Docker-terminalsessionen för att utföra bundle-kommandon. I det här fallet behöver du inte köra docker run igen.