问题描述
我正在研究azure函数V2,该函数可以查看来自服务总线的消息。 在此功能中,我想知道消息的状态(活动,延迟,计划中)
我知道State
具有Microsoft.Azure.ServiceBus
属性。
但是我正在使用Microsoft.Azure.ServiceBus.Message
。那么如何获取[FunctionName("GetStates")]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function,"get",Route = "getstates")] HttpRequest req,ILogger log)
{
var result = new Dictionary<string,int>() /** string: state,int: counter **/
receiver = new MessageReceiver("MyConnectionString",EntityNameHelper.FormatSubscriptionPath("MyTopic","MySubscription"));
var messages = await receiver.PeekBySequenceNumberAsync(receiver.LastPeekedSequenceNumber,50);
// How to get the states???
return new OkObjectResult(result);
}
的状态?
只是一个说明我的需求的示例函数:
{{1}}
解决方法
将第0条SDK中的BrokeredMessage
类型移到第1条中的Message
类型(Microsoft.Azure.ServiceBus)时,MessageState
未实现。虽然我不知道该决定背后的理由,或者不知道是在什么地方被错误地遗漏了。您可以使用Azure SDK存储库问题跟踪器here引发Azure SDK问题。