Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze functie bevindt zich in de bètaversie. Om de preview van deze functie in de werkruimte in te schakelen, meld je je aan voor de Databricks Sandbox-instelling op de pagina Previews van de werkruimte. Zie Azure Databricks previews beheren.
Databricks Sandbox draait code in een geïsoleerde, serverloze omgeving, zodat agenten veilig de code die ze schrijven kunnen uitvoeren. Je kunt een sandbox gebruiken vanuit een agent, uit Python-code, of vanuit een terminal. Elk van de volgende paden werkt op zichzelf, dus kies degene die past bij jouw werkwijze:
- Geef een bestaande agent een sandbox-tool zodat de agent de code die hij schrijft in een sandbox uitvoert.
- Gebruik de Python SDK om sandboxes te maken en commando's uit te voeren vanuit Python-code.
- Gebruik de Databricks CLI om een sandbox te maken en verbind ermee via SSH.
Voor een overzicht van Databricks Sandbox, inclusief rekengrootte, opslag en beperkingen, zie Databricks Sandbox.
Requirements
- Uw werkruimte moet zich in een ondersteunde regio bevinden. Zie Functies met beperkte regionale beschikbaarheid.
- Om de SDK te gebruiken, is Python 3.10 of hoger vereist.
- Om de Databricks CLI te gebruiken, installeer je de Databricks CLI en authenticeer je deze met
databricks auth login.
Geef een bestaande agent een sandbox-tool om code veilig uit te voeren
Gebruik dit pad wanneer je je agent bouwt met de Agent Bricks CLI en wilt dat de agent de code uitvoert die hij schrijft, zoals data-analyse in Python, zonder dat die code in de omgeving van de agent zelf draait.
Je maakt niet eerst een sandbox. De sandbox-tool verbindt je agent met de door Azure Databricks beheerde system.ai.sandbox dienst, die de code van de agent in een sandbox voor je draait. Je stelt alleen in welke data de sandbox kan benaderen en of hij kan schrijven.
Om de tool toe te voegen, voer je agentbricks tools add sandbox uit met een of meer scopes die beperken welke data de sandbox kan benaderen:
# Read one table.
agentbricks tools add sandbox --scope table:samples.nyctaxi.trips
# Read a volume and a workspace folder.
agentbricks tools add sandbox --scope volume:main.default.reports --scope workspace:/Workspace/Shared/data
# Allow writes to a volume.
agentbricks tools add sandbox --scope volume:main.default.output --permission read_write
Het commando registreert het gereedschap in de agent.toml van het project en de agent roept de sandbox tijdens runtime aan via de system.ai.sandbox MCP-service. Standaard draait de sandbox met de rechten van de gebruiker die het verzoek heeft gestuurd. Voeg --auth app toe om in plaats daarvan de service-principal van de app te gebruiken. Wanneer je deployt met agentbricks deploy, geeft Agent Bricks de service-principal van de app toegang tot de scoped resources voor tools die gebruikmaken van --auth app.
Gebruik de Python SDK om een sandbox te maken
Gebruik dit pad wanneer je sandboxes wilt maken en er commando's in wilt uitvoeren vanuit je eigen Python-code, zoals een applicatie of een custom agent die zijn eigen sandboxes beheert. De Databricks SDK voor Python is de aanbevolen manier om met sandboxes uit code te werken.
Installeer of upgrade de SDK:
pip install --upgrade databricks-sdkMaak een sandbox:
from databricks.sdk import WorkspaceClient from databricks.sdk.service.sandbox import Sandbox w = WorkspaceClient() created = w.sandbox.create_sandbox( sandbox=Sandbox(), sandbox_id="my-sandbox", ) print(created.name) # "sandboxes/my-sandbox"Voer een commando uit in de sandbox. Het commando draait direct, zonder shell, dus om een shell-commando uit te voeren, roep je
/bin/bash -caan:from google.protobuf.duration_pb2 import Duration resp = w.sandbox.execute_command_sync( "sandboxes/my-sandbox", "/bin/bash", args=["-c", "echo hello world && whoami"], execution_timeout=Duration(seconds=30), ) print(resp.exit_code) # 0 print(resp.stdout) # "hello world\nsandbox-agent\n"Verwijder de sandbox als je klaar bent. Het verwijderen van een sandbox verwijdert de thuismap en stopt de facturering ervoor:
w.sandbox.delete_sandbox("sandboxes/my-sandbox")
Om sandboxes te halen, weer te geven, updaten, stoppen en opnieuw op te starten, zie Sandboxes maken en beheren met de SDK.
Gebruik de Databricks CLI om een sandbox te maken
Gebruik dit pad wanneer je interactief vanuit een terminal in een sandbox wilt werken. Maak verbinding met een sandbox via SSH om langere agenttaken uit te voeren zonder je lokale machine actief te houden. Je kunt bijvoorbeeld een codeeragent aansturen vanuit de Databricks CLI, of een desktop-IDE of een agentframework zoals Cursor, Claude of Codex verbinden.
Om een sandbox te maken en ermee te verbinden, voer je uit:
databricks sandbox create # create your sandbox
databricks sandbox register # optional: register SSH keys
databricks sandbox ssh # SSH to your default sandbox
Wanneer je verbinding maakt, wordt de Databricks CLI in de sandbox geïnstalleerd en bij de werkruimte waar de sandbox draait geauthenticeerd. Als Unity Gateway is geconfigureerd voor je werkruimte, stelt Azure Databricks ook veelgebruikte codeerhulpmiddelen in, zoals Claude en Codex, om dit bij de eerste verbinding te gebruiken. Zie Een aangepaste modelservice maken . Om Git vanuit de sandbox te gebruiken, configureer je Git-inloggegevens. Zie Uw Git-provider verbinden met Databricks.
Voor alle commando's, voer databricks sandbox -h uit, of zie sandbox commandogroep.