Skip to content

部署管理 API

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

获取部署列表

URI

GET /deployments

TIP

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

请求消息

响应消息

  • 200:
名称类型描述
connectionsNumber连接数规格。
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,
        "createAt": "2024-11-21 02:51",
        "deploymentID": "mdfba81f",
        "deploymentName": "deployment-mdfba81f",
        "deploymentType": "serverless",
        "platform": "阿里云",
        "projectName": "default",
        "region": "杭州",
        "status": "stopped",
        "version": "v5"
    },
    {
        "connections": 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连接数规格。
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,
    "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 版本的 EMQX。

请求消息

名称类型必填描述
platformString部署所在的云平台。详细支持的平台见下表。
regionString部署创建的地区。详细支持的地区见下表。
connectionsNumber部署的连接数。详细规格见下表。Serverless 部署仅支持 1,000 连接数/1,000 TPS。Dedicated 部署支持从 1,000 到 10,000 连接数不等的规格。
deploymentTypeString部署版本。必须为 "serverless" 或 "dedicated"。

支持的平台和地区

云平台名称云平台代码区域名称区域代码支持 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部署版本(专有版或 serverless)。
freeTrialBoolean是否为免费试用部署。
platformString云平台标识符。
portsObject不同协议的端口配置。
projectIDString部署所属项目的 ID。null 表示默认项目。
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,
    "deploymentType": "dedicated"
  }'

响应示例

json
{
    "createAt": "2025-04-17 15:30",
    "deploymentID": "i9d0961f",
    "deploymentName": "deployment-i9d0961f",
    "deploymentType": "dedicated",
    "freeTrial": false,
    "platform": "aliyun",
    "ports": {
        "1883": {
            "status": "running",
            "protocol": "mqtt"
        },
        "8083": {
            "status": "running",
            "protocol": "ws"
        },
        "8084": {
            "status": "running",
            "protocol": "wss"
        },
        "8883": {
            "status": "running",
            "protocol": "mqtts"
        }
    },
    "projectID": null,
    "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"
}