帮你快速理解、总结文档立即下载

项目操作

最近更新时间:2026-09-16 10:19:32
我的收藏
本章将介绍 makers.projects 上的项目创建、列出、查询、更新和删除方法。环境变量方法同样由 makers.projects 提供,更多信息请参见 环境变量

数据模型

projects.listprojects.listAllprojects.get 返回项目对象,projects.create 只返回项目 ID,projects.updateprojects.delete 无返回值。
字段
类型
必有
说明
projectId/project_id
string/str
项目 ID
name
string/str
同一账号下唯一的项目名称
status
string/str
项目状态
area
"mainland" | "overseas" | "global"
加速区域,分别对应中国大陆可用区、全球可用区(不含中国大陆)和全球可用区
presetDomain/preset_domain
string/str
项目域名,仅由 projects.get 返回
createdOn/created_on
string/str
创建时间,格式为 ISO 8601
modifiedOn/modified_on
string/str
修改时间,格式为 ISO 8601

projects.create

项目名称在同一账号下唯一,重复时抛出 ConflictError
参数
参数
类型
必填
说明
name
string/str
同一账号下唯一的项目名称,重复时抛出 ConflictError
area
"mainland" | "overseas" | "global"
加速区域
initialEnvVars/initial_env_vars
EnvVar[]/list[dict]
创建项目时一并写入的环境变量。
返回值
Promise<CreateProjectResult>/dict —— 只包含 projectId/project_id。项目状态、项目域名等信息需通过 projects.get 查询。
示例
Typescript
Python
const { projectId } = await makers.projects.create({
name: "docs-site",
area: "overseas",
initialEnvVars: [{ key: "API_URL", value: "https://example.com" }],
});
created = makers.projects.create(
name="docs-site",
area="overseas",
initial_env_vars=[{"key": "API_URL", "value": "https://example.com"}],
)
project_id = created["project_id"]

projects.list

分页列出项目。
参数
参数
类型
必填
说明
projectIds/project_ids
string[]/list[str]
按项目 ID 过滤
name
string/str
按项目名称过滤
status
string/str
按项目状态过滤
provider
string/str
按 Provider 过滤
page
number/int
页码,从 0 开始,默认 0
pageSize/page_size
number/int
每页条数,取值范围为 1 至 100,默认 20
order.field
string/str
两种语言的取值不同,TypeScript 为 "createdOn""modifiedOn",Python 为 "created_on""modified_on"
order.direction
"asc" | "desc"
排序方向
返回值
Promise<Page<Project>>/dict —— 包含 itemspagepageSize/page_sizetotalhasNext/has_next 五个字段。页码从 0 开始。
示例
Typescript
Python
const page = await makers.projects.list({
name: "docs",
page: 0,
pageSize: 20,
order: { field: "createdOn", direction: "desc" },
});

console.log(page.total, page.hasNext);
for (const project of page.items) {
console.log(project.projectId, project.name);
}
page = makers.projects.list(
name="docs",
page=0,
page_size=20,
order={"field": "created_on", "direction": "desc"},
)

print(page["total"], page["has_next"])
for project in page["items"]:
print(project["project_id"], project["name"])

projects.listAll / projects.list_all

过滤与排序参数与 projects.list 相同,但不接受 page
参数
参数
类型
必填
说明
projectIds/project_ids
string[]/list[str]
按项目 ID 过滤
name
string/str
按项目名称过滤
status
string/str
按项目状态过滤
provider
string/str
按 Provider 过滤
pageSize/page_size
number/int
每页条数,取值范围为 1 至 100,默认 20
order.field
string/str
两种语言的取值不同,TypeScript 为 "createdOn""modifiedOn",Python 为 "created_on""modified_on"
order.direction
"asc" | "desc"
排序方向
返回值
AsyncIterable<Project>/Iterator[dict] —— 由 SDK 自动翻页。TypeScript 用 for await 逐条取出,Python 用 for 逐条取出。
示例
Typescript
Python
for await (const project of makers.projects.listAll()) {
console.log(project.projectId, project.name);
}
for project in makers.projects.list_all():
print(project["project_id"], project["name"])

projects.get

按项目 ID 查询单个项目,项目不存在时抛出 NotFoundError
参数
参数
类型
必填
说明
projectId/project_id
string/str
项目 ID
返回值
Promise<Project>/dict
示例
Typescript
Python
const project = await makers.projects.get({ projectId: "your-project-id" });
console.log(project.name, project.presetDomain);
project = makers.projects.get(project_id="your-project-id")
print(project["name"], project.get("preset_domain"))

projects.update

只传入需要修改的字段,未传入的字段保持原值。
可更新的内容包括项目名称,以及构建部署配置中的根目录、输出目录、构建命令、安装命令、框架预设和 Node 版本。
参数
参数
类型
必填
说明
projectId/project_id
string/str
项目 ID
name
string/str
项目名称
rootDir/root_dir
string/str
根目录
outputDir/output_dir
string/str
输出目录
buildCmd/build_cmd
string/str
构建命令
installCmd/install_cmd
string/str
安装命令
framework
string/str
框架预设
nodejsVersion/nodejs_version
string/str
Node 版本
返回值
Promise<void>/None
示例
Typescript
Python
await makers.projects.update({
projectId: "your-project-id",
name: "new-name",
rootDir: ".",
outputDir: "dist",
buildCmd: "npm run build",
installCmd: "npm install",
framework: "other",
nodejsVersion: "20",
});
makers.projects.update(
project_id="your-project-id",
name="new-name",
root_dir=".",
output_dir="dist",
build_cmd="npm run build",
install_cmd="npm install",
framework="other",
nodejs_version="20",
)

projects.delete

按项目 ID 删除项目,项目不存在时抛出 NotFoundError
参数
参数
类型
必填
说明
projectId/project_id
string/str
项目 ID
返回值
Promise<void>/None
示例
Typescript
Python
await makers.projects.delete({ projectId: "your-project-id" });
makers.projects.delete(project_id="your-project-id")