gpt4 book ai didi

c# - 如何在 Azure Functions 中使用 IAsyncCollector 和 System.Text.Json 设置驼峰式大小写?

转载 作者:行者123 更新时间:2023-12-05 02:44:01 26 4
gpt4 key购买 nike

我正在将 Azure Functions v3 从 Newtonsoft.Json 迁移到 System.Text.Json 并尝试让 camelCase 在全局范围内工作。

对于这些:

  • 信号R
  • 服务总线输出绑定(bind)
  • 宇宙数据库

我能够显式传递 JsonSerializerOptions 或全局设置它 (SignalR),但我无法为 IAsyncCollector 这样做。

这是我的代码:

[FunctionName(nameof(SampleFunction))]
public async Task Run(
[ServiceBusTrigger(ServiceBusQueue.QueueA)] string json,
[ServiceBus(ServiceBusQueue.QueueB)] IAsyncCollector<Delivery> queueB,
[ServiceBus(ServiceBusQueue.QueueC)] IAsyncCollector<Driver> queueC,
ExecutionContext context)
{
// ... do some work

await queueB.AddAsync(objectB).ConfigureAwait(false);

// ... do some more work

await queueC.AddAsync(objectC).ConfigureAwait(false);
}

objectBobjectC 最终出现在服务总线中,而不是驼峰式大小写。作为解决方法,我在接收函数上将属性名称设置为不区分大小写。

PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
PropertyNameCaseInsensitive = true

知道如何让 IAsyncCollector 以驼峰式大小写序列化吗?

最佳答案

我建议根本不要使用 IAsyncCollectorIAsyncCollector 的提供程序没有很多配置旋钮:

  • 序列化
  • 批处理
  • 重试
  • 错误处理

此外,一些实现在发布之间更改了这些实现细节,但没有发出警告。出于这些原因,我建议不要使用 IAsyncCollector,而是直接使用 API,您可以完全控制所有这些方面。 IAsyncCollector 是一个很好的抽象,但正是这种抽象性质最终使其不适合。

关于c# - 如何在 Azure Functions 中使用 IAsyncCollector 和 System.Text.Json 设置驼峰式大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66637657/

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