调用该接口向指定Topic发布消息。

限制说明

调试

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

请求参数

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

系统规定参数。取值:Pub。

MessageContent String aGVsbG8gd29ybGQ%3D

要发送的消息主体。您需要将消息原文转换成二进制数据,并进行Base64编码,从而生成消息主体。

ProductKey String a1Q5XoY****

要发送消息产品Key。

TopicFullName String /a1Q5XoY****/device1/user/get

要接收消息的Topic。

说明
  • 不支持系统Topic。
  • 指定Topic的操作权限须为订阅或发布和订阅。

您可以调用QueryProductTopic接口查询产品下的Topic类列表,或在设备详情页的Topic列表页签下查看设备的具体Topic。

IotInstanceId String iot_instc_pu****_c*-v64********

公共实例不传此参数;您购买的实例需传入实例ID。

Qos Integer 0

指定消息的发送方式。取值:

  • 0:最多发送一次。
  • 1:最少发送一次。

如果不传入此参数,则使用默认值0

说明 QoS=1的消息在物联网平台中最多可以保存7天。物联网平台不保存QoS=0的消息。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException

调用失败时,返回的错误码。错误码详情,请参见错误码

ErrorMessage String 系统异常

调用失败时,返回的出错信息。

MessageId String 889455942124347329

成功发送消息后,云端生成的消息ID,用于标识该消息。

RequestId String BB71E443-4447-4024-A000-EDE09922891E

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功。true表示调用成功,false表示调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=Pub
&ProductKey=a1Q5XoY****
&TopicFullName=/a1Q5XoY****/device1/user/get
&MessageContent=aGVsbG8gd29ybGQ%3D
&Qos=0
&<公共请求参数>

正常返回示例

XML 格式

<PubResponse>
        <RequestId>BB71E443-4447-4024-A000-EDE09922891E</RequestId>
        <Success>true</Success>
        <MessageId>889455942124347329</MessageId>
  </PubResponse>

JSON 格式

{
      "RequestId":"BB71E443-4447-4024-A000-EDE09922891E",
      "Success":true,
      "MessageId":889455942124347329
  }