サンドボックス・ファイルのアップロードとダウンロード

入力ファイルをサンドボックス・ワークスペースに転送し、コマンドによって生成された結果をダウンロードします。

実行中のサンドボックスでファイル操作を使用します。ローカルパスは、CLIまたは SDKを実行しているコンピュータ上のファイルを識別します。サンドボックス・パスは、ランタイム内のファイル(/workspace/script.pyなど)を識別します。

CLIの例では、接続値を設定します。

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

ファイルをアップロードしています

script.pyという名前のローカル・ファイルを作成します。

print('Hello from the 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

アップロードされたスクリプトを実行します。

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

ファイルのダウンロードできます。

サンドボックス・ファイルをローカル・ファイルに読み取ります。ダウンロードしたコンテンツに使用するローカル宛先を選択します。

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

サンドボックスが停止または期限切れになる前に、必要な結果をダウンロードします。スナップショットを使用して、別のサンドボックスを作成するためのワークスペースを保持します。

Python SDKの使用

Python SDKの使用からクライアント設定を再利用して、認証されたclientを初期化します。実行中のサンドボックスのIDを設定し、ローカル・ファイルをアップロードして再度読み取ります。完全なクイックスタート例はサンドボックスを停止するため、このコードを使用して停止するか、別の実行中のサンドボックスを使用します。

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)