azure - 在项目/解决方案中编写/组织 azure 函数的最佳实践
问题描述
我创建了多个天蓝色函数。有些与类似的功能相关,而另一些则不同。假设: 1. 文件移动 - TimerTrigger 2. 处理 - HttpTrigger
对于文件移动,我有 2 个功能,对于处理,我有另外 2 个功能。我在同一个项目中创建了 4 个 azure 函数。这是正确的方法吗?
- 我应该将 FileMovement 函数放在同一个类文件中并在不同的类文件中处理 - 同一个项目/解决方案吗?
- 所有天蓝色功能的单独项目?
应用程序设置值必须在所有 azure 函数之间共享。
解决方案
不久前我在博客上写过这个。
我建议如下:
对于更大的解决方案:将领域驱动设计原则应用于您的解决方案。将需要协同工作的函数(在有界上下文中,或在有界上下文中的模块)保留在一个函数应用程序中。“什么变化在一起就应该一起部署。”
检查各个功能的缩放要求。如果所有函数都具有相同的缩放行为,那么它们可以保留在同一个函数应用程序中。如果某些功能需要与其他功能不同的缩放比例,请将它们放在单独的 Function App 中。
就个人而言,我喜欢每个类有一个函数定义,因为这允许我
nameof(FunctionClass)
在FunctionName
属性中使用,正如我在这篇文章中所描述的那样。使用解决方案文件夹使 Function App 中的代码保持结构化。我在 GitHub 上的一个演示项目:DurableFunctions.Demo.DotNetCore。
推荐阅读
- javascript - 使用 forwardRef 创建的 React 组件上的类型错误
- angular - 寻找具有动态表单下拉选项的自定义下拉列表的解决方案
- ag-grid - 是否可以在 ag 网格中同时使用客户端和服务器列过滤器?
- xml - 如何在 XSLT 中将 dateTime 从一个 timeZone 转换为另一个
- excel - 循环遍历 excel 文件以在主文件中复制、转置和粘贴一组数据
- c# - 通过网络将文件复制到域外的目标
- java - Bukkit.getPlayer() 抛出数字格式异常
- html - 修复响应式设计
- python - 如何在python中扩展protobuf对象
- javascript - 如何使用带有 REST 服务的 request-promise npm 模块来调用另一个用作微服务的 REST 服务?