1. 获取沙箱 ID
要连接到正在运行的沙箱,您首先需要获取其 ID。import { Sandbox } from "ppio-sandbox/code-interpreter"
const sandbox = await Sandbox.create({
timeoutMs: 120_000, // 单位为毫秒。
})
// 列出所有正在运行的沙箱。
const runningSandboxesPaginator = await Sandbox.list({
query: {
state: ["running"],
},
})
const runningSandboxes = await runningSandboxesPaginator.nextItems()
if (runningSandboxes.length === 0) {
throw new Error("No running sandboxes found")
}
const runningSandboxId = runningSandboxes[0].sandboxId
console.log(`got a running sandbox: ${runningSandboxId}`)
await sandbox.kill()
from ppio_sandbox.code_interpreter import Sandbox, SandboxQuery, SandboxState
# 创建一个沙箱,并保持运行 60 秒。
sandbox = Sandbox.create(
timeout=120, # 单位为秒。
)
# 列出所有正在运行的沙箱。
running_sandboxes_paginator = Sandbox.list(query=SandboxQuery(state=[SandboxState.RUNNING]))
running_sandboxes = running_sandboxes_paginator.next_items()
if len(running_sandboxes) == 0:
raise Exception("No running sandboxes found")
running_sandbox_id = running_sandboxes[0].sandbox_id
# 获取您想要连接的沙箱的 ID。
print("got a running sandbox: ", running_sandbox_id)
sandbox.kill()
2. 连接到沙箱
获取到沙箱 ID 后,您可以通过connect 方法连接到该沙箱。
import { Sandbox } from "ppio-sandbox/code-interpreter"
const sandbox = await Sandbox.create({
timeoutMs: 120_000, // 单位为毫秒。
})
// 列出所有正在运行的沙箱。
const runningSandboxesPaginator = await Sandbox.list({
query: {
state: ["running"],
},
})
const runningSandboxes = await runningSandboxesPaginator.nextItems()
if (runningSandboxes.length === 0) {
throw new Error("No running sandboxes found")
}
const runningSandboxId = runningSandboxes[0].sandboxId
// 连接到沙箱。
const connectedSandbox = await Sandbox.connect(runningSandboxId)
console.log("connected to sandbox: ", connectedSandbox.sandboxId)
// 现在您可以继续使用该沙箱
// ...
sandbox.kill()
from ppio_sandbox.code_interpreter import Sandbox, SandboxQuery, SandboxState
# 创建一个沙箱,并保持运行 60 秒。
sandbox = Sandbox.create(
timeout=120, # 单位为秒。
)
# 列出所有正在运行的沙箱。
running_sandboxes_paginator = Sandbox.list(query=SandboxQuery(state=[SandboxState.RUNNING]))
running_sandboxes = running_sandboxes_paginator.next_items()
if len(running_sandboxes) == 0:
raise Exception("No running sandboxes found")
running_sandbox_id = running_sandboxes[0].sandbox_id
# 连接到沙箱。
sandbox = Sandbox.connect(running_sandbox_id)
print("got a running sandbox: ", sandbox.sandbox_id)
# 现在您可以继续使用该沙箱
# ...
sandbox.kill()