Sends a single message from an application on a cloud server to ApsaraMQ for MQTT.
Operation description
- The SendMessage operation is called by applications on cloud servers. It is complementary to the operation that is called by ApsaraMQ for MQTT clients to send messages. For information about the differences between the scenarios of sending messages from applications on cloud servers and the scenarios of sending messages from ApsaraMQ for MQTT clients, see Developer guide.
- Before you call the SendMessage operation, make sure that the kernel version of your ApsaraMQ for MQTT instance is 3.3.0 or later. You can obtain the information about the kernel version on the Instance Details page that corresponds to the instance in the ApsaraMQ for MQTT console.
- Messages that are sent by calling the SendMessage operation cannot be forwarded to ApsaraMQ for RocketMQ. If you want to use an ApsaraMQ for MQTT to forward messages to ApsaraMQ for RocketMQ, send the messages by using an SDK. For more information, see Export data from ApsaraMQ for MQTT to other Alibaba Cloud services. You can call the SendMessage operation up to 1,000 times per second. For more information, see Limits on QPS.
- Each successful call to the SendMessage operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For information about the billing details, see Billing rules.
Debugging
Authorization information
There is currently no authorization information disclosed in the API.
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
MqttTopic | string | Yes | The topic to which you want to send a message on the ApsaraMQ for MQTT instance. | TopicA |
InstanceId | string | Yes | The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can view the instance ID in the Basic Information section on the Instance Details page that corresponds to the instance in the ApsaraMQ for MQTT console. | post-cn-0pp12gl**** |
Payload | string | Yes | The message content, which is the payload of the message. We recommend that you encode the content in Base64 to prevent non-printable characters from being transmitted. | test |
Note
For information about other parameters, see Common parameters and Endpoints .
Response parameters
Examples
Sample success responses
JSON
format
{
"MsgId": "0B736D997B7F45FF54E61C1C1B58****",
"RequestId": "020F6A43-19E6-4B6E-B846-44EB31DF****"
}
Error codes
HTTP status code | Error code | Error message |
---|---|---|
400 | CheckAccountInfoFailed | An error occurred while checking the account information by the 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. |
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. |
400 | InvalidParameter.%s | An error occurred while validating the parameter. The parameter may be missing or invalid. |
404 | ApiNotSupport | The specified API is not supported. |
500 | InternalError | An error occurred while processing your request. Try again later. |
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. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|
No change history