Databricks Sandbox-Quickstart

Wichtig

Dieses Feature befindet sich in der Betaversion. Um diese Funktionsvorschau im Arbeitsbereich zu aktivieren, wähle die Databricks-Sandbox-Einstellung auf der Seite Vorschauen des Arbeitsbereichs an. Siehe Manage Azure Databricks Previews.

Databricks Sandbox führt Code in einer isolierten, serverlosen Umgebung aus, sodass Agenten den Code, den sie schreiben, sicher ausführen können. Du kannst eine Sandbox von einem Agenten, aus Python-Code oder aus einem Terminal verwenden. Jeder der folgenden Pfade funktioniert eigenständig, also wähle den, der zu deiner Arbeitsweise passt:

Für einen Überblick über Databricks Sandbox, einschließlich Rechengröße, Speicher und Einschränkungen, siehe Databricks Sandbox.

Requirements

Gib einem bestehenden Agenten ein Sandbox-Tool, um Code sicher auszuführen

Nutze diesen Pfad, wenn du deinen Agenten mit der Agent Bricks CLI baust und möchtest, dass der Agent den von ihm geschriebenen Code ausführt, zum Beispiel Datenanalyse in Python, ohne dass dieser Code in der eigenen Umgebung des Agenten läuft.

Du erstellst nicht zuerst eine Sandbox. Das Sandbox-Tool verbindet Ihren Agenten mit dem von Azure Databricks verwalteten system.ai.sandbox Service, der den Code des Agenten in einer Sandbox für Sie ausführt. Sie konfigurieren nur, auf welche Daten die Sandbox zugreifen kann und ob sie schreiben kann.

Um das Tool hinzuzufügen, führe agentbricks tools add sandbox mit einem oder mehreren Scopes aus, die begrenzen, auf welche Daten die Sandbox zugreifen kann:

# 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

Der Befehl zeichnet das Tool im Projekt agent.tomlauf, und der Agent ruft die Sandbox zur Laufzeit über den system.ai.sandbox MCP-Service auf. Standardmäßig läuft die Sandbox mit den Berechtigungen des Benutzers, der die Anfrage gesendet hat. Um stattdessen den Service Principal der App zu verwenden, füge --auth app hinzu. Wenn Sie mit agentbricks deploy deployen, gewährt Agent Bricks dem Service-Principal der App Zugriff auf die scoped resources für Tools, die --auth app verwenden.

Verwenden Sie das Python SDK, um eine Sandbox zu erstellen

Verwenden Sie diesen Pfad, wenn Sie Sandboxen erstellen und darin Befehle aus Ihrem eigenen Python-Code ausführen möchten, zum Beispiel aus einer Anwendung oder einem benutzerdefinierten Agenten, der seine eigenen Sandboxes verwaltet. Das Databricks SDK für Python ist die empfohlene Methode, um mit Sandboxes aus Code zu arbeiten.

  1. Installieren oder aktualisieren Sie das SDK:

    pip install --upgrade databricks-sdk
    
  2. Erstelle eine 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"
    
  3. Führe einen Befehl in der Sandbox aus. Der Befehl läuft direkt, ohne Shell, also rufen Sie zum Ausführen eines Shell-Befehls /bin/bash -c auf:

    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"
    
  4. Lösche die Sandbox, wenn du fertig bist. Das Löschen einer Sandbox entfernt ihr Home-Verzeichnis und beendet die Abrechnung dafür:

    w.sandbox.delete_sandbox("sandboxes/my-sandbox")
    

Informationen zum Abrufen, Auflisten, Aktualisieren, Stoppen und Neustarten von Sandboxes finden Sie unter Sandboxes erstellen und verwalten mit dem SDK.

Verwenden Sie die Databricks-CLI, um eine Sandbox zu erstellen

Nutze diesen Pfad, wenn du interaktiv von einem Terminal aus in einer Sandbox arbeiten möchtest. Verbinden Sie sich über SSH mit einer Sandbox, um längere Agentenaufgaben auszuführen, ohne Ihren lokalen Rechner aktiv zu halten. Zum Beispiel kannst du einen Coding-Agenten aus der Databricks-CLI steuern oder eine Desktop-IDE oder einen Agenten-Harness wie Cursor, Claude oder Codex verbinden.

Um eine Sandbox zu erstellen und sich damit zu verbinden, führen Sie aus:

databricks sandbox create      # create your sandbox
databricks sandbox register    # optional: register SSH keys
databricks sandbox ssh         # SSH to your default sandbox

Wenn du dich verbindest, wird die Databricks-CLI in der Sandbox installiert und mit dem Arbeitsbereich authentifiziert, in dem die Sandbox läuft. Wenn dein Arbeitsbereich Unity Gateway konfiguriert hat, konfiguriert Azure Databricks auch gängige Coding-Harnesses wie Claude und Codex, damit sie es beim ersten Verbinden nutzen. Siehe Erstellen eines benutzerdefinierten Modelldienstes. Um Git aus der Sandbox zu verwenden, konfigurieren Sie Git-Zugangsdaten. Siehe Verbinden Ihres Git-Anbieters mit Databricks.

Führen Sie für alle Befehle databricks sandbox -h aus, oder siehe die sandbox Kommandogruppe.

Weitere Ressourcen