Was this page helpful?
Files APIを使用してファイルをアップロードし、セッションのコンテナにマウントすることで、エージェントにファイルを提供できます。
すべてのManaged Agents APIリクエストには、managed-agents-2026-04-01ベータヘッダーが必要です。SDKはベータヘッダーを自動的に設定します。
まず、Files APIを使用してファイルをアップロードします:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")セッション作成時にresources配列にファイルを追加することで、アップロードされたファイルをコンテナにマウントします:
mount_pathはオプションですが、アップロードされたファイルに説明的な名前があることを確認して、エージェントが何を探しているかを知ることができるようにしてください。
新しいfile_idが作成され、セッション内のファイルのインスタンスを参照します。これらのコピーはストレージ制限にカウントされません。
resources配列にエントリを追加することで、複数のファイルをマウントします:
セッションあたり最大100ファイルがサポートされています。
セッション作成後、セッションリソースAPIを使用してセッションからファイルを追加または削除できます。各リソースには、追加(またはリスト表示)時に返されるidがあり、これを削除に使用します。
resources.listでセッション上のすべてのリソースをリストします。ファイルを削除するには、リソースIDでresources.deleteを呼び出します:
Files APIを使用して、セッションにスコープされたファイルをリストして、それらをダウンロードします。
エージェントは以下を含む任意のファイルタイプで動作できます:
.py、.js、.ts、.go、.rsなど).csv、.json、.xml、.yaml).txt、.md).zip、.tar.gz)- エージェントはbashを使用してこれらを抽出できますコンテナにマウントされたファイルは読み取り専用のコピーです。エージェントはそれらを読み取ることができますが、元のアップロードされたファイルを変更することはできません。変更されたバージョンで作業するために、エージェントはコンテナ内の新しいパスに書き込みます。
/で始まります)session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/workspace/data.csv",
},
],
)resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py"},
]resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."listed = client.beta.sessions.resources.list(session.id)
for entry in listed.data:
print(entry.id, entry.type)
client.beta.sessions.resources.delete(resource.id, session_id=session.id)# List files associated with a session
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for f in files:
print(f.id, f.filename)
# Download a file
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")