为了不便用户灵便调用 GPU 资源,平台提供通过API调用形式应用实例相干性能,目前仅对企业用户凋谢。

企业体验:GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall
立刻体验:https://gpumall.com/login?type=register&source=sifou

API概览

平台对外提供的API如下:

            API        阐明                获取平台GPU类型        查问平台以后可用显卡类型                获取镜像        查问以后账户可用的镜像,包含平台官网镜像和自定义镜像                创立实例        创立实例,依据平台举荐规定抉择符合条件的最优机器执行创立打算。                查问操作后果        查问实例操作后果                查问实例        查问后果返回未开释实例                实例操作        API调用仅反对开机、关机、重启和开释,更多简单操作请到网页端执行。    

如何调用API

  1. 申请企业资质

API以后只针对企业用户凋谢,未开明企业资质请返回账户核心提交企业认证申请。

  1. 创立API密钥

API调用须要先创立API 密钥,能够在"账户核心 - OpenAPI 密钥"页面创立密钥,点击增加后即下载密钥到本地,后续无奈再反复下载,请妥善保存,切勿泄露。 


编辑

  1. 终端节点

终端节点即调用API的申请地址目前平台提供的服务器调用地址如下:

            申请地址        协定类型                https://api.gpumall.com        HTTPS    
  1. 认证鉴权

所有API接口须要通过在header中携带平台的 API 密钥来进行身份认证。 在 Header 中携带 API 密钥的音讯头域格局如下:

{
"gm-api-token":"dWEwmaZxxxxxxxxx"
}

其中 gm-api-token 是平台自定义header key。

  1. 返回后果

API 申请返回对立应用 JSON (对应申请/响应header为Content-Type: application/json) 格局,通用构造如下:

{
"code": 0,
"message": "success",
"traceid": "180114fedf26b1177b44121fa5c1e5d9",
"data": {}
}

返回后果参数阐明:

            音讯元素名        形容                code        申请响应码,申请胜利时为 0,失败时为相应的错误码,具体错误码请参考附录错误码阐明。                message        申请胜利为 success, 申请失败为具体的业务错误信息                data        返回的业务数据    

API详情

  1. 获取平台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",    ]}

}

  1. 获取镜像

接口阐明

申请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"        },    ]}

}

  1. 创立实例

接口阐明

申请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": "华东"    }}

}

  1. 查问操作状态

接口阐明

申请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"        }    ]}

}

  1. 查问实例列表

接口阐明

申请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}

}

  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}

}

附录

  1. 申请返回的通用构造

{
"code": 0,
"message": "success",
"traceid": "180114fedf26b1177b44121fa5c1e5d9",
"data": {}
}

  1. HTTP状态码
            状态码        含意        形容                404        Not Found        申请URI不存在                403        Forbidden        申请未受权                200        OK        申请胜利                500        Internal Server Error        服务器谬误    
  1. 罕用错误码
            错误码        错误信息        形容                10001        服务器外部谬误        未定义的服务器外部谬误, 可提供单反馈帮助解决                10002        未登录或者登录已过期        个别是申请header 中短少gm-api-token                10005        参数谬误        参数校验谬误                10135        实例操作谬误        实例操作谬误,错误信息在 message 中