Snapshot sandbox di Gemini Enterprise Agent Platform memungkinkan Anda menyimpan status sandbox saat ini dan memulihkannya nanti. Hal ini berguna untuk tugas pengelolaan siklus proses seperti memulihkan status baik yang diketahui atau menjelajahi cabang variasi.
Snapshot memberikan beberapa manfaat untuk mengelola alur kerja agen Anda:
- Persistensi status: Menyimpan status sandbox yang tepat, termasuk library yang diinstal, perubahan sistem file, dan status memori.
- Efisiensi: Daripada membuat ulang lingkungan yang kompleks dari awal, Anda dapat memulihkannya dari snapshot dalam hitungan detik.
- Checkpointing: Membuat checkpoint selama tugas agen yang berjalan lama untuk memungkinkan pemulihan jika terjadi masalah.
- Percabangan: Membuat beberapa sandbox dari snapshot yang sama untuk menjelajahi jalur yang berbeda atau menguji variasi.
Batasan
Anda tidak dapat memulihkan snapshot sandbox ke lingkungan sandbox baru jika salah satu kondisi berikut terpenuhi:
- Sandbox baru menggunakan arsitektur server yang berbeda (misalnya,
amd64versusarm64). - Sandbox baru menggunakan versi runtime sandbox yang berbeda (misalnya, setelah upgrade cluster GKE).
- Sandbox baru menggunakan URI image container yang berbeda.
Retensi
Saat Anda membuat snapshot, snapshot tersebut akan dipertahankan selama durasi yang ditentukan dalam properti ttl. Untuk menghapus snapshot sebelum TTL berakhir, lihat
Menghapus snapshot.
Membuat snapshot
Untuk membuat snapshot sandbox, gunakan Python SDK:
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
snapshot_operation = client.sandboxes.snapshots.create(
source_sandbox_environment_name=sandbox_name,
config={
"display_name": "DISPLAY_NAME",
"ttl": "3600s",
}
)
print(f"Snapshot creation initiated: {snapshot_operation.name}")
Ganti kode berikut:
PROJECT_ID: Project ID Anda Cloud de Confiance .LOCATION: Cloud de Confiance Wilayah resource Anda. Lihat Wilayah yang didukung.INSTANCE_ID: ID instance Agent Platform.SANDBOX_ID: ID sandbox yang ada untuk membuat snapshot.DISPLAY_NAME: Nama tampilan deskriptif untuk snapshot Anda.
Memulihkan dari snapshot
Anda dapat memulihkan status sandbox dengan mereferensikan snapshot yang disimpan saat membuat lingkungan sandbox baru:
agent_instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID
snapshot_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
# Restore from a snapshot
new_sandbox_operation = client.sandboxes.create(
name=agent_instance_name,
config={
"display_name": "restored-sandbox",
"sandbox_environment_snapshot": snapshot_name,
}
)
Membuat daftar snapshot
Untuk mencantumkan semua snapshot sandbox yang terkait dengan instance Agent Platform:
snapshots_response = client.sandboxes.snapshots.list(name=agent_instance_name)
for snapshot in snapshots_response.sandbox_environment_snapshots:
print(snapshot.name)
Melihat detail snapshot
Untuk melihat konfigurasi snapshot sandbox tertentu:
snapshot = client.sandboxes.snapshots.get(name=snapshot_name)
print(snapshot)
Menghapus snapshot
Untuk menghapus snapshot sandbox secara eksplisit jika tidak lagi diperlukan:
client.sandboxes.snapshots.delete(name=snapshot_name)
print("Snapshot deleted.")