Files APIを通じてファイルをアップロードし、セッションのサンドボックスにマウントすることで、エージェントにファイルを提供できます。
まず、Files APIを使用してファイルをアップロードします。
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")セッション作成時に resources 配列にアップロード済みファイルを追加することで、サンドボックスにマウントします。
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)上記の mount_path を指定した場合、エージェントは /mnt/session/uploads/data.csv にあるファイルを読み取ります(ファイルパスを参照)。
セッション内のファイルのインスタンスを参照する新しい file_id が作成されます。これらのコピーはストレージ制限にはカウントされません。
resources 配列にエントリを追加することで、複数のファイルをマウントできます。
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/src/main.py"},
]1セッションあたり最大500ファイルまでサポートされています。
セッションリソースAPIを使用すると、作成後のセッションに対してファイルを追加または削除できます。各リソースには追加時(または一覧取得時)に返される id があり、削除の際にこれを使用します。
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."resources.list でセッション上のすべてのリソースを一覧表示できます。ファイルを削除するには、リソースIDを指定して resources.delete を呼び出します。
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)Files APIを使用して、セッションにスコープされたファイルを一覧表示し、ダウンロードできます。scope_id によるフィルタリングには managed-agents-2026-04-01 ベータヘッダーが必要なため、一覧表示の例では beta のfiles名前空間を使用し、そのヘッダーを明示的に渡しています。ファイルのダウンロードにはベータヘッダーは必要ありません。
# セッションに関連付けられたファイルを一覧表示
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# ファイルをダウンロード
content = client.files.download(files.data[0].id)
content.write_to_file("output.txt")エージェントは、以下を含むあらゆるファイルタイプを扱うことができます。
.py、.js、.ts、.go、.rs など).csv、.json、.xml、.yaml).txt、.md).zip、.tar.gz) - エージェントはbashを使用してこれらを展開できますmount_path に /data.csv を指定すると、ファイルはサンドボックス内の /mnt/session/uploads/data.csv に配置されますmount_path を省略した場合、ファイルは /mnt/session/uploads/<file_id> に配置されます/ で始まる)である必要がありますWas this page helpful?