All Products
Search
Document Center

ApsaraMQ for MQTT:SendMessage

Last Updated:Dec 26, 2024

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

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
MqttTopicstringYes

The topic to which you want to send a message on the ApsaraMQ for MQTT instance.

TopicA
InstanceIdstringYes

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****
PayloadstringYes

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

ParameterTypeDescriptionExample
object
MsgIdstring

The unique message ID that is returned by the ApsaraMQ for MQTT broker after the message is sent.

0B736D997B7F45FF54E61C1C1B58****
RequestIdstring

The unique ID that the system generates for the request. This parameter is a common parameter.

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

Examples

Sample success responses

JSONformat

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

Error codes

HTTP status codeError codeError message
400CheckAccountInfoFailedAn error occurred while checking the account information by the STS token.
400InstancePermissionCheckFailedAn error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.
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.
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.
500SendMessageFailedA storage exception occurred while sending the message. Please try again.
500SystemOverFlowAn error occurred while processing your request. Please try again.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
No change history