HTTPS函数检索对象列表。这些对象需要在队列中添加为单独的消息。
[FunctionName("TestQueueOutput")]
[return: Queue("myqueue-items", Connection = "AzureWebJobsStorage")]
public async Task<HttpResponseData> RunAsync([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req,
FunctionContext context)
{
HttpResponseData okResponse = null;
okResponse = req.CreateResponse(System.Net.HttpStatusCode.OK);
// List of Objects
var _list= await _repo.Get();
await okResponse.WriteAsJsonAsync(_list);
return okResponse;
}
当我运行该功能时,HTTP响应可以看到列表,但在Azure中定义的队列中没有任何内容。
I进一步遵循以下文章,将输出绑定到HTTP触发器上。
https://learn.microsoft.com/en-us/azure/azure-functions/functions-functions-add-output-binding-binding-storage-queue-vs?tabs = tabs =process
当我添加用于隔离过程的多响应类时,列出了排队的输出绑定,该函数为其提供了红色的线条。找不到正确的掘金包来修复它。
我花了无数小时将列表项目添加到队列中。 我在做对吗?任何指导都将不胜感激
update#1:当我添加MultiResponse
类时,我无法弄清楚如何解决以下图像中的问题:
您需要看几件事。首先,您期望返回
QueueOutput
,但也具有HttpResponseData
绑定设置。而且,正如return
期望的那样,您正在返回HttpResponseData
。但是biging试图将其转化为队列消息。消息信息似乎写给了响应主体,这不是应有的工作方式。
按照您链接的文章,请尝试以下内容:
HttpResponse
在您的函数中使用
returns
类,如下这实现多重响应,告诉该功能使用它,并使您在将消息写入队列时返回
MultiRepsonse
。当心:下面的浏览器撰写,未验证的代码。
MulterSponse.cs
MultiResponse
MultiResponse