Envoie un message unique depuis une application hébergée sur un serveur cloud vers ApsaraMQ for MQTT.
Scénarios
Une application exécutée sur un serveur cloud appelle l'opération SendMessage. Cette opération complète celle qu'utilise un client ApsaraMQ for MQTT pour envoyer des messages. Pour en savoir plus sur les différences entre l'envoi de messages depuis une application sur un serveur cloud et l'envoi depuis un client ApsaraMQ for MQTT, consultez le Guide du développeur.
Avant d'appeler l'opération SendMessage, vérifiez que la version du noyau de votre instance ApsaraMQ for MQTT est la V3.3.0 ou une version ultérieure. Vous pouvez consulter cette information sur la page Instance Details de la console ApsaraMQ for MQTT.
Les messages envoyés via l'opération SendMessage ne peuvent pas être exportés vers Message Queue for Apache RocketMQ. Pour exporter des messages du broker ApsaraMQ for MQTT vers Message Queue for Apache RocketMQ, utilisez le SDK ApsaraMQ for MQTT.
Limites
L'opération SendMessage prend en charge un débit maximal de 1 000 requêtes par seconde (QPS). Pour plus d'informations, consultez les Limites QPS.
Chaque appel réussi à l'opération SendMessage compte comme une transaction de message par seconde (TPS). De cette manière, vous êtes facturé pour l'appel. Pour plus de détails sur la facturation, consultez la rubrique Facturation.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | SendMessage |
L'opération à effectuer. Définissez la valeur sur SendMessage. |
| InstanceId | String | Oui | post-cn-0pp12gl**** |
ID de l'instance ApsaraMQ for MQTT. La valeur doit correspondre à l'ID d'instance utilisé par le client ApsaraMQ for MQTT. Vous trouverez l'ID d'instance dans la section Basic Information de la page Instance Details de l'instance, dans la console ApsaraMQ for MQTT. |
| MqttTopic | String | Oui | TopicA |
Topic de l'instance ApsaraMQ for MQTT vers lequel le message est envoyé. Pour plus d'informations sur les topics, consultez les Termes. |
| Payload | String | Oui | test |
Contenu du message (charge utile). Nous vous recommandons d'encoder le contenu en Base64 pour éviter la transmission de caractères non imprimables. |
| RegionId | String | Oui | cn-hangzhou |
ID de région de l'instance ApsaraMQ for MQTT. |
Pour plus d'informations sur les autres paramètres, consultez les rubriques Paramètres communs et Endpoints.
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| MsgId | String | 0B736D997B7F45FF54E61C1C1B58**** |
ID unique du message. Le broker ApsaraMQ for MQTT renvoie cet ID après l'envoi du message. |
| RequestId | String | 020F6A43-19E6-4B6E-B846-44EB31DF**** |
ID de la requête. |
Exemples
Exemples de requêtes
http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=SendMessage
&InstanceId=post-cn-0pp12gl****
&MqttTopic=TopicA
&Payload=test
&RegionId=cn-hangzhou
&<Common request parameters>|
Exemples de réponses réussies
Format XML
<SendMessageResponse>
<RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>
<MsgId>0B736D997B7F45FF54E61C1C1B58****</MsgId>
</SendMessageResponse>
Format JSON
{
"RequestId": "020F6A43-19E6-4B6E-B846-44EB31DF****",
"MsgId": "0B736D997B7F45FF54E61C1C1B58****"
}
Codes d'erreur
| Code d'état HTTP | Code d'erreur | Message d'erreur | Description |
| 404 | ApiNotSupport | The specified API is not supported. | L'opération n'est pas prise en charge. |
| 400 | CheckAccountInfoFailed | An error occurred while checking the account information by the STS token. | Échec de l'analyse des informations de compte associées au jeton Security Token Service (STS). |
| 400 | InstancePermissionCheckFailed | An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings. | Échec de la vérification des autorisations de l'instance ApsaraMQ for MQTT. Vérifiez la propriété et la stratégie d'autorisation de l'instance. |
| 500 | InternalError | An error occurred while processing your request. Try again later. | Le service backend de l'instance ApsaraMQ for MQTT rencontre une anomalie. Réessayez. |
| 400 | ParameterCheckFailed | An error occurred while validating the parameters. The parameters may be missing or invalid. | Échec de la vérification du paramètre. Celui-ci est peut-être manquant ou invalide. |
| 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. | Échec de la vérification des autorisations des ressources. Vérifiez les autorisations et les stratégies d'autorisation de l'instance, du topic et de l'ID de groupe. |
| 500 | SendMessageFailed | A storage exception occurred while sending the message. Please try again. | Échec de l'envoi du message en raison d'une anomalie du stockage backend. Réessayez. |
| 500 | SystemOverFlow | An error occurred while processing your request. Please try again. | La limitation de débit (throttling) est déclenchée. Réessayez. |
| 400 | InvalidParameter.%s | An error occurred while validating the parameter. The parameter may be missing or invalid. | Échec de la vérification du paramètre. Celui-ci est peut-être manquant ou invalide. |
Pour obtenir la liste des codes d'erreur, visitez le Centre d'erreurs API.