如何使用 azure sdk(使用 azure webjobs)为 azure queue 设置可见性(时间)选项?

How to set visibility (time) option for azure queue using azure sdk (using azure webjobs)?

我在我的 azure webjobs(控制台应用程序)中的功能正在正确地完成它的工作并从我的队列中获取消息,但我需要一种方法来控制 "time visible" 选项或从队列中删除消息的能力一旦被拿起就排队。

函数:

public class Functions
{
    public static void MultipleOutput([QueueTrigger("messages")] MessageQueueItem message, TextWriter log)
    {
        Console.WriteLine("Item Found [{0}]! Process starting", message.VideoId);

        ResolverAgent agent = new ResolverAgent(message);
        agent.Process();
    }
}

我知道当您以编程方式访问队列时,它是您传入的参数。但是我不是以这种方式访问​​它。在 webjobs 应用程序中使用 azure sdk 执行此操作的正确方法是什么?

编辑:

可见性选项是从作业从队列中拾取消息到消息重新出现在队列中的时间(因为进程尚未完成并假定它失败)。在我的例子中,默认的 30 秒不足以让进程 运行 一直完成。

参考(部分:如何:利用附加选项使消息出队): http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-queues/

如果您的函数仍在处理消息,webjobs SDK 将更新租约,因此另一个函数不会接收它。