project/solution 中 writing/organising 天蓝色函数的最佳实践
Best practices for writing/organising azure functions in project/solution
我创建了多个 azure 函数。有些与类似的功能相关,而另一些则不同。让我们说:
1. 文件移动——TimerTrigger
2.处理-HttpTrigger
对于文件移动,我有 2 个函数,对于处理,我有另外 2 个函数。
我在同一个项目中创建了 4 个 azure 函数。方法对吗?
- 我是否应该将 FileMovement 函数放在同一个 class 文件中,而将 Processing 函数放在不同的 class 文件中 - 相同的 project/solution?
- 所有 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.
我创建了多个 azure 函数。有些与类似的功能相关,而另一些则不同。让我们说: 1. 文件移动——TimerTrigger 2.处理-HttpTrigger
对于文件移动,我有 2 个函数,对于处理,我有另外 2 个函数。 我在同一个项目中创建了 4 个 azure 函数。方法对吗?
- 我是否应该将 FileMovement 函数放在同一个 class 文件中,而将 Processing 函数放在不同的 class 文件中 - 相同的 project/solution?
- 所有 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.