Sandbox-Vorlagen verwalten

Jeder Sandbox liegt eine Sandbox-Umgebungsvorlage zugrunde, die das auszuführende Container-Image beschreibt. Sandbox-Vorlagen dienen als Blaupausen für benutzerdefinierte Container-Sandboxes. Auf dieser Seite wird gezeigt, wie Sie den Lebenszyklus von Sandbox-Vorlagen mit dem Agent Platform SDK verwalten. Sie können vorhandene Vorlagen auflisten, ihre Details ansehen oder sie löschen, wenn sie nicht mehr benötigt werden.

Wenn Sie die Konfiguration einer Vorlage ändern möchten (z. B. das Container-Image), löschen Sie die vorhandene Vorlage und erstellen Sie eine neue mit der aktualisierten Konfiguration.

Hinweis

Zum Verwalten von Sandbox-Vorlagen benötigen Sie die folgenden Rollen für Ihr Projekt:

  • Agent Platform User (roles/aiplatform.user)

Vorlagen in mehreren Sandboxes verwenden

Wenn Sie für Computer Use- und Shell-Sandboxes keine Vorlage angeben, wird die Standardvorlage (DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE oder DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX) für die Sandbox erstellt.

Bei jedem create()-Aufruf, bei dem keine Vorlage angegeben wird, wird eine neue Vorlage erstellt. Wenn Sie die Sandbox löschen, wird die Vorlage nicht gelöscht. Sie müssen die Vorlagen daher separat löschen. Wenn Sie viele Sandboxes erstellen, empfehlen wir, Vorlagen wiederzuverwenden, um Ressourcen zu sparen.

So erstellen Sie eine Vorlage:

from agentplatform._genai import types

template_op = client.agent_engines.sandboxes.templates.create(
    name=instance_name,
    display_name="shell-sandbox-template",
    config=types.CreateSandboxEnvironmentTemplateConfig(
        default_container_environment=types.SandboxEnvironmentTemplateDefaultContainerEnvironment(
            default_container_category=types.DefaultContainerCategory.DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX,
        ),
    ),
)
template = template_op.response.name

Verknüpfen Sie jede Sandbox mit der Vorlage, indem Sie sandbox_environment_template festlegen:

operation = client.sandboxes.create(
    name=instance_name,
    spec={"shell_environment": {}},
    config={
        "sandbox_environment_template": template,
        "wait_for_completion": True,
    },
)

Vorlagen auflisten

So listen Sie alle Sandbox-Vorlagen auf, die mit einer Agent Platform-Instanz verknüpft sind:

import agentplatform

client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID'

templates_response = client.sandboxes.templates.list(name=instance_name)

for template in templates_response.sandbox_environment_templates:
    print(template.name)

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Cloud de Confiance Projekt-ID
  • LOCATION: Die Cloud de Confiance Region Ihrer Agent Platform-Instanz Siehe Unterstützte Regionen.
  • INSTANCE_ID: Die ID der Agent Platform-Instanz

Vorlagendetails ansehen

So sehen Sie die Konfiguration einer bestimmten Sandbox-Vorlage:

template_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/SandboxEnvironmentTemplate/TEMPLATE_ID'

template = client.sandboxes.templates.get(name=template_name)
print(template)

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Cloud de Confiance Projekt-ID
  • LOCATION: Die Cloud de Confiance Region Ihrer Agent Platform-Instanz Siehe Unterstützte Regionen.
  • INSTANCE_ID: Die ID der Agent Platform-Instanz, die Ihre Sandbox-Vorlage enthält
  • TEMPLATE_ID: Die ID der Sandbox-Vorlage

Vorlage einer Sandbox ansehen

Führen Sie Folgendes aus, um die Sandbox-Vorlage anzusehen, die mit einer Sandbox verknüpft ist:

print(sandbox.sandbox_environment_template)

Vorlage löschen

So löschen Sie eine Sandbox-Vorlage:

client.sandboxes.templates.delete(name=template_name)
print("Template deleted.")