在项目/解决方案中编写/组织Azure功能的最佳实践

时间:2019-04-09 06:30:22

标签: azure .net-core coding-style azure-functions

我创建了多个天蓝色函数。一些与相似的功能相关,而其他与之不同。说: 1.文件移动-TimerTrigger 2.处理-HttpTrigger

对于文件移动,我有2个功能,对于“处理”来说,还有2个功能。 我在同一项目中创建了4个Azure函数。这是正确的方法吗?

  1. 我应该将FileMovement函数放在相同的类文件中,还是将Processing放在不同的类文件-同一项目/解决方案中?
  2. 所有天蓝色功能的单独项目?

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

1 个答案:

答案 0 :(得分:1)

前一段时间我已经blogged

我建议以下内容:

  • 对于更大的解决方案:将Domain Driven Design原则应用于您的解决方案。将需要一起工作的功能(在有界上下文中,或在有界上下文中的模块中)保留在一个功能应用程序中。 “一起进行的更改应该一起部署。”

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

  • 我个人希望每个类都有一个函数定义,因为这使我可以在this post中使用nameof(FunctionClass)属性中的FunctionName

  • 使用解决方案文件夹将功能应用程序中的代码保持结构化。我在GitHub上的一个演示项目:DurableFunctions.Demo.DotNetCore