Consulta por página los mensajes publicados en un topic específico dentro de un intervalo de tiempo determinado.
Nota
Si desconoce el ID o la clave del mensaje que desea consultar, llame a esta operación para obtener todos los mensajes publicados en un topic durante un intervalo de tiempo específico. Los resultados se muestran paginados.
-
Se recomienda especificar un intervalo de tiempo corto para consultar mensajes. Si define un periodo muy amplio, se devolverá una gran cantidad de mensajes y tardará más en localizar el que necesita. Siga estos pasos para consultar mensajes:
1. Especifique los parámetros Topic, BeginTime, EndTime y PageSize para consultar la información de los mensajes en el topic indicado. De forma predeterminada, se devuelve la información de los mensajes de la primera página, el número total de páginas y el ID de la tarea.
2. Especifique el ID de la tarea y un número de página para volver a llamar a esta operación y consultar los mensajes de dicha página. En esta consulta, los parámetros BeginTime, EndTime y PageSize no surten efecto. El sistema utiliza los valores de estos parámetros que usted especificó en la solicitud para crear la tarea de consulta.
Límites de solicitud
Cada cuenta de Alibaba Cloud puede llamar a esta operación hasta 10 veces por minuto. Si el número de solicitudes enviadas en un minuto alcanza el límite, las nuevas solicitudes fallarán. Esto podría interrumpir su servicio. Para obtener información sobre los límites de solicitud de cada operación, consulte Límites de solicitud de API.
Autorización
Las cuentas de Alibaba Cloud pueden llamar a esta operación de forma predeterminada. Un usuario de Resource Access Management (RAM) solo puede ejecutarla si cuenta con los permisos necesarios. La siguiente tabla describe los permisos que se deben otorgar a un usuario de RAM para llamar a esta operación. Para obtener información sobre cómo conceder permisos, consulte Políticas.
|
API |
Action |
Recurso en una instancia que usa namespace |
Recurso en una instancia que no usa namespace |
|
OnsMessagePageQueryByTopic |
mq:QueryInstanceBaseInfo mq:QueryMessage |
acs:mq:::{instanceId}%{topic} |
acs:mq:::{topic} |
Parámetros de solicitud
|
Parámetro |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
Action |
String |
Sí |
OnsMessagePageQueryByTopic |
La operación que desea realizar. Establezca el valor como OnsMessagePageQueryByTopic. |
|
Topic |
String |
Sí |
test-mq_topic |
El topic donde se almacenan los mensajes que desea consultar. |
|
BeginTime |
Long |
Sí |
1570723200000 |
Inicio del intervalo de tiempo a consultar. El valor es una marca de tiempo UNIX que representa el número de milisegundos transcurridos desde la época (1 de enero de 1970, 00:00:00 UTC). Si especifica un valor válido para el parámetro TaskId en la solicitud, este parámetro no surte efecto. El sistema utiliza el valor del parámetro BeginTime que usted definió en la solicitud para crear la tarea de consulta. |
|
EndTime |
Long |
Sí |
1570809600000 |
Fin del intervalo de tiempo a consultar. El valor es una marca de tiempo UNIX que representa el número de milisegundos transcurridos desde la época (1 de enero de 1970, 00:00:00 UTC). Si especifica un valor válido para el parámetro TaskId en la solicitud, este parámetro no surte efecto. El sistema utiliza el valor del parámetro EndTime que usted definió en la solicitud para crear la tarea de consulta. |
|
TaskId |
String |
No |
0BC1310300002A9F000021E4D7A48346 |
ID de la tarea de consulta. La primera vez que llama a esta operación para consultar información sobre mensajes publicados en un topic durante un intervalo específico, este parámetro no es obligatorio. Es necesario en consultas subsecuentes para obtener mensajes de una página determinada. Puede obtener el ID de la tarea del resultado devuelto en la primera consulta. |
|
CurrentPage |
Integer |
Sí |
2 |
Número de página a devolver. Las páginas comienzan en la 1. Valores válidos: de 1 a 50. |
|
PageSize |
Integer |
No |
5 |
Número de entradas a devolver por página. Valores válidos: de 5 a 50. Valor predeterminado: 20. Si especifica un valor válido para el parámetro TaskId en la solicitud, este parámetro no surte efecto. El sistema utiliza el valor del parámetro PageSize que usted definió en la solicitud para crear la tarea de consulta. |
|
InstanceId |
String |
Sí |
MQ_INST_111111111111_DOxxxxxx |
ID de la instancia de Message Queue for Apache RocketMQ que contiene el topic. |
Para obtener más información sobre los parámetros de solicitud, consulte
y
.
Parámetros de respuesta
| Parámetro | Tipo | Ejemplo | Descripción |
| RequestId | String | 5DC2A47E-2B31-4722-96C8-FA59C9***** | ID de la solicitud. El sistema genera un ID único para cada solicitud. Puede utilizar este ID para solucionar problemas. |
| MsgFoundDo | Object | Información devuelta. | |
| CurrentPage | Long | 1 | Número de la página devuelta. |
| MsgFoundList | Array of OnsRestMessageDo | Información sobre los mensajes en la página devuelta. La información contenida en este parámetro es idéntica a la que devuelve la operación OnsMessageGetByMsgId. | |
| OnsRestMessageDo | |||
| StoreSize | Integer | 406 | Tamaño del mensaje. Unidad: KB. |
| ReconsumeTimes | Integer | 1 | Número de reintentos realizados para consumir el mensaje. |
| StoreTimestamp | Long | 1570760999811 | Momento en que el mensaje se publicó en el broker de Message Queue for Apache RocketMQ. El valor es una marca de tiempo UNIX que representa el número de milisegundos transcurridos desde la época (1 de enero de 1970, 00:00:00 UTC). |
| InstanceId | String | MQ_INST_111111111111_DOxxxxxx | ID de la instancia. |
| MsgId | String | 1E0578FE110F18B4AAC235C05F2***** | ID del mensaje. |
| StoreHost | String | 11.193.***.***:10911 | Servidor de Message Queue for Apache RocketMQ que almacena el mensaje. |
| Topic | String | test-mq_topic | Topic donde se almacena el mensaje. |
| PropertyList | Array of MessageProperty | Propiedades del mensaje. | |
| MessageProperty | |||
| Value | String | TagA | Valor de la propiedad. |
| Name | String | TAGS | Nombre de la propiedad. Valores válidos:
Para obtener más información sobre los términos utilizados en Message Queue for Apache RocketMQ, consulte Términos. |
| BornTimestamp | Long | 1570760999721 | Momento en que se generó el mensaje. El valor es una marca de tiempo UNIX que representa el número de milisegundos transcurridos desde la época (1 de enero de 1970, 00:00:00 UTC). |
| BodyCRC | Integer | 914112295 | Valor de verificación de redundancia cíclica (CRC) del cuerpo del mensaje. |
| BornHost | String | 42.120.***.***:59270 | Cliente productor que generó el mensaje. |
| MaxPageCount | Long | 400 | Número total de páginas de resultados. |
| TaskId | String | 0BC1310300002A9F000021E4D7A48346 | ID de la tarea de consulta. Este parámetro se devuelve la primera vez que llama a esta operación para consultar mensajes publicados en un topic durante un intervalo específico. Puede usar el ID de la tarea para consultar mensajes en otras páginas de resultados. |
Ejemplos
Solicitudes de ejemplo
http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsMessagePageQueryByTopic
&BeginTime=1570723200000
&CurrentPage=2
&EndTime=1570809600000
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&Topic=test-mq_topic
&<Common request parameters>
Respuestas exitosas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<OnsMessagePageQueryByTopicResponse>
<MsgFoundDo>
<MaxPageCount>400</MaxPageCount>
<MsgFoundList>
<OnsRestMessageDo>
<MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>
<InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>
<ReconsumeTimes>1</ReconsumeTimes>
<BornHost>42.120.***.***:59270</BornHost>
<StoreTimestamp>1570760999811</StoreTimestamp>
<StoreHost>11.193.***.***:10911</StoreHost>
<BodyCRC>914112295</BodyCRC>
<Topic>test-mq_topic</Topic>
<BornTimestamp>1570760999721</BornTimestamp>
<StoreSize>406</StoreSize>
<PropertyList>
<MessageProperty>
<Name>TAGS</Name>
<Value>TagA</Value>
</MessageProperty>
</PropertyList>
</OnsRestMessageDo>
</MsgFoundList>
<TaskId>0BC1310300002A9F000021E4D7A48346</TaskId>
<CurrentPage>1</CurrentPage>
</MsgFoundDo>
<RequestId>5DC2A47E-2B31-4722-96C8-FA59C9*****</RequestId>
</OnsMessagePageQueryByTopicResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"MsgFoundDo" : {
"MaxPageCount" : 400,
"MsgFoundList" : {
"OnsRestMessageDo" : [ {
"MsgId" : "1E0578FE110F18B4AAC235C05F2*****",
"ReconsumeTimes" : 1,
"BornHost" : "42.120.***.***:59270",
"StoreTimestamp" : 1570760999811,
"StoreHost" : "11.193.***.***:10911",
"BodyCRC" : 914112295,
"Topic" : "test-mq_topic",
"BornTimestamp" : 1570760999721,
"StoreSize" : 406,
"PropertyList" : {
"MessageProperty" : [ {
"Name" : "TAGS",
"Value" : "TagA"
} ]
}
} ]
},
"TaskId" : "0BC1310300002A9F000021E4D7A48346",
"CurrentPage" : 1
},
"RequestId" : "5DC2A47E-2B31-4722-96C8-FA59C9*****"
}
Códigos de error
Para consultar la lista de códigos de error, visite el Centro de errores de API.
Consultar información de mensajes en la consola
En la consola de Message Queue for Apache RocketMQ, puede consultar la información de un mensaje. Para obtener más detalles, consulte Consultar un mensaje.