Carga y descarga de archivos de sandbox

Transfiera los archivos de entrada a un espacio de trabajo de sandbox y descargue los resultados producidos por los comandos.

Utilice operaciones de archivo con un sandbox en ejecución. Las rutas locales identifican los archivos de la computadora que ejecuta la CLI o el SDK. Las rutas de sandbox identifican los archivos dentro del tiempo de ejecución, como /workspace/script.py.

Para ver ejemplos de la CLI, configure los valores de conexión:

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

Carga de un archivo

Cree un archivo local denominado script.py:

print('Hello from the sandbox')

Cargue en el sandbox:

oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-file write \
  --sandbox-id "$sandbox_id" \
  --sandbox-file-path /workspace/script.py \
  --file ./script.py

Ejecute el script cargado:

oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-command run-and-wait \
  --sandbox-id "$sandbox_id" \
  --command "python3 /workspace/script.py" \
  --timeout PT1M

Descarga de un archivo

Leer un archivo de sandbox en un archivo local. Seleccione un destino local que desee utilizar para el contenido descargado:

oci --profile "$profile_name" --auth security_token --region "$region" \
  generative-ai-sandbox sandbox-file read \
  --sandbox-id "$sandbox_id" \
  --sandbox-file-path /workspace/script.py \
  --local-file ./downloaded-script.py

Descargue los resultados que necesite antes de que el sandbox se detenga o caduque. Utilice instantáneas para conservar un espacio de trabajo para crear otro sandbox.

Uso del SDK de Python

Vuelva a utilizar la configuración del cliente desde Uso del SDK de Python para inicializar un client autenticado. Defina el ID de un sandbox en ejecución y, a continuación, cargue un archivo local y vuelva a leerlo. El ejemplo de inicio rápido completo detiene su sandbox, por lo que debe utilizar este código antes de pararlo o utilizar otro sandbox en ejecución:

sandbox_id = "SANDBOX_ID"

with open("script.py", "rb") as input_file:
    client.write_sandbox_file(sandbox_id, "/workspace/script.py", input_file)

response = client.read_sandbox_file(sandbox_id, "/workspace/script.py")
with open("downloaded-script.py", "wb") as output_file:
    output_file.write(response.data.content)