我具有以下Azure体系结构:
IoTDevices ---> IoTHub --->功能应用
其中:
现在在Function App中,我有类似这样的内容:
public static void Run([IoTHubTrigger("messages/events", Connection = "EventHubConnection")]EventData message, TraceWriter log)
{
string messageString = Encoding.UTF8.GetString(message.GetBytes());
//do some processing with messageString as input
}
由于多种原因,在某些情况下无法执行处理;我想保存消息SequenceNumber
并推迟该消息,以便稍后,当处理再次变得可用时,我可以从IoTHub重新接收该消息。综上所述,问题是:
SequenceNumber
的情况下,如何重新接收/重新阅读消息?
延迟的消息与所有其他活动消息一起保留在主队列中(与子队列中的死信消息不同),但是不再可以使用常规的Receive / ReceiveAsync函数来接收它们。如果应用程序无法跟踪,则可以通过邮件浏览来发现延迟的邮件。