ApsaraMQ for RocketMQ oferece três métodos de consulta de mensagens: por ID da mensagem, por chave da mensagem e por tópico. Use o recurso de consulta para verificar se uma mensagem foi enviada com sucesso, inspecionar seu conteúdo e visualizar o rastro da mensagem.
Métodos de consulta
Por padrão, as mensagens no ApsaraMQ for RocketMQ ficam armazenadas por três dias. Portanto, é possível consultar apenas mensagens dos últimos três dias. Por exemplo, se o horário atual for 15:09:48 em 10 de junho de 2019, a mensagem mais antiga consultável em um tópico terá sido enviada às 15:09:48 de 7 de junho de 2019.
A tabela a seguir descreve e compara os três métodos de consulta.
|
Método de consulta |
Condição de consulta |
Tipo de correspondência |
Descrição |
|
Por ID da mensagem |
tópico + ID da mensagem |
correspondência exata |
Localiza uma mensagem específica com base no tópico e no ID da mensagem para recuperar suas propriedades. |
|
Por chave da mensagem |
tópico + chave da mensagem |
correspondência aproximada |
Encontra até 64 mensagens recentes que correspondem ao tópico e à chave especificados. Importante
Os produtores devem atribuir uma chave exclusiva a cada mensagem. Se mais de 64 mensagens compartilharem a mesma chave, algumas podem não constar nos resultados da consulta. |
|
Por tópico |
tópico + intervalo de tempo |
correspondência de intervalo |
Recupera todas as mensagens de um tópico dentro de um intervalo de tempo especificado. Esse método pode retornar um grande volume de mensagens, o que dificulta a localização de uma mensagem específica. |
Processo de consulta recomendado
Recomendamos seguir este fluxo para consultar mensagens.

Procedimento
Faça login no console do ApsaraMQ for RocketMQ. No painel de navegação à esquerda, clique em Instances.
Na barra de navegação superior, selecione uma região, como China (Hangzhou).
Na página Instances, localize a instância desejada. Na coluna Actions, clique em More e selecione Message Query na lista suspensa.
-
Na página Message Query, escolha um método de consulta, insira as informações necessárias e clique em Search.
-
Query by Message ID
Para consultar uma mensagem específica por correspondência exata, insira o tópico e o ID da mensagem. Registrar o ID da mensagem após um envio bem-sucedido simplifica a solução de problemas.
O código a seguir mostra como obter o ID da mensagem com o SDK Java.
SendResult sendResult = producer.send(msg); String msgId = sendResult.getMessageId();Para outras linguagens, consulte Visão geral da referência do SDK.
-
Query by Message Key
O ApsaraMQ for RocketMQ cria um índice para mensagens com base na chave definida. Ao buscar uma mensagem pela chave, o ApsaraMQ for RocketMQ usa esse índice para localizar e retornar as mensagens correspondentes.
ImportanteDefina a chave da mensagem ao enviá-la para usar este método de consulta.
A consulta por chave retorna apenas as 64 mensagens correspondentes mais recentes. Use chaves exclusivas e identificáveis pelo contexto de negócio.
O código abaixo demonstra como definir uma chave de mensagem.
Message msg = new Message("Topic","*","Hello MQ".getBytes()); /** * Set a unique business key for message retrieval. A globally unique key is recommended. * This allows you to query the message in the ApsaraMQ for RocketMQ console if you fail to receive it. * If you do not set a key, message sending and receiving are not affected, but key-based queries will not work. */ msg.setKey("TestKey"+System.currentTimeMillis()); -
Query by Topic
Use este método quando não souber o ID ou a chave da mensagem. Especifique um tópico e um intervalo de tempo para recuperar todas as mensagens enviadas nesse período.
ImportanteAo consultar mensagens por tópico:
Essa correspondência de intervalo pode retornar muitas mensagens. Reduza o intervalo de tempo ao máximo para limitar os resultados.
Os resultados são paginados porque a consulta pode retornar um volume elevado de mensagens.
-
Resultados da consulta
Visualize as mensagens consultadas na página Message Query do console. Os resultados incluem ID da mensagem, tag, chave, hora de produção e hora de armazenamento. Você também pode consultar rastros de mensagens, verificar o consumo ou baixe mensagens.
Verificação de consumo
O ApsaraMQ for RocketMQ oferece um recurso de verificação de consumo. Essa funcionalidade permite enviar uma mensagem específica para um cliente online, testar sua lógica de consumo e validar os resultados.
A verificação de consumo é apenas uma ferramenta de teste para a lógica do cliente. Ela não afeta a entrega normal de mensagens nem altera o status de consumo da mensagem.
Na caixa de diálogo de verificação de consumo, selecione um group ID e um client ID e clique em OK. A verificação de consumo pode causar a reentrega da mensagem.
Referências
Nos resultados da consulta, visualize o rastro da mensagem para verificar seu status e resultado de consumo. Para mais informações, consulte consulta de rastros de mensagens.