概述
本接口用于动态调整在线 MQTT 客户端的 Keep Alive(心跳保活)时间。调用此接口后,服务端将在不中断客户端连接的情况下,立即生效新的Keep Alive 时间。
使用方法
curl --verbose --request POST -H "Authorization: Basic base64(username:password)" http://mqtt.cloud.tencent.com/keep-alive?client-id=${client-id}&interval=${seconds}
认证方式
目前支持 Basic HTTP Authentication 和基于 X509 证书的“一机一证”两种认证方式,暂未支持基于 JWT 的认证方式。
Basic HTTP Authentication
进行基本认证过程中的参数如下:
请求的HTTP头字段会包含Authorization字段,形式如下:
Authorization: Basic <credentials><credentials> = username:password 的 Base64 编码。username 会参与 ACL 授权。BYOC(基于 X.509 证书认证)
客户端信任的根证书:CA.crt
客户端证书链文件:client.chain.crt
客户端私钥文件:client.pkcs8.key
请求参数
参数名 | 是否必填 | 类型 | 说明 |
client-id | 是 | String | 客户端 ID |
interval | 是 | Integer | 新的 Keep Alive 时间,取值范围为30 ~ 1200(单位:秒) |
注意:
在调用本接口时,有以下限制:
不支持修改当前 Keep Alive 为 0 的会话:如果客户端连接时设置的 Keep Alive 为 0,则无法通过此接口修改。
不支持将 Keep Alive 修改为 0:不允许将现有连接的 Keep Alive 时间动态调整为 0。
响应参数
参数名 | 类型 | 说明 |
success | Boolean | 请求处理结果。 true 表示修改指令下发成功。 |
keepalive | Integer | 修改后的 Keep Alive 时间值(秒)。 |
请求示例
示例 1
使用 Basic Authentication
curl --request POST \\--header "Authorization: Basic c2Vpcm9saTIyMjo5NEZWUmpTejBOR0dXVmFU" \\"http://mqtt.cloud.tencent.com/keep-alive?client-id=curl-x&interval=120"
示例 2
使用 BYOC 证书认证
curl --tlsv1.2 \\--cacert CA.crt \\--cert client.chain.crt \\--key client.pkcs8.key \\--verbose \\--request POST \\"https://mqtt.cloud.tencent.com/keep-alive?client-id=curl-x&interval=120"
响应示例
响应成功示例
{"success": true,"keepalive": 120}
返回的 Status Code 说明:
1. 支持 HTTP Method:POST。
2. 支持 HTTP/HTTPS。
3. 通过 HTTP Basic Authentication 或 BYOC 实现认证, 参见 Basic Authentication。
4. 认证、授权:用户名和密码必须合法,且该账户必须有 CONNECT 权限。
5. HTTP 响应:
HTTP Status Code(状态码) | 描述 |
200 | 请求正常。 |
401 | 认证失败,用户名或者密码不正确。 |
403 | 鉴权失败,缺少 CONNECT 权限。 |
429 | 流控,Too Many Requests。 |