概述
环境变量允许您在创建沙箱或执行代码/命令时传递配置信息。沙箱支持在多个作用域设置环境变量。
默认环境变量
沙箱会自动设置以下元数据环境变量:
| 变量名 | 说明 |
|---|---|
E2B_SANDBOX |
设置为 true,用于进程识别是否在沙箱中运行 |
E2B_SANDBOX_ID |
沙箱的唯一标识符 |
E2B_TEAM_ID |
创建沙箱的团队 ID |
E2B_TEMPLATE_ID |
使用的模板 ID |
设置环境变量的三种方式
方式 1:创建沙箱时设置全局变量
全局环境变量对整个沙箱生命周期内的所有代码和命令可见。
import { Sandbox } from '@e2b/code-interpreter'
async function main() {
const sandbox = await Sandbox.create({
envs: {
MY_VAR: 'my_value',
},
})
await sandbox.kill()
}
main()
方式 2:执行代码时设置临时变量
这些变量仅对该次代码执行可见,可以临时覆盖全局变量。
import { Sandbox } from '@e2b/code-interpreter'
async function main() {
const sandbox = await Sandbox.create()
const result = await sandbox.runCode('import os; print(os.environ.get("MY_VAR"))', {
envs: {
MY_VAR: 'my_value',
},
})
await sandbox.kill()
}
main()
方式 3:执行命令时设置临时变量
这些变量仅对该次命令执行可见,可以临时覆盖全局变量。
import { Sandbox } from '@e2b/code-interpreter'
async function main() {
const sandbox = await Sandbox.create()
await sandbox.commands.run('echo $MY_VAR', {
envs: {
MY_VAR: '123',
},
})
await sandbox.kill()
}
main()
环境变量隔离
重要:代码和命令级别的环境变量在操作系统中不是私有的。它们会临时覆盖全局变量,但对操作系统的其他部分仍然可见。
文档反馈
(如有产品使用问题,请 提交工单)