Skip to content

部署管理 API ​

本页介绍了如何通过 API 获取部署列表、查询指定部署状态、启动、停止和创建部署。

获取部署列表 ​

URI ​

GET /deployments

TIP

该方法 60 分钟内只能请求 60 次。

请求消息 ​

无

响应消息 ​

  • 200:
名称类型描述
connectionsNumber连接数规格。
tpsNumberTPS 规格。
createAtString部署创建时间。
deploymentIDString部署 ID。
deploymentNameString部署名称。
deploymentTypeString部署类型,"serverless" 为 Serverless 版,"dedicated" 为专有版。
platformString云服务商。
projectNameString项目名称。
regionString云主机所在地区。
statusString部署运行状态: "running" 为运行中, "starting" 为创建过程中, "stopped" 为停止状态。
versionString部署版本。
  • 401: API Key 认证失败。
  • 403: API Key 没有权限访问。
  • 429: 请求次数超过限制。

请求示例 ​

bash
curl -u key:secret -X GET {api}/deployments

响应示例 ​

JSON
[
    {
        "connections": 1000,
        "tps": 1000,
        "createAt": "2024-11-21 02:51",
        "deploymentID": "mdfba81f",
        "deploymentName": "deployment-mdfba81f",
        "deploymentType": "serverless",
        "platform": "阿里云",
        "projectName": "default",
        "region": "杭州",
        "status": "stopped",
        "version": "v5"
    },
    {
        "connections": 1000,
        "tps": 1000,
        "createAt": "2025-04-17 08:36",
        "deploymentID": "b1f77113",
        "deploymentName": "deployment-b1f77113",
        "deploymentType": "dedicated",
        "platform": "阿里云",
        "projectName": "test",
        "region": "杭州",
        "status": "running",
        "version": "v5"
    }
]

查看指定部署的状态 ​

URI ​

GET /deployments/{deployment_id}

TIP

该方法 60 分钟内只能请求 60 次。{deployment_id} 为部署 ID, 非部署名称。

请求消息 ​

无

响应消息 ​

  • 200:
名称类型描述
connectionsNumber连接数规格。
tpsNumberTPS 规格。
createAtString部署创建时间。
deploymentIDString部署 ID。
deploymentNameString部署名称。
deploymentTypeString部署类型,"dedicated" 为专有版。
platformString云服务商。
regionString云主机所在地区。
statusString部署运行状态: "running" 为运行中, "starting" 为创建过程中, "stopped" 为停止状态。
  • 401: API Key 认证失败。
  • 403: API Key 没有权限访问。
  • 404: 未找到部署。
  • 429: 请求次数超过限制。

请求示例 ​

bash
curl -u key:secret -X GET {api}/deployments/w41b11c0

响应示例 ​

JSON
{
    "connections": 1000,
    "tps": 1000,
    "createAt": "2024-07-22 05:32",
    "deploymentID": "w41b11c0",
    "deploymentName": "deployment-w41b11c0",
    "deploymentType": "dedicated",
    "platform": "阿里云",
    "region": "杭州",
    "status": "running"
}

停止部署 ​

URI ​

POST /deployments/{deployment_id}/stop

TIP

该方法 60 分钟内只能请求 5 次。{deployment_id} 为部署 ID, 非部署名称。仅适用于专有版部署。

请求消息 ​

无

响应消息 ​

  • 201:
名称类型描述
deploymentIDString部署 ID。
deploymentNameString部署名称。
operationString操作类型,"stopping" 为停止操作。
  • 401: API Key 认证失败。
  • 403: API Key 没有权限访问。
  • 404: 未找到部署。
  • 422: 无效的请求参数。
  • 429: 请求次数超过限制。

请求示例 ​

bash
curl -u key:secret -X POST {api}/deployments/w41b11c0/stop

响应示例 ​

JSON
{
    "deploymentID": "w41b11c0",
    "deploymentName": "deployment-w41b11c0",
    "operation": "stopping"
}

启动部署 ​

URI ​

POST /deployments/{deployment_id}/start

TIP

该方法 60 分钟内只能请求 5 次。{deployment_id} 为部署 ID, 非部署名称。仅适用于专有版部署。

请求消息 ​

无

响应消息 ​

  • 201:
名称类型描述
deploymentIDString部署 ID。
deploymentNameString部署名称。
operationString操作类型,"starting" 为开启操作。
  • 401: API Key 认证失败。
  • 403: API Key 没有权限访问。
  • 404: 未找到部署。
  • 422: 无效的请求参数。
  • 429: 请求次数超过限制。

请求示例 ​

bash
curl -u key:secret -X POST {api}/deployments/w41b11c0/start

响应示例 ​

JSON
{
    "deploymentID": "w41b11c0",
    "deploymentName": "deployment-w41b11c0",
    "operation": "starting"
}

创建部署 ​

URI ​

POST /deployments

TIP

该方法 60 分钟内只能请求 1 次。部署将在默认项目中创建,并按小时计费。目前支持创建 v5 和 v6 版本的 EMQX。

请求消息 ​

名称类型必填描述
platformString是部署所在的云平台。详细支持的平台见下表。
regionString是部署创建的地区。详细支持的地区见下表。
connectionsNumber是部署的连接数。详细规格见下表。Serverless 部署仅支持 1,000 连接数/1,000 TPS。Dedicated 部署支持从 1,000 到 10,000 连接数不等的规格。
tpsNumber是部署的 TPS。详细规格见下表。Serverless 部署仅支持 1,000 连接数/1,000 TPS。Dedicated 部署支持从 1,000 到 20,000 TPS 不等的规格。
deploymentTypeString是部署版本。必须为 "serverless" 或 "dedicatedFlex"。
deploymentNameString否部署名称。如不填,系统将自动生成默认名称。
deploymentVersionString是部署版本号。支持 "v5" 和 "v6"。
projectIDString是项目 ID。可通过项目列表获取。
freeTrialBoolean是是否为免费试用部署。必须设置为 false。

支持的平台和地区

云平台名称云平台代码区域名称区域代码支持 Serverless支持专有版
阿里云aliyun杭州cn-hangzhou✅✅
上海cn-shanghai✅
北京cn-beijing✅
深圳cn-shenzhen✅
成都cn-chengdu✅
华为云huawei华南-广州cn-south-1✅
华东-上海一cn-east-3✅
华北-北京四cn-north-4✅
西南-贵阳一cn-southwest-2✅
腾讯云tencent广州ap-guangzhou✅
上海ap-shanghai✅
北京ap-beijing✅
AWS 中国aws_cn宁夏cn-northwest-1✅
北京cn-north-1✅

不同部署类型支持的连接数和 TPS 规格:

响应消息 ​

  • 201:
名称类型描述
createAtString部署创建时间。
deploymentIDString部署的唯一标识符。
deploymentNameString部署名称。
deploymentTypeString部署版本("dedicatedFlex" 或 "serverless")。
platformString云平台标识符。
portsObject不同协议的端口配置。
projectIDString部署所属项目的 ID。
regionString云地区标识符。
regionLabelString可读的地区名称。
specObject部署规格,包括连接数、版本等。
statusString部署的当前状态(运行中、已停止、等待中)。
subscriptionBoolean是否为订阅部署。
userIDString部署所有者的用户 ID。
  • 400: 请求错误
  • 401: API Key 认证失败
  • 403: API Key 没有权限访问
  • 422: 无效的请求参数

请求示例 ​

bash
curl -u key:secret -X POST {api}/deployments \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "aliyun",
    "region": "cn-hangzhou",
    "connections": 1000,
    "tps": 1000,
    "deploymentType": "dedicatedFlex",
    "deploymentVersion": "v5",
    "projectID": "00000001",
    "freeTrial": false
  }'

响应示例 ​

json
{
    "createAt": "2025-04-17 15:30",
    "deploymentID": "i9d0961f",
    "deploymentName": "deployment-i9d0961f",
    "deploymentType": "dedicatedFlex",
    "platform": "aliyun",
    "ports": {
        "1883": {
            "status": "running",
            "protocol": "mqtt"
        },
        "8083": {
            "status": "running",
            "protocol": "ws"
        },
        "8084": {
            "status": "running",
            "protocol": "wss"
        },
        "8883": {
            "status": "running",
            "protocol": "mqtts"
        }
    },
    "projectID": "00000001",
    "region": "cn-hangzhou",
    "regionLabel": "杭州",
    "spec": {
        "connections": 1000,
        "deploymentVersion": "v5",
        "freeTraffic": 100,
        "node": 2,
        "protection": false,
        "tps": 1000,
        "version": 5.2
    },
    "status": "pending",
    "subscription": false,
    "tls": null,
    "userID": "00000001"
}