C# MQTT微消息队列 使用webapi 通过SendMessage发送消息

请求参数

名称类型是否必选示例值描述
ActionStringSendMessage

SendMessage。

InstanceIdStringpost-cn-0pp12gl****

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

MqttTopicStringTopicA

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

PayloadStringtest

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

RegionIdStringcn-hangzhou

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

返回数据

名称类型示例值描述
MsgIdString0B736D997B7F45FF54E61C1C1B58****

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

RequestIdString020F6A43-19E6-4B6E-B846-44EB31DF44D3

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

IClientProfile profile = DefaultProfile.GetProfile(“RegionId", "此处填写阿里云帐号 AccessKey", "此处填写阿里云帐号 SecretKey");
DefaultAcsClient client = new DefaultAcsClient(profile);

var request = new SendMessageRequest();
request.InstanceId = "InstanceId";
request.Payload = "Payload";
request.MqttTopic = "MqttTopic";
resop resop = new resop();
try
{
  var response = client.GetAcsResponse(request);
  var s = System.Text.Encoding.Default.GetString(response.HttpResponse.Content);
  cunt cunt = JsonConvert.DeserializeObject<cunt>(s);
  if (cunt.MsgId!=null&&cunt.MsgId!="")
  {
    resop.code = 200;
    resop.msg = "发送成功";
  }
  return resop;
}
catch (ServerException e)
{
  resop.code = 202;
  resop.msg = "服务端异常";
  return resop;
}
catch (ClientException e)
{
  resop.code = 202;
  resop.msg = "客户端异常";
  return resop;
}