Skip to main content
On this page

管理 Deploy 应用

除了配置微型虚拟机(microVMs)之外,@deno/sandbox SDK 还暴露了一个 Client 类,用于管理组织内部的 Deploy 应用。当你需要实现团队入驻自动化、克隆环境或清理未使用的应用,而不必访问仪表盘时,这非常有用。

快速开始 Jump to heading

import { Client } from "@deno/sandbox";

const client = new Client();

该客户端使用与 Sandbox.create() 相同的 DENO_DEPLOY_TOKEN 环境变量。请提供针对你想管理的组织作用域的令牌。

创建应用 Jump to heading

const app = await client.apps.create({
  slug: "my-app-from-sdk",
});

console.log(app);
// {
//   id: "4416a358-4a5f-45b2-99b5-3ebcb4b63b5f",
//   slug: "my-app-from-sdk",
//   updated_at: "2025-11-25T05:29:08.777Z",
//   created_at: "2025-11-25T05:29:08.777Z"
// }

随着 API 的完善,可以提供更多字段(如 namedescription)。

列出应用 Jump to heading

const list = await client.apps.list();
console.log(list.items); // 第一页(最新的30个应用)

for await (const app of list) {
  console.log(app.slug); // 分页迭代器
}

使用异步迭代器遍历组织中的所有应用,无需自行管理游标。

获取应用 Jump to heading

const appBySlug = await client.apps.get("my-app-from-sdk");
const appById = await client.apps.get("bec265c1-ed8e-4a7e-ad24-e2465b93be88");

获取操作支持使用 slug 或 UUID,方便根据手头的标识符使用。

更新应用元数据 Jump to heading

const updated = await client.apps.update(
  "bec265c1-ed8e-4a7e-ad24-e2465b93be88",
  { slug: "my-cool-app" },
);
console.log(updated.slug); // "my-cool-app"

当团队重命名服务或你想在组织内强制执行一致的 slug 规范时,这非常方便。

删除应用 Jump to heading

await client.apps.delete("legacy-chaotic-app");
await client.apps.delete("bec265c1-ed8e-4a7e-ad24-e2465b93be88");

删除时同样支持这两种标识符。移除后,相关的构建和路由会自动清理。

从 sandbox 发布到 Deploy 应用 Jump to heading

sandbox.deploy() 方法可用于将资源从 sandbox 发布到现有的 Deno Deploy 应用。这允许你将 sandbox 用作托管在 Deno Deploy 上应用的部署管道。

await using sandbox = await Sandbox.create();

// ... 构建你的应用 ...

const app = await sandbox.deploy({
  name: "my-app",
  options: {
    path: "build-output", // 可选:包含要部署应用的目录路径
    production: true, // 可选:部署到生产环境
    build: {
      entrypoint: "server.ts", // 可选:部署的入口文件
    },
  },
});

console.log(`${app.slug} 已部署。`);

提示 Jump to heading

  • 为管理脚本维护一个最低权限的专用自动化令牌。
  • 将这些 API 与 sandbox.deploy() 配合使用,可从 sandbox 试验中初始化应用,然后持续管理它们。
  • 记录每次变更(slug 重命名、删除),以便在仪表盘外有审计轨迹。

你找到了你需要的东西吗?

编辑此页面
隐私政策