Aller au contenu principal

Démarrage rapide de Databricks Sandbox

info

Bêta

Cette fonctionnalité est en version Bêta. Pour activer cet aperçu de fonctionnalité dans le workspace, optez pour le paramètre Databricks Sandbox sur la page des aperçus du workspace. Consultez Gérer les aperçus Databricks.

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

Pour obtenir un aperçu de Databricks Sandbox, y compris la taille du compute, le stockage et les limitations, consultez Databricks Sandbox.

Prérequis​

Utiliser un outil de sandbox pour exécuter du code en toute sécurité dans un agent existant​

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

Vous ne créez pas de sandbox en premier. L'outil sandbox connecte votre agent au service system.ai.sandbox géré par Databricks, qui exécute le code de l'agent dans un sandbox pour vous. Vous ne configurez que les données auxquelles le sandbox peut accéder et s'il peut y écrire.

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

Bash
# 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 agent.toml du projet, et l'agent appelle le sandbox au moment de l'exécution via le service MCP system.ai.sandbox. Par default, le sandbox s'exécute avec les autorisations de l'utilisateur qui a envoyé la requête. Pour utiliser le service principal de l'application à la place, ajoutez --auth app. Lorsque vous déployez avec agentbricks deploy, Agent Bricks accorde au service principal de l'application l'accès aux ressources couvertes par les outils qui utilisent --auth app.

Utilisez le Python SDK pour créer un sandbox​

Utilisez ce chemin lorsque vous souhaitez créer des sandbox et exécuter des commandes dans ceux-ci à partir de votre propre code Python, tel qu’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 bacs à sable depuis du code.

  1. Installez ou mettez à niveau le SDK :

    Bash
    pip install --upgrade databricks-sdk
  2. Créer un sandbox :

    Python
    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. Exécutez une commande dans le sandbox. La commande s'exécute directement, sans shell ; pour exécuter une commande shell, appelez /bin/bash -c:

    Python
    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é. La suppression d'un sandbox supprime son répertoire personnel et arrête la facturation associée :

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

Pour obtenir, répertorier, mettre à jour, arrêter et redémarrer des sandbox, consultez Créer et gérer des sandbox avec le SDK.

Utiliser la CLI Databricks pour créer un sandbox​

Utilisez ce chemin lorsque vous souhaitez travailler dans un sandbox de manière interactive à partir d'un terminal. Connectez-vous à un sandbox via SSH pour exécuter des tâches d'agent plus longues sans garder votre machine locale active. Par exemple, vous pouvez utiliser un agent de codage depuis la CLI de Databricks, ou connecter un IDE de bureau ou un harness d'agent tel que Cursor, Claude ou Codex.

Pour créer un sandbox et vous y connecter, exécutez :

Bash
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, le Databricks CLI dans le sandbox est installé et authentifié sur le workspace où le sandbox s'exécute. Si votre workspace est configuré avec Unity Gateway, Databricks configure également des harnais de codage courants, comme Claude et Codex, pour l'utiliser lors de votre première connexion. Consultez créer un service de modèle personnalisé. Pour utiliser Git depuis le sandbox, configurez les identifiants Git. Voir connecter votre fournisseur Git à Databricks.

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

Exécuter Omnigent sur un sandbox​

Utilisez ce chemin lorsque vous travaillez dans Omnigent et souhaitez que vos sessions d'agent s'exécutent sur un hôte cloud géré plutôt que sur votre ordinateur portable. Omnigent géré peut utiliser un sandbox comme hôte pour l'exécution de vos sessions d'agent. La sandbox reste en cours d’exécution lorsque votre ordinateur portable est éteint et les modèles transitent par Unity Gateway sans clés API.

  1. Dans votre navigateur web, accédez à <workspace-url>/omnigent.
  2. Sélectionnez Nouvelle session .
  3. Ouvrez le sélecteur d'hôte et sélectionnez Sandbox .
  4. Décrivez une tâche dans le compositeur et envoyez-la pour start la session.

Pour en savoir plus sur les hôtes et les exécuteurs, voir Démarrage rapide d'Omnigent.

Ressources supplémentaires​