ApplyToken - 创建临时访问 Token

更新时间:

Token鉴权方式下,云消息队列 MQTT 版服务端会颁发Token(临时凭证)给客户端,客户端访问云消息队列 MQTT 版服务端时需要携带Token用于权限验证。 本接口用于向云消息队列 MQTT 版申请临时Token。

接口说明

  • 单用户请求频率限制为 100 次/秒。如有特殊需求,请联系云消息队列 MQTT 版技术支持,钉钉群号:35228338。
  • 每成功调用一次 ApplyToken 接口,都会计算为一次消息 TPS,从而影响您的计费。计费详情,请参见计费说明

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
mq:ApplyTokencreate
*Instance
acs:mq:{#regionId}:{#accountId}:{#InstanceId}

请求参数

名称类型必填描述示例值
Resourcesstring

资源名称,即云消息队列 MQTT 版的 Topic,多个 Topic 以逗号(,)分隔,每个 Token 最多运行操作 100 个资源。当有多个 Topic 时,需要按照字典顺序排序。 申请 Token 时注册的资源参数支持 MQTT 通配符语法,包含加号单级通配符(+)和井号多级通配符(#)。

例如,如果申请 Token 时指定 Resources 为“Topic1/+”,则客户端可以操作“Topic1/xxx”的任意 Topic;如果申请 Token 时指定 Resources 为“Topic1/#”,则客户端可以操作“Topic1/xxx/xxx/xxx”的任意多级 Topic。

说明 云消息队列 MQTT 版支持匹配子级 Topic,子级 Topic 无需在控制台创建,直接在消息收发代码中设置即可。Topic 名称中的正斜线(/)用于分隔父级 Topic 和各子级 Topic。更多信息,请参见基本概念
TopicA/+
InstanceIdstring

云消息队列 MQTT 版实例的 ID,一定要和客户端实际使用的实例 ID 匹配。该实例 ID 在控制台实例详情页面获取。

post-cn-0pp12gl****
ExpireTimelong

Token 失效的毫秒时间戳。允许设置的失效最小间隔是 60 秒,最长为 30 天。如果输入的取值超过 30 天,申请接口不会报错,但实际生效时间为 30 天。

示例:如果 Token 的失效间隔需设置为 60 秒,当前的系统时间毫秒时间戳为 1609434061000,那么该参数的取值需设置为 1609434121000,即 1609434061000+60x1000 之和。

1609434121000
Actionsstring

Token 的权限类型,取值说明如下:

  • R:只有读权限,即只能订阅指定的 Topic,不能向 Topic 生产消息。
  • W:只有写权限,即只能向指定 Topic 生产消息,不能订阅指定 Topic。
  • R,W:同时拥有读和写的权限,即同时拥有向指定 Topic 生产消息或订阅指定 Topic 的权限。RW 之间需要用逗号(,)隔开。
R
说明 更多参数说明请参见公共参数服务接入点

返回参数

名称类型描述示例值
object
Tokenstring

服务端返回的 Token 值。

说明 请勿对返回的 Token 内容做任何长度、格式或规则的假设。以具体返回值为准。
LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==
RequestIdstring

公共参数,每个请求的 ID 都是唯一的。

31782AAF-D0CC-44C3-ABFD-1B500276****

示例

正常返回示例

JSON格式

{
  "Token": "LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==",
  "RequestId": "31782AAF-D0CC-44C3-ABFD-1B500276****"
}

错误码

HTTP status code错误码错误信息描述
400ApplyTokenOverFlowYou have applied for tokens too many times. Please try again later.申请Token频率过高,系统限流,请重试。
400CheckAccountInfoFailedAn error occurred while checking the account information by the STS token.解析STS Token账号信息失败。
400InstancePermissionCheckFailedAn error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.实例权限校验失败,请确认MQTT实例的所属关系以及授权策略。
400ParameterCheckFailedAn error occurred while validating the parameters. The parameters may be missing or invalid.参数校验失败,可能缺失或者传入值非法。
400PermissionCheckFailedAn error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.资源权限校验失败,请检查实例、TopicGroup ID的所属权限和授权策略。
400InvalidParameter.%sAn error occurred while validating the parameter. The parameter may be missing or invalid.参数校验失败,可能缺失或者传入值非法。
404ApiNotSupportThe specified API is not supported.当前接口不支持,请检查。
500InternalErrorAn error occurred while processing your request. Try again later.MQTT后端服务异常,请重试。
500SystemOverFlowAn error occurred while processing your request. Please try again.系统限流,请重试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
暂无变更历史