在隔离的 Azure函数之前,可以创建一个输出绑定队列,如下所示:[Queue(...)] CloudQueue outputQueue
然后,我们可以添加一个新消息,它可以添加可见性延迟,如下所示:
var cloudQueueMessage = new CloudQueueMessage("some message");
var timespan = new TimeSpan(0, 10, 0);
outputQueue.AddMessage(cloudQueueMessage, initialVisibilityDelay: timespan);既然我们已经将这些Azure函数迁移到隔离的模式,那么如何在消息中添加可见性延迟呢?
下面是微软网站的一个例子

如何使用隔离模式向消息添加可见性延迟?
谢谢
发布于 2022-11-13 13:36:24
下面的Microsoft文档解释了为什么我不能在隔离模式之前实现我能够做的事情。隔离模式没有利用这些丰富的绑定类。

最后我做的是添加我自己的QueueClient并将其注入到函数中。


有了所有这些之后,我现在可以实现我的最初目标,并为可能需要利用QueueClient上的任何新特性做好准备,而在编写本报告时,绑定根本不提供这些特性。
谢谢
发布于 2022-11-12 17:43:45
await Task.Delay(n)(任务延迟模拟消息处理)在隔离Azure函数C#项目中为我工作,以延迟消息的可见性。 [Function("Function1")]
public async Task<HttpResponseData> RunAsync([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
var response = req.CreateResponse(HttpStatusCode.OK);
response.Headers.Add("Content-Type", "text/plain; charset=utf-8");
response.WriteString("Welcome to Azure Functions!");
for (var i = 0; i < 5; i++)
{
_logger.LogInformation($"Next visible {i}: {response.ToString()}");
await Task.Delay(1000);
}
return response;
}结果:

https://stackoverflow.com/questions/74365737
复制相似问题