Mengelola sandbox

Halaman ini menunjukkan cara mengelola siklus proses lingkungan sandbox Anda menggunakan Python SDK. Anda dapat mencantumkan sandbox yang ada, melihat detailnya, menjeda dan melanjutkannya, atau menghapusnya jika tidak lagi diperlukan.

Sebelum memulai

Untuk mengelola sandbox, Anda memerlukan peran berikut di project Anda:

  • Pengguna Platform Agen (roles/aiplatform.user)

Mengelola sandbox

Anda dapat mencantumkan, melihat detail, menjeda, melanjutkan, dan menghapus lingkungan sandbox yang terkait dengan instance Platform Agen. Fitur jeda dan lanjutkan memungkinkan Anda membatalkan penjadwalan resource komputasi untuk sandbox yang tidak aktif dan mengaktifkannya kembali nanti tanpa kehilangan status sistem file atau identitas koneksi. Untuk mengubah konfigurasi sandbox yang ada, Anda harus menghapusnya dan membuat yang baru.

Mencantumkan sandbox

Untuk mencantumkan semua sandbox yang terkait dengan instance Platform Agen:

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)

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda Google Cloud .
  • LOCATION: Google Cloud Region instance Platform Agen Anda. Lihat Region yang didukung.
  • INSTANCE_ID: ID instance Platform Agen.

Melihat detail sandbox

Untuk melihat konfigurasi dan status sandbox tertentu:

sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'

sandbox = client.sandboxes.get(name=sandbox_name)
print(sandbox)

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda Google Cloud .
  • LOCATION: Google Cloud Region instance Platform Agen Anda. Lihat Region yang didukung.
  • INSTANCE_ID: ID instance Platform Agen yang berisi sandbox Anda.
  • SANDBOX_ID: ID sandbox yang ada.

Output mencakup detail seperti waktu pembuatan, status (misalnya, STATE_RUNNING), dan spesifikasi sandbox.

Menjeda sandbox

Menjeda sandbox akan melepaskan resource komputasinya sambil mempertahankan status disk dan metadata koneksi. Sandbox yang dijeda dikenai biaya yang jauh lebih rendah daripada sandbox yang berjalan dan dapat dilanjutkan dalam hitungan detik. Gunakan jeda saat sandbox tidak aktif dalam jangka waktu yang lama, tetapi Anda ingin mempertahankan status sesi dan identitas koneksi untuk digunakan nanti.

Sandbox yang dijeda:

  • Mempertahankan ID sandbox, metadata koneksi, dan endpoint Private Service Connect.
  • Mempertahankan semua status sistem file dalam container pada saat jeda.
  • Beralih ke STATE_PAUSED. Permintaan ke endpoint data-plane-nya akan menampilkan error hingga Anda melanjutkannya.
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

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda Google Cloud .
  • LOCATION: Google Cloud Region instance Platform Agen Anda. Lihat Region yang didukung.
  • INSTANCE_ID: ID instance Platform Agen yang berisi sandbox Anda.
  • SANDBOX_ID: ID sandbox yang ada.

Melanjutkan sandbox

Melanjutkan sandbox yang dijeda akan mengaktifkan kembali komputasinya. Sandbox mempertahankan ID, endpoint koneksi (termasuk lampiran layanan Private Service Connect), dan status sistem file yang sama seperti saat dijeda. Permintaan data-plane dapat dibuat ke sandbox lagi segera setelah operasi resume selesai.

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

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda Google Cloud .
  • LOCATION: Google Cloud Region instance Platform Agen Anda. Lihat Region yang didukung.
  • INSTANCE_ID: ID instance Platform Agen yang berisi sandbox Anda.
  • SANDBOX_ID: ID sandbox yang dijeda.

Menghapus sandbox

Untuk menghapus lingkungan sandbox secara eksplisit dan mengosongkan resource:

client.sandboxes.delete(name=sandbox_name)
print("Sandbox deleted.")