azure - Azure 函数的 Host.json 中的 MaxBatchSize 不起作用
问题描述
我在 host.json 中对我的 Azure 函数进行了以下配置,并且我正在向 EvenHub 发送多批 30000 条消息,但我看到我的 azure 函数选择的值不超过 64,这是默认值。它没有选择 maxbtachsize 值的任何特定原因。
事件中心配置为单个事件中心的分区计数为 25,单个 TU 为 15
"version": "2.0",
"extensions": {
"eventHubs": {
"batchCheckpointFrequency": 5,
"eventProcessorOptions": {
"maxBatchSize": 256,
"prefetchCount": 512
}
}
}
解决方案
对于 dotnet core,我遇到了这个问题,即应用程序没有采用 host.json 中提到的 maxBatchSize 或其他参数。我无法从 host.json 做到这一点。但它是使用依赖注入(IOptions)完成的
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.PostConfigure<EventHubOptions>(o =>
{
o.EventProcessorOptions.MaxBatchSize = 256;
o.EventProcessorOptions.PrefetchCount = 512;
});
}
现在,它对我有用!如果可用,它正在绘制 256 个事件。
推荐阅读
- javascript - 谁能帮我如何使用ngrx本地存储来加密和解密数据
- reactjs - Asp.Net Core Web API 中的 JWT 令牌授权
- mule - MULE - 从应用程序属性和 VM 参数更改变量的优先级
- google-maps - 在片段内显示谷歌地图
- python - 使用带有大数据框的 Kmeans 时内核死亡
- arrays - 在 swift 中过滤元素出现次数最多的数组
- java - 如何使用 xy 坐标从 SQLite db 获取数据?
- ads - 如何在android的自定义chrome标签中打开广告的目标/目标网址
- scala - 如何在 Scala 中利用 mkNumericOps?
- javascript - 动态替换复选框/单选标签文本