Fazendo upload e download de arquivos de sandbox

Transfira arquivos de entrada para um espaço de trabalho de sandbox e faça download dos resultados produzidos por comandos.

Use operações de arquivo com um sandbox em execução. Os caminhos locais identificam arquivos no computador que executa a CLI ou o SDK. Os caminhos de sandbox identificam arquivos dentro do runtime, como /workspace/script.py.

Para exemplos da CLI, defina seus valores de conexão:

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

Fazendo Upload de um Arquivo

Crie um arquivo local chamado script.py:

print('Hello from the sandbox')

Faça upload dele no 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

Execute o script submetido a upload:

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

Fazendo Download de um Arquivo

Ler um arquivo de sandbox em um arquivo local. Selecione um destino local que você deseja usar para o conteúdo baixado:

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

Faça download de quaisquer resultados necessários antes que o sandbox pare ou expire. Use snapshots para preservar um espaço de trabalho para criar outro sandbox.

Usando o Python SDK

Reuse a configuração do cliente em Usando o Python SDK para inicializar um client autenticado. Defina o ID de um sandbox em execução, depois carregue um arquivo local e leia-o novamente. O exemplo completo de início rápido interrompe seu sandbox, portanto, use este código antes de interrompê-lo ou use outro sandbox em execução:

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)