Sandbox 是雲沙箱的核心運行對象。應用建立 Sandbox 後,可以在其中執行命令、讀寫檔案、運行代碼或啟動臨時服務。任務完成後,應主動終止 Sandbox。
建立 Sandbox
建立一個 code-interpreter-v1 Sandbox:
import os
from e2b_code_interpreter import Sandbox
sandbox = Sandbox.create(
template="code-interpreter-v1",
api_key=os.environ["E2B_API_KEY"],
api_url=os.environ["E2B_API_URL"],
domain=os.environ["E2B_DOMAIN"],
)也可以使用 TypeScript SDK:
import { Sandbox } from "@e2b/code-interpreter";
const sandbox = await Sandbox.create("code-interpreter-v1", {
apiKey: process.env.E2B_API_KEY,
apiUrl: process.env.E2B_API_URL,
domain: process.env.E2B_DOMAIN,
});Sandbox.create() 支援模板、逾時、環境變數和中繼資料等參數。環境變數和中繼資料用法參見環境變數和中繼資料。
串連 Sandbox
可以通過 Sandbox.connect(sandboxId) 串連已有 Sandbox。如果目標 Sandbox 已暫停,串連時會自動回復。暫停與恢複功能當前僅對已開通白名單的帳號可用。
查詢 Sandbox
可以查詢當前帳號下的 Sandbox,或擷取指定 Sandbox 的資訊:
Sandbox.list():列出 Sandbox。sandbox.getInfo():擷取當前 Sandbox 資訊。sandbox.isRunning():判斷 Sandbox 是否運行中。
終止 Sandbox
任務完成後,主動終止 Sandbox:
sandbox.kill()設定逾時時間
可以通過 sandbox.setTimeout(ms) 調整 Sandbox 逾時時間。詳見逾時。