Databricks Sandbox : démarrage rapide

Important

Cette fonctionnalité est en version bêta. Pour activer cette aperçu de fonctionnalité dans l’espace de travail, optez pour le paramètre Sandbox Databricks dans la page Aperçu de l’espace de travail. Consultez Gérer les préversions d’Azure Databricks.

Databricks Sandbox exécute du code dans un environnement isolé et sans serveur, afin que les agents puissent exécuter en toute sécurité le code qu’ils écrivent. Vous pouvez utiliser un sandbox depuis un agent, du code Python ou un terminal. Chacun des chemins suivants fonctionne de manière autonome, alors choisissez celui qui correspond à votre façon de travailler :

Pour un aperçu de Databricks Sandbox, incluant la taille de compute, le stockage et les limites, voir Databricks Sandbox.

Requirements

Offrez à un agent existant un outil bac à sable pour exécuter du code en toute sécurité

Utilisez ce chemin lorsque vous construisez votre agent avec la CLI Agent Bricks et souhaitez que l'agent exécute le code qu'il écrit, comme l'analyse de données en Python, sans que ce code s'exécute dans l'environnement propre de l'agent.

On ne crée pas d’abord un sandbox. L'outil de bac à sable connecte votre agent au service géré system.ai.sandbox par Azure Databricks, qui exécute le code de l'agent dans un bac à sable pour vous. Vous configurez uniquement les données auxquelles le bac à sable peut accéder et s’il peut écrire.

Pour ajouter l’outil, exécutez agentbricks tools add sandbox avec une ou plusieurs portées qui limitent les données auxquelles le bac à sable peut accéder :

# 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

La commande enregistre l’outil dans le fichier agent.toml du projet, et l’agent appelle le sandbox à l’exécution via le service MCP system.ai.sandbox. Par défaut, le bac à sable fonctionne avec les permissions de l’utilisateur qui a envoyé la requête. Pour utiliser le principal de service de l’application à la place, ajoutez --auth app. Lorsque vous déployez avec agentbricks deploy, Agent Bricks accorde au principal de service de l’application l’accès aux ressources du périmètre pour les outils utilisant --auth app.

Utilisez le SDK Python pour créer un bac à sable

Utilisez cette méthode lorsque vous souhaitez créer des sandbox et exécuter des commandes dedans, depuis votre propre code Python, comme une application ou un agent personnalisé qui gère ses propres sandbox. Le SDK Databricks pour Python est la méthode recommandée pour travailler avec des environnements sandbox à partir du code.

  1. Installez ou mettez à jour le SDK :

    pip install --upgrade databricks-sdk
    
  2. Créez un bac à sable :

    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. Lance une commande dans le sandbox. La commande s’exécute directement, sans shell, donc pour exécuter une commande shell, appelez /bin/bash -c:

    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. Supprimez le sandbox lorsque vous avez terminé. Supprimer un sandbox supprime son répertoire personnel et cesse de le facturer :

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

Pour obtenir, lister, mettre à jour, arrêter et redémarrer les bacs à sable, consultez Créer et gérer des bacs à sable avec le SDK.

Utilisez la CLI Databricks pour créer un bac à sable

Utilisez cette méthode lorsque vous souhaitez travailler dans un sandbox de manière interactive depuis un terminal. Connectez-vous à un environnement sandbox via SSH pour exécuter des tâches d’agent plus longues sans garder votre machine locale active. Par exemple, vous pouvez piloter un agent de code depuis Databricks CLI, ou connecter un IDE de bureau ou un framework d’agent tel que Cursor, Claude ou Codex.

Pour créer un bac à sable et y se connecter, exécutez :

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

Lorsque vous vous connectez, l’interface de ligne de commande Databricks dans le sandbox est installée et authentifiée auprès de l’espace de travail où le sandbox s’exécute. Si votre espace de travail dispose d’Unity Gateway configuré, Azure Databricks configure également des outils de codage courants, tels que Claude et Codex, pour l’utiliser lors de la première connexion. Voir Créer un service de modèle personnalisé . Pour utiliser Git depuis le sandbox, configurez les informations d’identification Git. Consultez Connecter votre fournisseur Git à Databricks.

Pour toutes les commandes, exécutez databricks sandbox -h, ou consultez le groupe de commandes sandbox.

Ressources additionnelles