スナップショットを使用したサンドボックス・ファイルの保存およびリストア

ワークスペース・ファイルを保存するスナップショットを作成し、それを使用して新しいサンドボックスを作成します。

スナップショットはファイルシステムの内容を保持します。実行中のプロセス、コマンド実行またはメモリーは保持されません。スナップショットをリストアすると、新しいサンドボックスIDで新しいサンドボックスが作成されます。

ソース・サンドボックスを停止するか、期限切れにする前にスナップショットを保存します。スナップショットの有効期限を、そのファイルが必要な期間に設定します。

profile_name="DEFAULT"
region="us-chicago-1"
sandbox_id="SANDBOX_ID"
project_id="PROJECT_OCID"

スナップショットの作成

この例では、7日間の保存期間を持つスナップショットをリクエストします。

snapshot_id=$(oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-snapshot create \
  --sandbox-id "$sandbox_id" \
  --expiration-duration P7D \
  --query 'data.id' --raw-output)

スナップショットIDを保存します。ライフサイクル状態をソースとして使用する前に調べます。

oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-snapshot get \
  --snapshot-id "$snapshot_id"

スナップショットからのサンドボックスの作成

スナップショットの作成が完了したら、そのIDを使用して新しいサンドボックスを作成します。

sandbox_id=$(oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox create-from-snapshot \
  --project-id "$project_id" \
  --source-snapshot-id "$snapshot_id" \
  --display-name restored-sandbox \
  --expiration-duration PT30M \
  --query 'data.id' --raw-output)

新しいサンドボックスがRUNNINGに達するまで待ちます。必要なプロセスを再度開始し、コマンドおよびファイル操作に新しいIDを使用します。

スナップショットのリストおよび検査

プロジェクトのスナップショットをリストします。ソース・サンドボックスでフィルタするには、--sandbox-idを追加します。

oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-snapshot list \
  --project-id "$project_id" \
  --sandbox-id "SOURCE_SANDBOX_ID" \
  --limit 25

ソース・サンドボックスIDは、スナップショットの作成時に使用されるIDで、リストアされたサンドボックスのIDとは異なる場合があります。上記のgetコマンドを使用して、1つのスナップショットを検査します。

スナップショットを削除する

保存されたファイルがサンドボックスの作成に必要なくなった場合は、スナップショットを削除します。

oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-snapshot delete \
  --snapshot-id "$snapshot_id"

CLIの削除プロンプトを確認して確認します。