Consulta informações de mensagens com base em uma chave de mensagem.
Observação
Esta operação usa correspondência aproximada para consultar mensagens com base em uma chave especificada. Várias mensagens podem compartilhar a mesma chave; portanto, o resultado pode conter informações de múltiplas mensagens.
-
Use esta operação quando não for possível obter o ID da mensagem desejada diretamente. Siga os passos abaixo para consultar as informações:
1. Chame esta operação para obter o ID da mensagem.
2. Chame a operação OnsMessageGetByMsgId para consultar os detalhes da mensagem. Para mais informações sobre a operação OnsMessageGetByMsgId, consulte OnsMessageGetByMsgId.
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 obter detalhes sobre os limites de cada operação, consulte Limites de solicitação de API.
Autorização
Contas Alibaba Cloud têm permissão padrão 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 a seguir descreve as permissões obrigatórias para usuários RAM. Para saber como conceder permissões, consulte Políticas.
|
API |
Action |
Recurso em uma instância com namespace |
Recurso em uma instância sem namespace |
|
OnsMessageGetByKey |
mq:QueryInstanceBaseInfo mq:QueryMessage |
acs:mq:::{instanceId}%{topic} |
acs:mq:::{topic} |
Parâmetros de solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
Action |
String |
Sim |
OnsMessageGetByKey |
A operação a ser executada. Defina o valor como OnsMessageGetByKey. |
|
Topic |
String |
Sim |
test-mq_topic |
O tópico onde a mensagem consultada está armazenada. |
|
Key |
String |
Sim |
messageKey1 |
A chave da mensagem que você deseja consultar. |
|
InstanceId |
String |
Sim |
MQ_INST_111111111111_DOxxxxxx |
O ID da instância do Message Queue for Apache RocketMQ que contém a mensagem. |
Para mais informações sobre parâmetros de solicitação, consulte
e
.
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | A07E3902-B92E-44A6-B6C5-6AA111111**** | ID da solicitação. O sistema gera um ID exclusivo para cada requisição, permitindo solucionar problemas com base nesse identificador. |
| Data | Array of OnsRestMessageDo | Dados retornados pela operação. |
|
| OnsRestMessageDo | |||
| StoreSize | Integer | 406 | Tamanho da mensagem. |
| ReconsumeTimes | Integer | 1 | Número de tentativas do broker do Message Queue for Apache RocketMQ para enviar a mensagem aos consumidores. |
| StoreTimestamp | Long | 1570760999811 | Timestamp em que o broker do Message Queue for Apache RocketMQ armazenou a mensagem. |
| InstanceId | String | MQ_INST_111111111111_DOxxxxxx | ID da instância do Message Queue for Apache RocketMQ que contém a mensagem. |
| MsgId | String | 1E0578FE110F18B4AAC235C05F2***** | ID da mensagem. |
| StoreHost | String | 11.193.***.***:10911 | Servidor do Message Queue for Apache RocketMQ que armazena a mensagem. |
| Topic | String | test-mq_topic | Tópico onde a mensagem está armazenada. |
| PropertyList | Array of MessageProperty | Propriedades da mensagem. |
|
| MessageProperty | |||
| Value | String | TagA | Valor da propriedade. |
| Name | String | TAGS | Nome da propriedade. Valores válidos:
Para mais informações sobre os termos utilizados no Message Queue for Apache RocketMQ, consulte Termos. |
| BornTimestamp | Long | 1570760999721 | Timestamp de produção da mensagem. |
| BodyCRC | Integer | 914112295 | Valor de verificação cíclica de redundância (CRC) do corpo da mensagem. |
| BornHost | String | 42.120.***.***:59270 | Cliente produtor que gerou a mensagem. |
Exemplos
Exemplos de solicitações
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsMessageGetByKey
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&Key=messageKey1
&Topic=test-mq_topic
&<Common request parameters>
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsMessageGetByKeyResponse>
<Data>
<MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>
<InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>
<ReconsumeTimes>1</ReconsumeTimes>
<BornHost>42.120.**.**:64646</BornHost>
<BodyCRC>914112295</BodyCRC>
<StoreHost>11.220.***.***:10911</StoreHost>
<StoreTimestamp>1570761026708</StoreTimestamp>
<BornTimestamp>1570761026630</BornTimestamp>
<Topic>test-mq_topic</Topic>
<StoreSize>407</StoreSize>
<PropertyList>
<MessageProperty>
<Name>TAGS</Name>
<Value>TagA</Value>
</MessageProperty>
</PropertyList>
</Data>
<RequestId>A07E3902-B92E-44A6-B6C5-6AA111111****</RequestId>
</OnsMessageGetByKeyResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Data" : {
"MsgId" : "1E0578FE110F18B4AAC235C05F2*****",
"InstanceId" : "MQ_INST_111111111111_DOxxxxxx",
"ReconsumeTimes" : 1,
"BornHost" : "42.120.**.**:64646",
"BodyCRC" : 914112295,
"StoreHost" : "11.220.***.***:10911",
"StoreTimestamp" : 1570761026708,
"BornTimestamp" : 1570761026630,
"Topic" : "test-mq_topic",
"StoreSize" : 407,
"PropertyList" : {
"MessageProperty" : [ {
"Name" : "TAGS",
"Value" : "TagA"
} ]
}
},
"RequestId" : "A07E3902-B92E-44A6-B6C5-6AA111111****"
}
Códigos de erro
Para obter uma lista de códigos de erro, visite a Central de Erros de API.
Consultar informações de mensagens no console
No Message Queue for Apache RocketMQ console, é possível consultar informações sobre mensagens. Para mais detalhes, consulte Consultar uma mensagem.