调用SendMessage从服务端应用向微消息队列MQTT版发送单条消息。

使用场景

SendMessage接口为服务端应用调用,与MQTT客户端发送消息相互互补。服务端和客户端的使用场景区别,请参见开发指南使用指引

说明 调用SendMessage接口前,请确认您的微消息队列MQTT版实例的内核版本为V3.3.0或以上版本。内核版本信息可在控制台实例详情页面获取。

使用限制

SendMessage接口的QPS限制为1000。更多信息,请参见QPS限制

说明 每成功调用一次SendMessage接口,都会计算为一次消息TPS,从而影响您的计费。计费详情,请参见计费说明

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String SendMessage

系统规定参数。取值:SendMessage

InstanceId String post-cn-0pp12gl****

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

MqttTopic String TopicA

将消息发往的微消息队列MQTT版的Topic。Topic的详细说明请参见名词解释

Payload String test

消息内容,即消息负载。建议自行做Base64编码,避免传输不可见字符。

RegionId String cn-hangzhou

微消息队列MQTT版实例所在地域(Region)。

说明 更多参数说明请参见公共参数服务接入点

返回数据

名称 类型 示例值 描述
MsgId String 0B736D997B7F45FF54E61C1C1B58****

消息的唯一标识,消息发送成功后服务端会返回消息ID。

RequestId String 020F6A43-19E6-4B6E-B846-44EB31DF****

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

示例

请求示例

http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=SendMessage
&InstanceId=post-cn-0pp12gl****
&MqttTopic=TopicA
&Payload=test
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML格式

<SendMessageResponse>
        <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>
        <MsgId>0B736D997B7F45FF54E61C1C1B58****</MsgId>
</SendMessageResponse>

JSON格式

{
    "RequestId": "020F6A43-19E6-4B6E-B846-44EB31DF****",
    "MsgId": "0B736D997B7F45FF54E61C1C1B58****"
}

错误码

HttpCode 错误码 错误信息 描述
404 ApiNotSupport The specified API is not supported. 当前接口不支持,请检查。
400 CheckAccountInfoFailed An error occurred while checking the account information by the STS token. 解析STS Token账号信息失败。
400 InstancePermissionCheckFailed An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings. 实例权限校验失败,请确认MQTT实例的所属关系以及授权策略。
500 InternalError An error occurred while processing your request. Try again later. MQTT后端服务异常,请重试。
400 ParameterCheckFailed An error occurred while validating the parameters. The parameters may be missing or invalid. 参数校验失败,可能缺失或者传入值非法。
400 PermissionCheckFailed An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings. 资源权限校验失败,请检查实例、Topic和Group ID的所属权限和授权策略。
500 SendMessageFailed A storage exception occurred while sending the message. Please try again. 由于后端存储异常,消息发送失败,请重试。
500 SystemOverFlow An error occurred while processing your request. Please try again. 系统限流,请重试。
400 InvalidParameter.%s An error occurred while validating the parameter. The parameter may be missing or invalid. 参数校验失败,可能缺失或者传入值非法。

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