project/solution 中 writing/organising 天蓝色函数的最佳实践

Best practices for writing/organising azure functions in project/solution

我创建了多个 azure 函数。有些与类似的功能相关,而另一些则不同。让我们说: 1. 文件移动——TimerTrigger 2.处理-HttpTrigger

对于文件移动,我有 2 个函数,对于处理,我有另外 2 个函数。 我在同一个项目中创建了 4 个 azure 函数。方法对吗?

  1. 我是否应该将 FileMovement 函数放在同一个 class 文件中,而将 Processing 函数放在不同的 class 文件中 - 相同的 project/solution?
  2. 所有 azure 函数的单独项目?

应用程序设置值必须在所有 Azure 函数之间共享。

blogged 前一阵子讨论过这个问题。

我建议如下:

  • 对于更大的解决方案:将 Domain Driven Design 原则应用于您的解决方案。将需要协同工作的函数(在有界上下文中,或在有界上下文中的模块中)保留在一个函数应用程序中。 "What changes together should be deployed together."

  • 检查各个函数的缩放要求。如果所有函数都具有相同的缩放行为,那么它们可以留在同一个函数应用程序中。如果某些函数需要与其他函数不同的缩放比例,请将它们保存在单独的函数应用程序中。

  • 就我个人而言,我喜欢每个 class 有一个函数定义,因为这允许我在 FunctionName 属性中使用 nameof(FunctionClass),正如我在 this post.

  • 使用解决方案文件夹使 Function App 中的代码保持结构化。我在 GitHub 上的演示项目之一:DurableFunctions.Demo.DotNetCore.