Documentation Index
Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
本节展示如何连接到一个正在运行的沙箱,连接沙箱后,可以使用 SDK 对该沙箱进行操作,包括运行命令、代码等。
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()
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()