为了不便用户灵便调用 GPU 资源,平台提供通过API调用形式应用实例相干性能,目前仅对企业用户凋谢。
企业体验:GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall
立刻体验:https://gpumall.com/login?type=register&source=sifou
API概览
平台对外提供的API如下:
API 阐明 获取平台GPU类型 查问平台以后可用显卡类型 获取镜像 查问以后账户可用的镜像,包含平台官网镜像和自定义镜像 创立实例 创立实例,依据平台举荐规定抉择符合条件的最优机器执行创立打算。 查问操作后果 查问实例操作后果 查问实例 查问后果返回未开释实例 实例操作 API调用仅反对开机、关机、重启和开释,更多简单操作请到网页端执行。
如何调用API
- 申请企业资质
API以后只针对企业用户凋谢,未开明企业资质请返回账户核心提交企业认证申请。
- 创立API密钥
API调用须要先创立API 密钥,能够在"账户核心 - OpenAPI 密钥"页面创立密钥,点击增加后即下载密钥到本地,后续无奈再反复下载,请妥善保存,切勿泄露。
编辑
- 终端节点
终端节点即调用API的申请地址目前平台提供的服务器调用地址如下:
申请地址 协定类型 https://api.gpumall.com HTTPS
- 认证鉴权
所有API接口须要通过在header中携带平台的 API 密钥来进行身份认证。 在 Header 中携带 API 密钥的音讯头域格局如下:
{
"gm-api-token":"dWEwmaZxxxxxxxxx"
}
其中 gm-api-token 是平台自定义header key。
- 返回后果
API 申请返回对立应用 JSON (对应申请/响应header为Content-Type: application/json) 格局,通用构造如下:
{
"code": 0,
"message": "success",
"traceid": "180114fedf26b1177b44121fa5c1e5d9",
"data": {}
}
返回后果参数阐明:
音讯元素名 形容 code 申请响应码,申请胜利时为 0,失败时为相应的错误码,具体错误码请参考附录错误码阐明。 message 申请胜利为 success, 申请失败为具体的业务错误信息 data 返回的业务数据
API详情
- 获取平台GPU类型
接口阐明
申请URI:/api/v1/open-api/gpu/list申请办法:GET
申请参数 无 返回后果
参数名称 类型 形容 gpus Array<string> 显卡类型数组 ,与高可用云/社区云的显卡类型统一
返回值示例
{
"code": 0,"message": "success","traceid": "180114fedf26b1177b44121fa5c1e5d9","data": { "gpus": [ "RTX 3090", "RTX 4090", "RTX 2080 Ti", ]}
}
- 获取镜像
接口阐明
申请URI:/api/v1/open-api/image/list申请办法:GET
申请参数 无 返回参数 Image参数形容
参数名称 类型 形容 type String 镜像类型,user / official, user:备份镜像,official: 官网镜像 imageId String 镜像Id,创立实例应用 name String 镜像名称
返回示例
{
"code": 0,"message": "success","traceid": "90223a7f6632b1176c74fa17445cfe0e","data": { "images": [ { "type": "official", "name": "torch2.1.1-cuda12.1.0-py3.10", "imageId": "torch2.1.1-cuda12.1.0-py3.10" }, { "type": "user", "name": "AnythingV5-WebUI", "imageId": "imgbgl8mu4msk375gdsd32smbogsuffm" }, ]}
}
- 创立实例
接口阐明
申请URI:/api/v1/open-api/instance/create申请办法:POST
申请参数 Body
参数名称 类型 必填 形容 type Integer 是 社区云: 1, 高可用云:2 gpuName String 是 显卡类型,可通过获取显卡列表接口查问,或者从官网查问 skuName String 是 领取形式, 取值范畴: 按量付费(payg),竞价(bidding),包天(daily),包周(weekly),包月(monthly) gpuNum Integer 是 租用显卡数量 cpuNum Integer 否 单卡调配cpu外围数 memory Integer 否 单卡调配的内存 diskType String 否 磁盘类型(SSD/NVME) tags Array<String> 否 查问合乎某些标签的机器 imageId String 是 创立实例应用的镜像ID,可通过查问可用镜像列表获取 autoRenew Boolean 否 是否设置到期主动续费,按量付费默认为主动续费,其余预付费领取形式默认为false duration Integer 否 预付费实例租用周期,默认为 1 cmd String 否 启动命令 env String 否 环境变量 dryRun Boole 否 空跑,为 true 时只做机器筛选和价格查看
返回参数 Data
参数名称 类型 形容 instanceId Int64 实例ID, dryRun=true时为0 operationId Int64 以后操作ID, dryRun=true时为 0 spec Object<Spec> 实例规格
Spec
参数名称 类型 形容 gpuName String 显卡名称 vram String 单卡显存大小,单位:G skuName String 领取类型,取值范畴:按量付费(payg),竞价(bidding),包天(daily),包周(weekly),包月(monthly) price String 单价 cpuName String cpu 型号 cpuCoreNum int cpu 外围数,依据租用卡数按比例调配 memorySize int 内存大小,依据租用卡数按比例调配 payByVoucher int 是否反对代金券领取, 反对:1, 不反对:0 regionName String 所在区域
返回示例
{
"code": 0,"message": "success","traceid": "905b8753fb3db11760f67138872918cb","data": { "InstanceId": 512300905672709, "operationId": 512303116840965, "spec": { "gpuName": "RTX 3080", "vram": "10G", "skuName": "payg", "price": "10", "cpuCoreNum": 16, "cpuName": "Intel Xeon Processor (Skylake, IBRS)", "memorySize": 17179869184, "payByVoucher": 1, "regionName": "华东" }}
}
- 查问操作状态
接口阐明
申请URI:/api/v1/open-api/instance/op/result申请办法:POST
申请参数 Body
参数名称 类型 必填 形容 ids Array<int> 是 操作ID列表
返回参数 Operation
参数名称 类型 形容 instanceId Int64 实例ID status int 操作实现状态 进行中:1,胜利:2,失败:3 action String 以后进行中的操作 operationId String 以后操作ID isCompleted int 操作是否已实现, 已实现:1, 未实现: 0 startTime String 开始工夫 completeTime String 实现工夫
返回示例
{
"code": 0,"message": "success","traceid": "287bfb0b8e3fb11797f57d7a4f92b05b","data": { "operations": [ { "instanceId": 512300905672709, "operationId": 512303116840965, "action": "stop", "status": 2, "isCompleted": 1, "startTime": "2024-02-06 17:06:45", "completeTime": "2024-02-06 17:06:47" } ]}
}
- 查问实例列表
接口阐明
申请URI:/api/v1/open-api/instance/query申请办法:GET
申请参数 Query
参数名称 类型 必填 形容 status String 否 实例状态, 可选枚举值: stopd, running, creating instanceId Int 否 查问单个实例 pn Integer 否 分页页码 ps Integer 否 每页大小,默认为20
返回参数
参数名称 类型 形容 instances Array<Instance> 实例数组 total Integer 总数
Instance
参数名称 类型 形容 instanceId int64 实例ID name String 自定义实例名称 imageId String 镜像ID status String 实例状态 isPending int 是否操作执行中, 1 为操作中 gpuName String 显卡名称 gpuNum Integer 显卡数量 skuName String 租用形式: payg(按量付费), daily(包天), weekly(包周), monthly(包月),card_less(无卡启动) createdAt String 创立工夫 cpuCoreNum Int cpu外围数 memorySize int64 内存大小,单位 Byte systemDiskSize int64 系统盘调配空间(根目录/),单位byte systemDiskUsedSize int64 系统盘已用空间(根目录/), 单位byte dataDiskSize int64 数据盘调配空间(/gm-data),单位byte dataDiskUsedSize int64 数据盘已用空间(/gm-data), 单位 byte sshCmd String ssh 登录命令 sshPwd String ssh 登录明码 notebookUrl String JupyterLab Notebook 拜访地址 tensorboardUrl String Tensorboard 拜访地址 customServices Array<String> 自定义端口拜访地址(数组,每个元素为一个端口的对应拜访地址) operationId int64 实例最近一次操作id
返回示例
{
"code": 0,"message": "success","traceid": "3082737a3085b5177f74d5555f57a69f","data": { "instances": [ { "instanceId": 504838617333765, "name": "AnythingV5-WebUI", "status": "stopd", "imageId": "stable-diffusion-webui_v1.7.0", "isPending": 0, "gpuName": "RTX 3080", "gpuNum": 0, "skuName": "payg", "operationId": 511642810499077, "cpuCoreNum": 1, "memorySize": 2147483648, "systemDiskSize": 32212254720, "systemDiskUsedSize": 4311059, "dataDiskSize": 53687091200, "dataDiskUsedSize": 0, "sshCmd": "ssh -p 59064 root@xxxxx", "sshPwd": "Q3rDHh7QEwgYsuPxYSdVbE9zzKQQW45e", "notebookUrl": "http://xxxxx:42757/lab?token=f4jzygqwno3fecinx9arnetu", "tensorboardUrl": "http://xxxxx:44634", "customServices": [ "http://xxxxx:48548" ], "createdAt": "2024-01-16 14:53:38" } ], "total": 1}
}
- 实例操作
接口阐明
申请URI:/api/v1/open-api/instance/action申请办法:POST
申请参数 Body
参数名称 类型 必填 形容 instanceId Int64 是 实例ID action String 是 实例操作名称,仅反对stop(实例关机), start(开机), restart(重启), release(开释)
返回参数
参数名称 类型 形容 operationId Int64 操作ID
返回示例
{
"code": 0,"message": "success","traceid": "3082737a3085b5177f74d5555f57a69f","data": { "operationId": 511642810499077}
}
附录
- 申请返回的通用构造
{
"code": 0,
"message": "success",
"traceid": "180114fedf26b1177b44121fa5c1e5d9",
"data": {}
}
- HTTP状态码
状态码 含意 形容 404 Not Found 申请URI不存在 403 Forbidden 申请未受权 200 OK 申请胜利 500 Internal Server Error 服务器谬误
- 罕用错误码
错误码 错误信息 形容 10001 服务器外部谬误 未定义的服务器外部谬误, 可提供单反馈帮助解决 10002 未登录或者登录已过期 个别是申请header 中短少gm-api-token 10005 参数谬误 参数校验谬误 10135 实例操作谬误 实例操作谬误,错误信息在 message 中