【发布时间】:2018-03-01 19:02:48
【问题描述】:
我正在使用 Azure 函数 EventHub 触发器。 EH 收到的信息非常重要,我们不想错过任何信息。如果在处理来自我的事件中心的消息时发生了一些事情,我会写信给我的 retryQueue,如下所示:
try
{
await retryQueue.AddAsync (some data from my hub);
// if this call also fails, it goes to my catch
}
catch (exception e)
{
await retryQueue.AddAsync (my eventData);
// but what if this call also fails?
}
但是当我的 catch 块中的 AddAsync() 调用也失败时会发生什么?我如何以及在哪里保存消息以供以后处理?是否有诸如 IsTransient 之类的东西(在我的服务总线队列中可用)?
【问题讨论】:
-
理论上,如果您回退到用于存储进度/偏移量的同一个存储帐户,它们应该要么都工作要么都失败。不过我没有足够的实践经验。
标签: c# azure queue azure-functions azure-eventhub