gpt4 book ai didi

postgresql - 用于向 Postgres DB 批量插入的 Azure 持久功能

转载 作者:行者123 更新时间:2023-12-03 01:33:07 25 4
gpt4 key购买 nike

我的 Azure 的无服务器架构由一些生产者、一个服务总线、一个 azure 函数和一个 Postgres DB 组成(见下图)。

Postgres DB 是一项遗留要求,我无法更改它。

以下是操作流程:

  1. 生产者以一定的时间频率向服务总线发送消息(大约 9000 条消息/分钟)。每个生产者都会发送一条消息。
  2. azure 函数使用消息并将一行插入 Postgres DB

为了避免数据库的强大负载并打开大量连接,我会将消息聚合到函数中并通过批量插入将它们插入。我可以很好地使用持久函数(实体函数)吗?

你能帮我一下吗?最好的问候

enter image description here

最佳答案

好的,按照评论中的讨论让它工作。您不需要持久功能,但应该从服务总线批量接收(然后写入)消息。这是一个批处理示例:

[FunctionName("QueueTriggeredFunction")]
public static void Run([ServiceBusTrigger("demofunctionqueue", Connection = "queueconstring")]string[] myQueueItems, ILogger log)
{
log.LogInformation("Received messages {count}", myQueueItems.Length);
foreach (var myQueueItem in myQueueItems)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
}

host.json 设置每批的最大消息数

{
"version": "2.0",
"extensions": {
"serviceBus": {
"batchOptions": {
"maxMessageCount": 200
},
"messageHandlerOptions": {
"maxConcurrentCalls": 1
}
}
}
}

关于postgresql - 用于向 Postgres DB 批量插入的 Azure 持久功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60430143/

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