Consulta o status de consumo de uma mensagem específica.
Observação
Use esta operação para verificar se uma mensagem específica foi consumida. Se a mensagem não tiver sido consumida, utilize as informações retornadas para solucionar o problema.
Esta operação consulta dados com base no mecanismo de offset padrão do Message Queue for Apache RocketMQ. Geralmente, os resultados são precisos. No entanto, se você redefiniu o offset do consumidor ou limpou mensagens da fila, os resultados podem estar incorretos.
Limite de solicitações
Cada conta Alibaba Cloud pode chamar esta operação até 10 vezes por segundo. Se o número de solicitações enviadas dentro de um segundo atingir esse limite, novas requisições falharão, o que pode interromper seus serviços. Para mais detalhes sobre os limites de cada operação, consulte Limites de solicitação de API.
Autorização
Contas Alibaba Cloud têm permissão nativa para chamar esta operação. Usuários do Resource Access Management (RAM) precisam receber as permissões necessárias antes de executá-la. A tabela abaixo descreve as permissões obrigatórias para usuários RAM. Para saber como conceder acesso, consulte Políticas.
|
API |
Action |
Recurso em instância com namespace |
Recurso em instância sem namespace |
|
OnsMessageTrace |
mq:QueryInstanceBaseInfo mq:QueryMessageTrace |
acs:mq:::{instanceId}%{topic} |
acs:mq:::{topic} |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
Action |
String |
Sim |
OnsMessageTrace |
Operação a ser executada. Defina o valor como OnsMessageTrace. |
|
Topic |
String |
Sim |
test-mq_topic |
Tópico onde a mensagem consultada está armazenada. |
|
MsgId |
String |
Sim |
1E05791C117818B4AAC23B1BB0CE**** |
ID da mensagem a ser consultada. |
|
InstanceId |
String |
Sim |
MQ_INST_111111111111_DOxxxxxx |
ID da instância do Message Queue for Apache RocketMQ que contém a mensagem alvo. |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | EAE5BE23-37A1-4354-94D6-E44AE17E**** | ID da solicitação. O sistema gera um identificador único para cada requisição, útil para solução de problemas. |
| Data | Array of MessageTrack | Dados retornados pela operação. |
|
| MessageTrack | |||
| TrackType | String | CONSUMED | Status atual da mensagem. Valores válidos:
|
| ConsumerGroup | String | GID_test_group_id | ID do grupo de consumidores que assina o tópico. |
| InstanceId | String | MQ_INST_111111111111_DOxxxxxx | ID da instância do Message Queue for Apache RocketMQ onde a mensagem reside. |
Exemplos
Exemplo de solicitação
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsMessageTrace
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&MsgId=1E05791C117818B4AAC23B1BB0CE****
&Topic=test-mq_topic
&<Common request parameters>
Exemplo de resposta de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsMessageTraceResponse>
<Data>
<MessageTrack>
<InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>
<ConsumerGroup>GID_test_group_id</ConsumerGroup>
<TrackType>CONSUMED</TrackType>
</MessageTrack>
</Data>
<RequestId>EAE5BE23-37A1-4354-94D6-E44AE17****</RequestId>
</OnsMessageTraceResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Data" : {
"MessageTrack" : [ {
"InstanceId" : "MQ_INST_111111111111_DOxxxxxx",
"ConsumerGroup" : "GID_test_group_id",
"TrackType" : "CONSUMED"
} ]
},
"RequestId" : "EAE5BE23-37A1-4354-94D6-E44AE17E****"
}
Códigos de erro
Para obter uma lista completa dos códigos de erro, acesse o API Error Center.
Consultar o status de consumo de uma mensagem no console
No Message Queue for Apache RocketMQ console, é possível verificar o status de consumo das mensagens. Para mais instruções, consulte Consultar rastreamento de mensagem.