Agent が動作するコンテナと依存関係を選択する。
Environment は、Session が使用するランタイムを定義します。環境タイプ、プリインストール依存関係、セットアップスクリプト、metadata を含みます。デフォルトのマネージド Environment を使用するほか、特定のタスクに必要なツールを備えた Environment を作成したり、セルフホストランタイムを接続したりできます。
Environment は Session の基盤となるインフラストラクチャレイヤーです:
セルフホスト Environment はマネージドクラウドコンテナを起動しません。外部 worker は Work API を使用して、その Environment の Session work をポーリング、確認応答、heartbeat、停止します。
実行成功後、sandbox 内に完了マーカーが書き込まれるため、同一 sandbox 内では再実行されません。sandbox が再作成されると再度実行されます。スクリプトがゼロ以外の終了コードで終了すると Session の起動が中断され、エラーレスポンスに exit code と stderr の抜粋が含まれます。
成功時は 200 OK が返されます:
Q: 環境を作成した後、使用できるまでどのくらい待つ必要がありますか?
A: 環境は作成後すぐに使用可能です。コンテナの実際のプロビジョニング(依存関係のインストールを含む)は Session の起動時に行われます。
Q: パッケージのバージョンを固定できますか?
A: pip と npm パッケージはバージョン指定をサポートしています。例:
環境とは
Environment は Session の基盤となるインフラストラクチャレイヤーです:
- 環境タイプ -
cloudはクラウドマネージドコンテナ、self_hostedはセルフホスト実行環境を示します。 - パッケージ - プリインストールされるシステムパッケージ、Python パッケージ、Node.js パッケージです。
- セットアップスクリプト - コンテナ準備段階でパッケージインストール後に実行されるユーザースクリプトです。
フィールドリファレンス
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | - | システム生成、env_ プレフィックス |
type | string | - | 固定値 "environment" |
name | string | はい | 環境名 |
description | string | いいえ | 自由記述、デフォルトは "" |
config | object | いいえ | 環境設定。省略時は {"type":"cloud"} がデフォルト |
config.type | string | config 指定時は必須 | 環境タイプ:"cloud" または "self_hosted" |
config.packages | object | いいえ | cloud 環境のプリインストールパッケージ設定 |
config.setup_script | string | いいえ | sandbox 準備段階で実行される shell スクリプト(最大 64 KB) |
metadata | object | いいえ | カスタム key/value metadata |
archived_at | string|null | - | アーカイブ時刻(ISO 8601)、未アーカイブ時は null |
created_at | string | - | 作成時刻 |
updated_at | string | - | 最終更新時刻 |
Config タイプ
config.type は "cloud" または "self_hosted" を指定できます。
self_hosted の config にはタイプと任意の setup_script を指定できます:
self_hosted config で使用できるのは type と任意の setup_script のみです。
cloud の config には packages と setup_script を含めることができます。
プリインストールパッケージ
config.packages でコンテナ起動時にインストールされる依存関係を指定します:
| パッケージマネージャー | フィールド | 説明 |
|---|---|---|
| apt | packages.apt | Debian/Ubuntu システムパッケージ |
| pip | packages.pip | Python パッケージ |
| npm | packages.npm | Node.js パッケージ |
プリインストールパッケージは環境の起動時間を増加させます。本当に必要なパッケージのみを追加し、残りは Session 内でオンデマンドでインストールしてください。
セットアップスクリプト
config.setup_script は sandbox 準備段階で packages のインストール完了後に実行される shell スクリプトです。/bin/bash -lc で実行されます。リポジトリの clone、設定ファイルの作成、キャッシュのウォームアップなど、packages では表現できない初期化ステップに使用します。
| 制約 | 値 |
|---|---|
| 型 | string |
| 最大長 | 64 KB |
| インタープリター | /bin/bash -lc |
| タイムアウト | 10 分 |
| 実行タイミング | sandbox 準備段階、packages インストール完了後 |
環境の作成
環境の取得
環境の更新
環境を更新しても実行中の Session には影響しません。新しい設定は更新後に作成された Session にのみ適用されます。
環境選定ガイド
| シナリオ | 推奨設定 |
|---|---|
| 汎用開発 | default Environment、追加設定不要 |
| データ分析 | pandas/numpy をプリインストールし、依存関係レジストリへの接続を確認 |
| フロントエンド開発 | Node.js ツールチェーンをプリインストールし、npm レジストリへの接続を確認 |
| CI/CD 統合 | 必要な CLI をプリインストールし、対象ランタイムで依存関係への接続を確認 |
よくある質問
Q: 環境を作成した後、使用できるまでどのくらい待つ必要がありますか?
A: 環境は作成後すぐに使用可能です。コンテナの実際のプロビジョニング(依存関係のインストールを含む)は Session の起動時に行われます。
Q: パッケージのバージョンを固定できますか?
A: pip と npm パッケージはバージョン指定をサポートしています。例:"pandas==2.1.0" や "typescript@5.0.0"。apt パッケージはシステムリポジトリのデフォルトバージョンが使用されます。
Q: アカウントごとに作成できる環境の数に上限はありますか?
A: ハードリミットはありません。実際の必要に応じて作成し、命名規則を使って整理することを推奨します。