gpt4 book ai didi

azure - 是否有可能使用 IAsyncCollector 而不依赖 azure webjobs?

转载 作者:行者123 更新时间:2023-12-03 04:06:33 30 4
gpt4 key购买 nike

我正在编写一个包含各种业务逻辑的库,并希望它能够与 azure 函数交互。我想接收一个消息接收器,用于接收我的代码希望生成的通知,并且 IAsyncCollector 似乎是一个合理的接口(interface)(它具有接近微不足道的 2 函数调用接口(interface)定义),也可以在 azure 函数应用程序调用中轻松提供给我。

我正在编写的库是否可以接受 IASyncColector,而无需添加所有 azure webjobs 作为我的库仅针对此一个接口(interface)的依赖项?

或者,内部代码是否应该只生成消息,并将它们返回到主机以添加到收集器中,即使这是需要将每个函数调用包装在“foreach”中的困惑代码?

https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs/IAsyncCollector.cs

最佳答案

假设您想要在有多条消息的情况下获取消息收集器。但是我不知道你为什么要使用 IAsyncCollector 因为有关此类型的描述是只写集合,你可以查看文档:Writing multiple output values .

如果您不想使用 webjob sdk,则意味着您无法使用存储绑定(bind),并且您仍然希望对多条消息执行操作:

接收消息,使用GetMessages方法,它将返回一个可枚举的消息集合。

发送消息,只需使用 List,然后循环它并执行添加操作,或者仅绑定(bind) CloudQueue 类型并使用 AddMessage 方法。

            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue1 = queueClient.GetQueueReference("myqueue");
CloudQueue queue2 = queueClient.GetQueueReference("queue1");
IEnumerable<CloudQueueMessage> messages= queue1.GetMessages(10);
List<CloudQueueMessage> messages1=new List<CloudQueueMessage>();
foreach (var message in messages) {
Console.WriteLine(message.AsString);
messages1.Add(message);
}
foreach (var message in messages1) {
queue2.AddMessage(message);
}

希望这可以帮助您,如果您还有其他关于必须使用 IAsyncCollector 的问题,请告诉我。

关于azure - 是否有可能使用 IAsyncCollector 而不依赖 azure webjobs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59605169/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com