Consulta os rastros de entrega de uma mensagem específica. Se uma mensagem não for enviada e recebida conforme o esperado, chame esta operação para visualizar os detalhes da mensagem. Por exemplo, consulte os clientes que assinam a mensagem e o momento da entrega. Esta operação ajuda a localizar e identificar a causa do problema.
Faturamento
Cada chamada bem-sucedida à operação QueryMqttTraceMessageSubscribe incrementa em um as transações de mensagens por segundo (TPS). Portanto, essa chamada é cobrada. Para mais detalhes sobre o faturamento, consulte Faturamento.
Limite de QPS
O limite de consultas por segundo (QPS) desta operação é de 500 por usuário. O sistema aciona o throttling se o número de chamadas ultrapassar esse valor. Como o throttling pode afetar seus negócios, utilize esta operação conforme a necessidade. Para mais informações, consulte Limites de QPS.
Depuração
Parâmetros da solicitação
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | QueryMqttTraceMessageSubscribe | A operação a ser executada. Defina o valor como QueryMqttTraceMessageSubscribe. |
| MqttRegionId | String | Yes | cn-hangzhou | O ID da região da instância do ApsaraMQ forMQTT. Para mais informações, consulte Endpoints. |
| InstanceId | String | Yes | mqtt-cn-i7m26mf**** | O ID da instância do ApsaraMQ forMQTT. O valor deve corresponder ao ID da instância utilizado no cliente ApsaraMQ forMQTT. Visualize o ID da instância na seção Basic Information da página Instance Details da instância no console do ApsaraMQ forMQTT. |
| ClientId | String | Yes | GID_test@@@consumer | O ID do cliente que assina a mensagem. Se este parâmetro não for especificado, a resposta retornará os IDs de todos os clientes que assinam a mensagem. |
| MsgId | String | Yes | AC1EC1B33D5978308DB17F3245E4**** | O ID da mensagem. |
| EndTime | Long | Yes | 1618646400000 | O fim do intervalo de tempo da consulta. Este valor é um timestamp UNIX que representa o número de milissegundos decorridos desde a época (1º de janeiro de 1970, 00:00:00 UTC). Unidade: milissegundos. |
| BeginTime | Long | Yes | 1621936800000 | O início do intervalo de tempo da consulta. Este valor é um timestamp UNIX que representa o número de milissegundos decorridos desde a época (1º de janeiro de 1970, 00:00:00 UTC). Unidade: milissegundos. |
| CurrentPage | Integer | Yes | 1 | O número da página a ser retornada. A numeração começa em 1. Se o valor do parâmetro de entrada for maior que o número total de páginas, o resultado retornado será vazio. |
| PageSize | Integer | Yes | 5 | A quantidade de entradas a serem retornadas em cada página. Valores válidos: 1 a 100. |
| Reverse | Boolean | Yes | false | Define se os resultados retornados aparecem em ordem cronológica inversa. Valores válidos:
Se este parâmetro não for especificado, os resultados retornados seguirão a ordem cronológica de entrega da mensagem. |
Parâmetros de resposta
| Parameter | Type | Example | Description |
| RequestId | String | 4E685844-ADAF-4D85-9EAC-F9471E8C**** | O ID da solicitação. Trata-se de um parâmetro comum. Cada solicitação possui um ID exclusivo, o que facilita a solução de problemas e a localização de falhas. |
| Total | Long | 2 | O número total de rastros de entrega retornados. |
| CurrentPage | Integer | 1 | O número da página retornada. |
| PageSize | Integer | 5 | A quantidade de entradas retornadas em cada página. |
| MessageTraceLists | Array of MessageTraceLists | Os rastros de entrega da mensagem consultada. | |
| Action | String | sub | A ação na mensagem. Valores válidos:
|
| ActionCode | String | mqtt.trace.action.msg.sub | O código retornado para a ação na mensagem. Valores válidos:
|
| ActionInfo | String | Push To Mqtt Client | As informações retornadas para a ação na mensagem. Valores válidos:
|
| ClientId | String | GID_test@@@consumer | O ID do cliente que assina a mensagem. |
| MsgId | String | AC1EC1B33D5978308DB17F3245E4**** | O ID da mensagem. |
| Time | String | 2021-05-25 16:46:41.274 | O horário de entrega da mensagem. |
Exemplos
Exemplos de solicitações
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>
Exemplos de respostas de sucesso
Formato 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>
Formato 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
}
Códigos de erro
|
HttpCode |
Error code |
Error message |
Description |
|
404 |
ApiNotSupport |
The specified API operation is not supported. |
Mensagem de erro retornada porque a operação da API não é suportada. |
|
500 |
SystemOverFlow |
An error occurred while processing your request. Please try again. |
Mensagem de erro retornada porque o sistema acionou o throttling. Tente novamente mais tarde. |
Para obter uma lista de códigos de erro, visite o API Error Center.
Operações no console do ApsaraMQ forMQTT
Além de chamar a operação QueryMqttTraceMessageSubscribe, visualize os rastros de entrega de uma mensagem diretamente no console do ApsaraMQ forMQTT. Para mais informações, consulte Consultar rastros de mensagens.