Mengelola snapshot

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, amd64 versus arm64).
  • 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.")