Auf dieser Seite wird gezeigt, wie Sie den Lebenszyklus Ihrer Sandbox-Umgebungen mit dem Python SDK verwalten. Sie können vorhandene Sandboxes auflisten, ihre Details ansehen, sie pausieren und fortsetzen oder sie löschen, wenn sie nicht mehr benötigt werden.
Hinweis
Zum Verwalten von Sandboxes benötigen Sie die folgenden Rollen für Ihr Projekt:
- Agent Platform User (
roles/aiplatform.user)
Sandboxes verwalten
Sie können Sandbox-Umgebungen, die mit einer Agent Platform-Instanz verknüpft sind, auflisten, Details dazu ansehen, sie pausieren, fortsetzen und löschen. Mit den Optionen zum Pausieren und Fortsetzen können Sie die Zuordnung von Compute-Ressourcen für inaktive Sandboxes aufheben und sie später wieder online stellen, ohne den Dateisystemstatus oder die Verbindungsidentität zu verlieren. Wenn Sie die Konfiguration einer vorhandenen Sandbox ändern möchten, müssen Sie sie löschen und eine neue erstellen.
Sandboxes auflisten
So listen Sie alle Sandboxes 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'
sandboxes = client.sandboxes.list(name=instance_name)
for sandbox in sandboxes:
print(sandbox.name)
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Die Google Cloud Region Ihrer Agent Platform-Instanz Siehe Unterstützte Regionen.INSTANCE_ID: Die ID der Agent Platform-Instanz
Sandbox-Details ansehen
So sehen Sie die Konfiguration und den Status einer bestimmten Sandbox:
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
sandbox = client.sandboxes.get(name=sandbox_name)
print(sandbox)
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Die Google Cloud Region Ihrer Agent Platform-Instanz Siehe Unterstützte Regionen.INSTANCE_ID: Die ID der Agent Platform-Instanz, die Ihre Sandbox enthältSANDBOX_ID: Die ID der vorhandenen Sandbox
Die Ausgabe enthält Details wie den Erstellungszeitpunkt, den Status (z.B. STATE_RUNNING) und die Sandbox-Spezifikation.
Sandbox pausieren
Wenn Sie eine Sandbox pausieren, werden die zugehörigen Compute-Ressourcen freigegeben, während der Laufwerkstatus und die Verbindungsmetadaten beibehalten werden. Pausierte Sandboxes kosten deutlich weniger als ausgeführte Sandboxes und können in Sekundenschnelle fortgesetzt werden. Verwenden Sie die Option zum Pausieren, wenn eine Sandbox längere Zeit inaktiv ist, Sie aber den Sitzungsstatus und die Verbindungsidentität für die spätere Verwendung beibehalten möchten.
Pausierte Sandboxes:
- Behalten ihre Sandbox-ID, Verbindungsmetadaten und alle Private Service Connect-Endpunkte bei.
- Behalten den gesamten Dateisystemstatus im Container zum Zeitpunkt des Pausierens bei.
- Wechseln zu
STATE_PAUSED. Anfragen an den Endpunkt der Datenebene geben Fehler zurück, bis Sie die Sandbox fortsetzen.
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
pause_operation = client.sandboxes.pause(
name=sandbox_name,
config={
"wait_for_completion": True, # Optional. Blocks until the sandbox reaches STATE_PAUSED.
},
)
paused_sandbox = pause_operation.response
print(f"Sandbox {paused_sandbox.name} state: {paused_sandbox.state}") # STATE_PAUSED
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Die Google Cloud Region Ihrer Agent Platform-Instanz Siehe Unterstützte Regionen.INSTANCE_ID: Die ID der Agent Platform-Instanz, die Ihre Sandbox enthältSANDBOX_ID: Die ID der vorhandenen Sandbox
Sandbox fortsetzen
Wenn Sie eine pausierte Sandbox fortsetzen, werden die zugehörigen Compute-Ressourcen wieder online gestellt. Die Sandbox behält dieselbe ID, denselben Verbindungsendpunkt (einschließlich aller Private Service Connect-Dienstanhänge) und denselben Dateisystemstatus bei, die sie zum Zeitpunkt des Pausierens hatte. Sobald der Vorgang zum Fortsetzen abgeschlossen ist, können wieder Anfragen an die Datenebene der Sandbox gesendet werden.
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
resume_operation = client.sandboxes.resume(
name=sandbox_name,
config={
"wait_for_completion": True, # Optional. Blocks until the sandbox reaches STATE_RUNNING.
},
)
resumed_sandbox = resume_operation.response
print(f"Sandbox {resumed_sandbox.name} state: {resumed_sandbox.state}") # STATE_RUNNING
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Die Google Cloud Region Ihrer Agent Platform-Instanz Siehe Unterstützte Regionen.INSTANCE_ID: Die ID der Agent Platform-Instanz, die Ihre Sandbox enthältSANDBOX_ID: Die ID der pausierten Sandbox
Sandbox löschen
So löschen Sie eine Sandbox-Umgebung explizit und geben Ressourcen kostenlos:
client.sandboxes.delete(name=sandbox_name)
print("Sandbox deleted.")