Interroge les traces de distribution d'un message spécifié. Si un message n'est pas envoyé ni reçu comme prévu, appelez cette opération pour afficher ses détails. Vous pouvez par exemple identifier les clients abonnés au message ainsi que l'heure de distribution. Cette opération vous aide à localiser le problème et à en déterminer la cause.
Facturation
Chaque appel réussi à l'opération QueryMqttTraceMessageSubscribe augmente le nombre de transactions de messagerie par seconde (TPS) d'une unité. Cet appel est donc facturé. Pour plus d'informations sur la facturation, consultez la rubrique Facturation.
Limite de QPS
La limite de requêtes par seconde (QPS) pour cette opération est de 500 par utilisateur. Le dépassement de cette limite déclenche une limitation du débit (throttling), susceptible d'affecter votre activité. Appelez cette opération en fonction de vos besoins. Pour plus d'informations, consultez la rubrique Limites de QPS.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | QueryMqttTraceMessageSubscribe | Opération à effectuer. Définissez la valeur sur QueryMqttTraceMessageSubscribe. |
| MqttRegionId | String | Oui | cn-hangzhou | ID de région de l'instance ApsaraMQ for MQTT. Pour plus d'informations, consultez la rubrique Endpoints. |
| InstanceId | String | Oui | mqtt-cn-i7m26mf**** | ID de l'instance ApsaraMQ for MQTT. La valeur doit correspondre à l'ID d'instance utilisé sur le client ApsaraMQ for MQTT. Vous pouvez consulter l'ID d'instance dans la section Basic Information de la page Instance Details de l'instance dans la console ApsaraMQ for MQTT. |
| ClientId | String | Oui | GID_test@@@consumer | ID du client abonné au message. Si ce paramètre n'est pas spécifié, les ID de tous les clients abonnés au message sont renvoyés. |
| MsgId | String | Oui | AC1EC1B33D5978308DB17F3245E4**** | ID du message. |
| EndTime | Long | Oui | 1618646400000 | Fin de la plage de temps à interroger. Cette valeur est un horodatage UNIX représentant le nombre de millisecondes écoulées depuis l'époque (1er janvier 1970, 00:00:00 UTC). Unité : millisecondes. |
| BeginTime | Long | Oui | 1621936800000 | Début de la plage de temps à interroger. Cette valeur est un horodatage UNIX représentant le nombre de millisecondes écoulées depuis l'époque (1er janvier 1970, 00:00:00 UTC). Unité : millisecondes. |
| CurrentPage | Integer | Oui | 1 | Numéro de la page à renvoyer. La pagination commence à la page 1. Si la valeur du paramètre d'entrée est supérieure au nombre total de pages, le résultat renvoyé est vide. |
| PageSize | Integer | Oui | 5 | Nombre d'entrées à renvoyer par page. Valeurs valides : 1 à 100. |
| Reverse | Boolean | Oui | false | Indique si les résultats renvoyés sont affichés dans l'ordre chronologique inverse. Valeurs valides :
Si ce paramètre n'est pas spécifié, les résultats renvoyés sont affichés dans l'ordre de l'heure de distribution du message. |
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| RequestId | String | 4E685844-ADAF-4D85-9EAC-F9471E8C**** | ID de la requête. Il s'agit d'un paramètre commun. Chaque requête possède un ID unique, ce qui facilite le dépannage et la localisation des problèmes. |
| Total | Long | 2 | Nombre total de traces de distribution renvoyées. |
| CurrentPage | Integer | 1 | Numéro de la page renvoyée. |
| PageSize | Integer | 5 | Nombre d'entrées à renvoyer par page. |
| MessageTraceLists | Array of MessageTraceLists | Traces de distribution du message interrogé. | |
| Action | String | sub | Action effectuée sur le message. Valeurs valides :
|
| ActionCode | String | mqtt.trace.action.msg.sub | Code renvoyé pour l'action effectuée sur le message. Valeurs valides :
|
| ActionInfo | String | Push To Mqtt Client | Informations renvoyées pour l'action effectuée sur le message. Valeurs valides :
|
| ClientId | String | GID_test@@@consumer | ID du client abonné au message. |
| MsgId | String | AC1EC1B33D5978308DB17F3245E4**** | ID du message. |
| Time | String | 2021-05-25 16:46:41.274 | Heure de distribution du message. |
Exemples
Exemple de requête
http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=QueryMqttTraceMessageSubscribe
&MqttRegionId=cn-hangzhou
&InstanceId=mqtt-cn-i7m26mf****
&ClientId=GID_test@@@consumer
&MsgId=AC1EC1B33D5978308DB17F3245E4****
&EndTime=1618646400000
&BeginTime=1621936800000
&CurrentPage=1
&PageSize=5
&Reverse=false
&<Common request parameters>
Exemple de réponse réussie
Format XML
<QueryMqttTraceMessageSubscribeResponse>
<MessageTraceLists>
<Action>sub</Action>
<ActionCode>mqtt.trace.action.msg.sub</ActionCode>
<ClientId>GID_test@@@consumer</ClientId>
<ActionInfo>Push To Mqtt Client</ActionInfo>
<Time>2021-05-25 16:46:41.274 </Time>
<MsgId>AC1EC1B33D5978308DB17F3245E4****</MsgId>
</MessageTraceLists>
<MessageTraceLists>
<Action>sub</Action>
<ActionCode>mqtt.trace.action.msg.sub</ActionCode>
<ClientId>GID_test@@@consumer2</ClientId>
<ActionInfo>Push To Mqtt Client</ActionInfo>
<Time>2021-05-25 16:46:41.247 </Time>
<MsgId>AC1EC1B33D5978308DB17F3245E4****</MsgId>
</MessageTraceLists>
<RequestId>4E685844-ADAF-4D85-9EAC-F9471E8C****</RequestId>
<PageSize>5</PageSize>
<CurrentPage>1</CurrentPage>
<Total>2</Total>
</QueryMqttTraceMessageSubscribeResponse>
Format JSON
{
"MessageTraceLists": [
{
"Action": "sub",
"ActionCode": "mqtt.trace.action.msg.sub",
"ClientId": "GID_test@@@consumer",
"ActionInfo": "Push To Mqtt Client",
"Time": "2021-05-25 16:46:41.274",
"MsgId": "AC1EC1B33D5978308DB17F3245E4****"
},
{
"Action": "sub",
"ActionCode": "mqtt.trace.action.msg.sub",
"ClientId": "GID_test@@@consumer2",
"ActionInfo": "Push To Mqtt Client",
"Time": "2021-05-25 16:46:41.247",
"MsgId": "AC1EC1B33D5978308DB17F3245E4****"
}
],
"RequestId": "4E685844-ADAF-4D85-9EAC-F9471E8C****",
"PageSize": 5,
"CurrentPage": 1,
"Total": 2
}
Codes d'erreur
| HttpCode | Code d'erreur | Message d'erreur | Description |
| 404 | ApiNotSupport | The specified API operation is not supported. | L'opération API spécifiée n'est pas prise en charge. |
| 500 | SystemOverFlow | An error occurred while processing your request. Please try again. | Une erreur s'est produite lors du traitement de votre demande. Veuillez réessayer. Ce message indique que la limitation du débit a été déclenchée par le système. Réessayez ultérieurement. |
Pour obtenir la liste des codes d'erreur, visitez le Centre d'erreurs API.
Opérations dans la console ApsaraMQ for MQTT
Outre l'appel à l'opération QueryMqttTraceMessageSubscribe, vous pouvez également consulter les traces de distribution d'un message dans la console ApsaraMQ for MQTT. Pour plus d'informations, consultez la rubrique Interroger les traces de messages.