Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何组织具有多个Azure功能的解决方案?_Azure_Azure Functions - Fatal编程技术网

我应该如何组织具有多个Azure功能的解决方案?

我应该如何组织具有多个Azure功能的解决方案?,azure,azure-functions,Azure,Azure Functions,在哪里可以找到组织具有多个Azure功能的Visual Studio解决方案的指南?具体来说,项目应该如何组织 单个Azure函数驻留在单个类文件中。我想每个函数都可以是自己的类文件,都存储在单个项目中。但是,这是最佳解决方案还是我会因为组织不当的项目/解决方案而面临未来复杂化的风险?微软Azure团队可能会有更好的答案,但这是迄今为止对我们有效的方法 我们有几个功能应用程序,每个都在各自的项目(和解决方案)中 在这些功能应用程序中,有些只有一个功能,有些在自己的类/文件中有多个功能 我们有多

在哪里可以找到组织具有多个Azure功能的Visual Studio解决方案的指南?具体来说,项目应该如何组织


单个Azure函数驻留在单个类文件中。我想每个函数都可以是自己的类文件,都存储在单个项目中。但是,这是最佳解决方案还是我会因为组织不当的项目/解决方案而面临未来复杂化的风险?

微软Azure团队可能会有更好的答案,但这是迄今为止对我们有效的方法

  • 我们有几个功能应用程序,每个都在各自的项目(和解决方案)中
  • 在这些功能应用程序中,有些只有一个功能,有些在自己的类/文件中有多个功能
  • 我们有多个功能,这是因为这些功能都与我们系统的特定功能区域相关。因此,它们协同工作,对我们来说,将它们作为一个整体进行维护和部署是有意义的
  • 其他功能应用程序是独立的,只包含一个单独的功能,执行与任何其他功能无关的工作。例如,我们有一个计时器驱动的功能,可以处理一些数字,并根据需要发送推送通知
  • 以这种方式对功能进行分组(到目前为止)对我们来说是有意义的,因为它使我们能够在保持部署相对简单和能够独立扩展“组”之间取得平衡

无论如何,到目前为止,这对我们的项目来说已经足够好了,但我很想看看是否有更好的方法

如果愿意,还可以将多个函数放入同一个静态类中。这是你的选择,如果你发现问题-你可以随时更改它。另一个有用的Stackoverflow答案是关于一件我在你的答案中不清楚的事情-是否所有这些函数应用程序(在单独的项目/解决方案中)都发布到同一Azure Functions实例?还是每个解决方案都有自己的Azure功能实例?@Tim-是后者。我们有几个解决方案,每个方案中都有一个项目->部署到一个功能应用程序中。这在VCS回购方面是什么样子的?假设是Git,那么您是在一个Git repo中拥有所有解决方案,还是每个解决方案都有自己的repo?Hi Garth:如果您的所有功能都在一个repo中,那么如果只有一个功能发生变化,您如何单独部署它们?或者,当整个repo中的任何代码发生更改时,它们都会使用CI/CD进行部署吗?如果您将多个Azure函数放在一个git repo中,并在新代码提交到目标分支时使用自动CI/CD进行部署,那么所有包含的函数都会同时更新。如果使用的Github帐户的私有回购数量有限,则可能不需要每个函数的回购解决方案。但IMHO最好按照回答者的建议,将类似的功能(具有类似的环境变量或秘密)组合在一起进行组织,同时还应考虑将由于部署而导致的关键功能停机时间降至最低。