数据模型
projects.list、projects.listAll 与 projects.get 返回项目对象,projects.create 只返回项目 ID,projects.update 与 projects.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 查询。示例
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 —— 包含 items、page、pageSize/page_size、total 和 hasNext/has_next 五个字段。页码从 0 开始。示例
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 逐条取出。示例
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示例
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示例
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示例
await makers.projects.delete({ projectId: "your-project-id" });
makers.projects.delete(project_id="your-project-id")