gpt4 book ai didi

azure-webjobs - Azure 函数 : ICollector vs IAsyncCollector

转载 作者:行者123 更新时间:2023-12-03 13:31:14 27 4
gpt4 key购买 nike

ICollector<T> 和有什么区别和 IAsyncCollector<T>在 Azure Functions 中编写 C# 函数(也适用于 WebJobs)?

我从示例中了解到,这些接口(interface)是我可以用来将函数参数绑定(bind)到输出绑定(bind)的接口(interface)。我也了解这两个接口(interface)相应地具有非异步和异步方法签名(即 ICollector<T>.Add(item)IAsyncCollector<T>.AddAsync(item) )。但他们在幕后做了什么?他们是否真的将数据发布到输出绑定(bind),还是在函数执行结束时在内部缓冲和刷新(在这种情况下,为什么要使用 AddAsync 方法)?

最佳答案

ICollector<T>.Add(item)将始终对基础服务执行添加操作 立即 .例如。队列绑定(bind)的实现将在添加消息时立即将它们排入队列。
IAsyncCollector<T>.AddAsync(item)行为因绑定(bind)而异,取决于底层服务是否支持 配料 .在这种情况下,AddAsync可能只会将添加的项目实际保存为 稍后刷新通过相应的IAsyncCollector<T>.FlushAsync方法。当函数成功完成时FlushAsync会自动调用。您可以允许自动刷新行为为您刷新,或者您可以选择调用 FlushAsync根据需要手动在您的功能中。

批处理可以允许绑定(bind)以最有效的方式与底层服务交互。例如。对于 Azure 表,可以在单个批处理操作中更新/保留多个实体。

关于azure-webjobs - Azure 函数 : ICollector<T> vs IAsyncCollector<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732715/

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