/// <summary> /// 根据 Key 查询消息 /// </summary> /// <param name="mKey"></param> /// <returns>返回第一个msg ID</returns> private string GetMessageByKey(string mKey) { try { IClientProfile profile = DefaultProfile.GetProfile(Ons_RegionID, Ons_AccessKey, Ons_SecretKey); DefaultAcsClient iAcsClient = new DefaultAcsClient(profile); OnsMessageGetByKeyRequest request = new OnsMessageGetByKeyRequest(); request.OnsRegionId = Ons_RegionID; request.PreventCache = GetCurrentTimeMillis(); request.AcceptFormat = FormatType.JSON; request.Topic = TopicID; request.Key = mKey; OnsMessageGetByKeyResponse response = iAcsClient.GetAcsResponse(request); if (response.Data == null || response.Data.Count == 0) { return(null); } return(response.Data[0].MsgId); } catch (ServerException) { throw; } catch (ClientException ex) { if (ex.ErrorCode == ErrorCode_BIZ_NO_MESSAGE) { return(null); } throw; } }
public static OnsMessageGetByKeyResponse Unmarshall(UnmarshallerContext context) { OnsMessageGetByKeyResponse onsMessageGetByKeyResponse = new OnsMessageGetByKeyResponse(); onsMessageGetByKeyResponse.HttpResponse = context.HttpResponse; onsMessageGetByKeyResponse.RequestId = context.StringValue("OnsMessageGetByKey.RequestId"); onsMessageGetByKeyResponse.HelpUrl = context.StringValue("OnsMessageGetByKey.HelpUrl"); List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo> onsMessageGetByKeyResponse_data = new List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo>(); for (int i = 0; i < context.Length("OnsMessageGetByKey.Data.Length"); i++) { OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo onsRestMessageDo = new OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo(); onsRestMessageDo.Topic = context.StringValue("OnsMessageGetByKey.Data[" + i + "].Topic"); onsRestMessageDo.Flag = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].Flag"); onsRestMessageDo.Body = context.StringValue("OnsMessageGetByKey.Data[" + i + "].Body"); onsRestMessageDo.StoreSize = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].StoreSize"); onsRestMessageDo.BornTimestamp = context.LongValue("OnsMessageGetByKey.Data[" + i + "].BornTimestamp"); onsRestMessageDo.BornHost = context.StringValue("OnsMessageGetByKey.Data[" + i + "].BornHost"); onsRestMessageDo.StoreTimestamp = context.LongValue("OnsMessageGetByKey.Data[" + i + "].StoreTimestamp"); onsRestMessageDo.StoreHost = context.StringValue("OnsMessageGetByKey.Data[" + i + "].StoreHost"); onsRestMessageDo.MsgId = context.StringValue("OnsMessageGetByKey.Data[" + i + "].MsgId"); onsRestMessageDo.OffsetId = context.StringValue("OnsMessageGetByKey.Data[" + i + "].OffsetId"); onsRestMessageDo.BodyCRC = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].BodyCRC"); onsRestMessageDo.ReconsumeTimes = context.IntegerValue("OnsMessageGetByKey.Data[" + i + "].ReconsumeTimes"); onsRestMessageDo.InstanceId = context.StringValue("OnsMessageGetByKey.Data[" + i + "].InstanceId"); List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty> onsRestMessageDo_propertyList = new List <OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty>(); for (int j = 0; j < context.Length("OnsMessageGetByKey.Data[" + i + "].PropertyList.Length"); j++) { OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty messageProperty = new OnsMessageGetByKeyResponse.OnsMessageGetByKey_OnsRestMessageDo.OnsMessageGetByKey_MessageProperty(); messageProperty.Name = context.StringValue("OnsMessageGetByKey.Data[" + i + "].PropertyList[" + j + "].Name"); messageProperty._Value = context.StringValue("OnsMessageGetByKey.Data[" + i + "].PropertyList[" + j + "].Value"); onsRestMessageDo_propertyList.Add(messageProperty); } onsRestMessageDo.PropertyList = onsRestMessageDo_propertyList; onsMessageGetByKeyResponse_data.Add(onsRestMessageDo); } onsMessageGetByKeyResponse.Data = onsMessageGetByKeyResponse_data; return(onsMessageGetByKeyResponse); }