云托管
init
1. 接口描述
接口功能:初始化云托管代码项目
接口声明:init(params: { serverName: string; template?: string; targetPath?: string }): Promise<{ projectDir: string }>
2. 输入参数
字段 | 必填 | 类型 | 说明 |
---|---|---|---|
serverName | 是 | String | 服务名称,将作为项目目录名 |
template | 否 | String | 模板标识符,默认为'helloworld' |
targetPath | 否 | String | 目标路径,默认为当前目录 |
3. 返回结果
字段 | 类型 | 说明 |
---|---|---|
projectDir | String | 初始化后的项目目录 |
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
const { projectDir } = await manager.cloudrun.init({
serverName: "my-server",
template: "helloworld",
targetPath: "./projects",
});
console.log("项目已初始化到:", projectDir);
}
test();
download
1. 接口描述
接口功能:下载云托管服务代码到本地目录
接口声明:download(params: { serverName: string; targetPath: string }): Promise<void>
2. 输入参数
字段 | 必填 | 类型 | 说明 |
---|---|---|---|
serverName | 是 | String | 要下载的服务名称 |
targetPath | 是 | String | 下载的目标路径(绝对或相对路径) |
3. 返回结果
无直接返回数据,成功时 Promise 解析,失败时拒绝。
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
await manager.cloudrun.download({
serverName: "my-server",
targetPath: "./downloads",
});
console.log("代码下载完成");
}
test();
list
1. 接口描述
接口功能:获取云托管服务列表
接口声明:list(params?: { pageSize?: number; pageNum?: number; serverName?: string; serverType?: CloudrunServerType }): Promise<ICloudrunListResponse>
2. 输入参数
字段 | 必填 | 类型 | 说明 |
---|---|---|---|
pageSize | 否 | Number | 每页数量,默认 10 |
pageNum | 否 | Number | 页码,默认 1 |
serverName | 否 | String | 服务名称筛选 |
serverType | 否 | CloudrunServerType | 服务类型筛选(function/container) |
3. 返回结果
字段 | 类型 | 说明 |
---|---|---|
ServerList | ICloudrunServerBaseInfo[] | 服务列表数组 |
ServerList[].ServerName | String | 服务名称 |
ServerList[].DefaultDomainName | String | 默认服务域名 |
ServerList[].CustomDomainName | String | 自定义域名 |
ServerList[].Status | String | 服务状态(running/deploying/deploy_failed) |
ServerList[].UpdateTime | String | 更新时间 |
ServerList[].AccessTypes | String[] | 公网访问类型数组 |
ServerList[].CustomDomainNames | String[] | 自定义域名数组 |
ServerList[].ServerType | String | 服务类型(function/container) |
ServerList[].TrafficType | String | 流量类型 |
Total | Number | 服务总数 |
RequestId | String | 请求 ID |
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
const { ServerList, Total } = await manager.cloudrun.list({
pageSize: 20,
pageNum: 1,
});
console.log(`共 ${Total} 个服务:`, ServerList);
}
test();
detail
1. 接口描述
接口功能:查询云托管服务详情
接口声明:detail(params: { serverName: string }): Promise<ICloudrunDetailResponse>
2. 输入参数
字段 | 必填 | 类型 | 说明 |
---|---|---|---|
serverName | 是 | String | 要查询的服务名称 |
3. 返回结果
字段 | 类型 | 说明 |
---|---|---|
BaseInfo | ICloudrunServerBaseInfo | 服务基本信息 |
BaseInfo.ServerName | String | 服务名称 |
BaseInfo.DefaultDomainName | String | 默认服务域名 |
BaseInfo.CustomDomainName | String | 自定义域名 |
BaseInfo.Status | String | 服务状态 |
BaseInfo.UpdateTime | String | 更新时间 |
BaseInfo.AccessTypes | String[] | 公网访问类型 |
BaseInfo.CustomDomainNames | String[] | 自定义域名数组 |
BaseInfo.ServerType | String | 服务类型 |
BaseInfo.TrafficType | String | 流量类型 |
ServerConfig | ICloudrunServerBaseConfig | 服务配置信息 |
ServerConfig.EnvId | String | 环境 ID |
ServerConfig.ServerName | String | 服务名称 |
ServerConfig.OpenAccessTypes | String[] | 公网访问类型 |
ServerConfig.Cpu | Number | CPU 规格 |
ServerConfig.Mem | Number | 内存规格 |
ServerConfig.MinNum | Number | 最小副本数 |
ServerConfig.MaxNum | Number | 最大副本数 |
ServerConfig.PolicyDetails | ICloudrunHpaPolicy[] | 扩缩容配置 |
ServerConfig.PolicyDetails[].PolicyType | String | 扩缩容类型,可选值: - "cpu" : 基于 CPU 利用率的扩缩容- "mem" : 基于内存利用率的扩缩容;- "cpu/mem" : 基于 CPU 和内存利用率的扩缩容 |
ServerConfig.PolicyDetails[].PolicyThreshold | Number | 扩缩容阈值(百分比),取值范围 0-100,如 60 表示当资源利用率达到 60%时触发扩缩容 |
ServerConfig.CustomLogs | String | 日志采集路径 |
ServerConfig.EnvParams | String | 环境变量 |
ServerConfig.InitialDelaySeconds | Number | 延迟检测时间 |
ServerConfig.CreateTime | String | 创建时间 |
ServerConfig.Port | Number | 服务端口 |
ServerConfig.HasDockerfile | Boolean | 是否有 Dockerfile |
ServerConfig.Dockerfile | String | Dockerfile 文件名 |
ServerConfig.BuildDir | String | 构建目录 |
ServerConfig.LogType | String | 日志类型 |
ServerConfig.LogSetId | String | CLS 日志集 ID |
ServerConfig.LogTopicId | String | CLS 主题 ID |
ServerConfig.LogParseType | String | 日志解析类型 |
ServerConfig.Tag | String | 服务标签 |
ServerConfig.InternalAccess | String | 内网访问开关 |
ServerConfig.InternalDomain | String | 内网域名 |
ServerConfig.OperationMode | String | 运行模式 |
ServerConfig.TimerScale | ICloudrunTimerScale[] | 定时扩缩容配置 |
ServerConfig.TimerScale[].CycleType | String | 循环类型,可选值: - "none" : 无循环- "daily" : 每日循环- "weekly" : 每周循环- "monthly" : 每月循环 |
ServerConfig.TimerScale[].StartDate | String | 循环起始日期(格式: YYYY-MM-DD) |
ServerConfig.TimerScale[].EndDate | String | 循环结束日期(格式: YYYY-MM-DD) |
ServerConfig.TimerScale[].StartTime | String | 起始时间(格式: HH:mm:ss) |
ServerConfig.TimerScale[].EndTime | String | 结束时间(格式: HH:mm:ss) |
ServerConfig.TimerScale[].ReplicaNum | Number | 副本个数(最小值: 0) |
ServerConfig.EntryPoint | String[] | Dockerfile EntryPoint 参数 |
ServerConfig.Cmd | String[] | Dockerfile Cmd 参数 |
OnlineVersionInfos | ICloudrunOnlineVersionInfo[] | 在线版本信息 |
OnlineVersionInfos[].VersionName | String | 版本名称 |
OnlineVersionInfos[].ImageUrl | String | 镜像 URL |
OnlineVersionInfos[].FlowRatio | String | 流量比例 |
RequestId | String | 请求 ID |
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
const detail = await manager.cloudrun.detail({
serverName: "my-server",
});
console.log("服务详情:", detail);
}
test();
delete
1. 接口描述
接口功能:删除指定的云托管服务
接口声明:delete(params: { serverName: string }): Promise<IResponseInfo>
2. 输入参数
字段 | 必填 | 类型 | 说明 |
---|---|---|---|
serverName | 是 | String | 要删除的服务名称 |
3. 返回结果
字段 | 类型 | 说明 |
---|---|---|
RequestId | String | 请求 ID |
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
await manager.cloudrun.delete({
serverName: "my-server",
});
console.log("服务删除成功");
}
test();
deploy
1. 接口描述
接口功能:本地代码部署云托管服务
接口声明:deploy(params: { serverName: string; targetPath: string; serverConfig?: Partial<ICloudrunServerBaseConfig> }): Promise<IResponseInfo>
2. 输入参数
字段 | 必填 | 类型 | 说明 |
---|---|---|---|
serverName | 是 | String | 要部署的服务名称 |
targetPath | 是 | String | 本地代码路径 |
serverConfig | 否 | Partial<ICloudrunServerBaseConfig> | 服务配置项,包含以下可选字段: |
- OpenAccessTypes: string[] - 公网访问类型数组,可选值:"OA" - 办公网访问"PUBLIC" - 公网访问"MINIAPP" - 小程序访问"VPC" - VPC 访问 | |||
- Cpu: number - CPU 规格 | |||
- Mem: number - 内存规格 | |||
- MinNum: number - 最小实例数 | |||
- MaxNum: number - 最大实例数 | |||
- PolicyDetails: ICloudrunHpaPolicy[] - 扩缩容配置数组,每个元素包含:PolicyType: string - 扩缩容类型,可选值:"cpu" 、"mem" 、"cpu/mem" PolicyThreshold: number - 扩缩容阈值(百分比),如 60 表示 60% | |||
- CustomLogs: string - 自定义日志配置 | |||
- EnvParams: string - 环境变量 JSON 字符串 | |||
- Port: number - 服务端口(函数型服务固定为 3000) | |||
- Dockerfile: string - Dockerfile 文件名 | |||
- BuildDir: string - 构建目录 | |||
- InternalAccess: string - 内网访问开关 | |||
- InternalDomain: string - 内网域名 | |||
- EntryPoint: string[] - Dockerfile EntryPoint 参数 | |||
- Cmd: string[] - Dockerfile Cmd 参数 |
3. 返回结果
字段 | 类型 | 说明 |
---|---|---|
RequestId | String | 请求 ID |
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
await manager.cloudrun.deploy({
serverName: "my-server",
targetPath: "./my-project",
serverConfig: {
Cpu: 0.5,
Mem: 1,
MinNum: 1,
MaxNum: 5,
},
});
console.log("服务部署成功");
}
test();
getTemplates
1. 接口描述
接口功能:获取云托管服务模板列表
接口声明:getTemplates(): Promise<ITemplate[]>
2. 输入参数
无
3. 返回结果
字段 | 类型 | 说明 |
---|---|---|
ITemplate[] | Array | 模板数组 |
[].identifier | String | 模板唯一标识符 |
[].title | String | 模板标题 |
[].description | String | 模板描述 |
[].runtimeVersion | String | 运行时版本 |
[].language | String | 编程语言 |
[].zipFileStore | String | 模板压缩包存储地址 |
4. 示例代码
import CloudBase from "@cloudbase/manager-node";
const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId",
});
async function test() {
const templates = await manager.cloudrun.getTemplates();
console.log("可用模板:", templates);
templates.forEach((template) => {
console.log(`模板ID: ${template.identifier}`);
console.log(`标题: ${template.title}`);
console.log(`描述: ${template.description}`);
console.log(`运行时版本: ${template.runtimeVersion}`);
console.log(`语言: ${template.language}`);
console.log(`下载地址: ${template.zipFileStore}`);
});
}
test();