Design patterns Azure函数-使用什么聚合模式?

Design patterns Azure函数-使用什么聚合模式?,design-patterns,azure-functions,azure-durable-functions,Design Patterns,Azure Functions,Azure Durable Functions,我们有以下情况: 服务总线上排队的Json消息(它们不会全部聚集在一起,将在特定时间段内,例如午夜和凌晨1点) 我们需要一个函数来读取消息,将其转换为平面格式,然后将其附加到文件中 一旦满足退出条件,文件最终需要发送到目标系统 现在,对于这个从服务总线读取的函数,我可以想到3个选项 一个普通的无状态函数,读取数据,在存储器中创建一个文件作为AppendBlob(如果它不存在的话),然后将数据写入(追加)到它 一个单例函数,在服务总线上接收到第一条消息时触发,然后接收所有后续消息,直到出现

我们有以下情况:

  • 服务总线上排队的Json消息(它们不会全部聚集在一起,将在特定时间段内,例如午夜和凌晨1点)

  • 我们需要一个函数来读取消息,将其转换为平面格式,然后将其附加到文件中

  • 一旦满足退出条件,文件最终需要发送到目标系统

  • 现在,对于这个从服务总线读取的函数,我可以想到3个选项

  • 一个普通的无状态函数,读取数据,在存储器中创建一个文件作为AppendBlob(如果它不存在的话),然后将数据写入(追加)到它

  • 一个单例函数,在服务总线上接收到第一条消息时触发,然后接收所有后续消息,直到出现基于时间的退出条件,在Append Blob中创建文件并继续向其追加数据

  • 持久功能聚合器模式,我只是快速阅读了一下,但不确定是否可以在我的场景中使用它


  • 我们正在寻找关于如何最好地使用可靠且不会遇到并发问题的Azure函数实现此场景的建议,b/w我们使用的是最新版本的函数,因此应该能够使用所有最新功能。

    转换逻辑是否轻量级?您的ASB会话启用了吗?是的,转换非常简单。关于ASB,这取决于我们,我们可以配置它,但它有助于SASB配置应符合要求。询问会话以了解消息的顺序是否重要?因为解决方案可能会根据它而改变。不,消息的顺序并不重要。您在持久函数中放弃聚合器模式的原因是什么?持久实体保证顺序交付,并保证一次只能执行一次,这将有助于解决潜在的并发问题。