Chargement et téléchargement des fichiers de bac à sable

Transférez les fichiers d'entrée dans un espace de travail de bac à sable et téléchargez les résultats produits par les commandes.

Utilisez des opérations de fichier avec un bac à sable en cours d'exécution. Les chemins locaux identifient les fichiers sur l'ordinateur exécutant l'interface de ligne de commande ou la trousse SDK. Les chemins du bac à sable identifient les fichiers dans l'exécution, par exemple /workspace/script.py.

Pour des exemples d'interface de ligne de commande, définissez vos valeurs de connexion :

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

Chargement d'un fichier

Créez un fichier local nommé script.py :

print('Hello from the sandbox')

Chargez-le dans le bac à sable :

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

Exécutez le script chargé :

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

Téléchargement d'un fichier

Lisez un fichier de bac à sable dans un fichier local. Sélectionnez une destination locale à utiliser pour le contenu téléchargé :

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

Téléchargez les résultats dont vous avez besoin avant l'arrêt ou l'expiration du bac à sable. Utilisez des instantanés pour conserver un espace de travail pour créer un autre bac à sable.

Utilisation de la trousse SDK Python

Réutilisez la configuration du client à partir de la utilisation de la trousse SDK Python pour initialiser un client authentifié. Définissez l'ID d'un bac à sable en cours d'exécution, puis chargez un fichier local et lisez-le de nouveau. L'exemple de démarrage rapide complet arrête son bac à sable. Utilisez donc ce code avant de l'arrêter ou utilisez un autre bac à sable en cours d'exécution :

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)