128
英雄聯盟
根據 MsgID 查詢消息__消息管理相關接口_Open API_消息隊列 MQ-阿裏雲
本文介紹 OnsMessageGetByMsgId 接口,該接口通過傳入 MsgId 查詢指定消息的信息,包括發送時間,存儲服務器,消息的 Key 和 Tag 等熟悉,以及是否被消費過的判斷。
1. 使用場景
消息查詢功能用於判斷消息是否發送成功,發送時間以及目標服務器等信息。
根據 MsgId 查詢消息屬於精確查詢,查詢條件需要的 MsgId 由每次發送成功的 SendResult 中獲取,因此業務方必須存儲每次發送消息的結果。
2. 請求參數列表
名稱 | 類型 | 是否必須 | 描述 |
---|---|---|---|
OnsRegionId | String | 是 | 當前查詢 MQ 所在區域,可以通過 OnsRegionList 方法獲取 |
OnsPlatform | String | 否 | 該請求來源,默認是從 POP 平台 |
PreventCache | Long | 是 | 用於 CSRF 校驗,設置為係統當前時間即可 |
MsgId | String | 是 | 需要查詢的消息的 MsgId |
Topic | String | 是 | 需要查詢的消息的 Topic |
3. 返回參數列表
名稱 | 類型 | 描述 |
---|---|---|
RequestId | String | 為公共參數,每個請求獨一無二 |
HelpUrl | String | 幫助鏈接 |
Data | Data | 查詢結果 |
Data 數據結構
名稱 | 類型 | 描述 |
---|---|---|
Topic | String | 消息的 Topic |
Flag | Integer | null |
PropertyList | List(MessageProperty) | 消息屬性列表 |
Body | String | 消息體 |
StoreSize | Integer | 消息大小 |
BornTimestamp | Long | 生成時間戳 |
BornHost | String | 生成該消息的客戶端實例 |
StoreTimestamp | Long | 被服務端存儲的時間戳 |
StoreHost | String | 存儲該消息的服務器實例 |
MsgId | String | 消息 ID |
BodyCRC | Integer | 消息體 CRC 校驗值 |
ReconsumeTimes | Integer | 消息重試消費的次數 |
4. 相關 API
- OnsMessageGetByMsgKey:根據 MsgKey 模煳匹配查詢消息
- OnsMessageGetByTopic:根據 Topic 和時間範圍查詢消息
5. 使用示例
調用示例
public static void main(String []args) {
String regionId = "cn-hangzhou";
String accessKey = "XXXXXXXXXXXXXXXXX";
String secretKey = "XXXXXXXXXXXXXXXXX";
String endPointName ="cn-hangzhou";
String productName ="Ons";
String domain ="ons.cn-hangzhou.aliyuncs.com";
/**
*根據自己需要訪問的區域選擇Region,並設置對應的接入點
*/
try {
DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
} catch (ClientException e) {
e.printStackTrace();
}
IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
IAcsClient iAcsClient= new DefaultAcsClient(profile);
OnsMessageGetByMsgIdRequest request = new OnsMessageGetByMsgIdRequest();
/**
*ONSRegionId是指你需要API訪問MQ哪個區域的資源.
*該值必須要根據OnsRegionList方法獲取的列表來選擇和配置,因為OnsRegionId是變動的,不能夠寫固定值
*/
request.setOnsRegionId("daily");
request.setPreventCache(System.currentTimeMillis());
request.setAcceptFormat(FormatType.JSON);
request.setMsgId("0ADA91A600002A9F000002ADDA8137E8");
request.setTopic("TopicTest");
try {
OnsMessageGetByMsgIdResponse response = iAcsClient.getAcsResponse(request);
OnsMessageGetByMsgIdResponse.Data data =response.getData();
byte[] msgbody= Base64.decode(data.getBody());
String message= new String(msgbody);
System.out.println(data.getTopic()+" "+
message+" "+
data.getFlag()+" "+
data.getBornHost()+" "+
data.getStoreSize()+" "+
data.getStoreHost()+" "+
data.getStoreTimestamp()+" “+
data.getReconsumeTimes());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
最後更新:2016-11-23 16:04:04
上一篇:
根據 Key 查詢消息__消息管理相關接口_Open API_消息隊列 MQ-阿裏雲
下一篇:
根據 Topic 查詢消息__消息管理相關接口_Open API_消息隊列 MQ-阿裏雲
查詢模板信息__模板相關接口_API 文檔_資源編排-阿裏雲
阿裏雲入股,高度產品化的ZStack切入混合雲市場
功能說明-DNAT__NAT網關產品簡介_用戶指南_專有網絡 VPC-阿裏雲
EDAS 賬號體係介紹__賬號管理_用戶指南_企業級分布式應用服務 EDAS-阿裏雲
查詢推送列表__查詢相關_API 列表_OpenAPI 2.0_移動推送-阿裏雲
采集-IIS訪問日誌__最佳實踐_日誌服務-阿裏雲
修改文件類型緩存策略__配置操作接口_API 手冊_CDN-阿裏雲
授權資源組__賬號管理類 API_Open API 參考_企業級分布式應用服務 EDAS-阿裏雲
FailReason__數據類型_API參考_E-MapReduce-阿裏雲
變更RDS實例規格__實例管理_API 參考_雲數據庫 RDS 版-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲