最近我得到了其他用C#脚本(.csx)编写的开发人员Azure函数代码,我以前是使用Visual Studio编写Azure函数的。
我喜欢C#脚本命令式绑定,它使代码更容易(无需管理连接)
我看到了C#脚本的一些问题
如果您有其他意见,请分享。
所以我决定将所有功能(10)转换为具有声纳集成和UnitTest的.net项目。
问题 我的大多数功能都没有任何业务逻辑,它们从EventHub获取触发器并将数据转储到cosmos DB中,我无法决定在单个解决方案下创建10个项目还是1个项目?
我相信具有多个host.json文件的具有多个功能的单个项目,如果我要更改host.json值以缩放特定功能,那么也会影响其他功能。我说的对吗?
功能数量=项目数量是正确的解决方案吗?
它将如何影响成本?
答案 0 :(得分:1)
您将总体想法转移到预编译的项目是有意义的。 Microsoft建议除最简单的即席功能外,对所有功能进行推荐。
应根据要单个功能应用程序还是多个应用程序来确定单个项目还是多个项目。 Function App是一个缩放单位。如果要使多个功能独立扩展,则应将它们放在单独的Apps和项目中。
答案 1 :(得分:0)
个人认为CSX文件适合进行实验或快速而肮脏的东西,但对于生产来说,您应该使用编译的c#。
调整host.json文件中的任何设置都会影响该功能应用程序中的所有功能。关于何时将您的功能分解为单独的应用程序,没有一个普遍正确的答案,但是您可以问一些问题以帮助针对您的情况进行回答:
在您的情况下,您对函数应用程序具有一定的灵活性,因为它们只是消息侦听器,如果您以后想将函数分解为单独的应用程序(例如,http端点),它们不会像http触发器那样受到太大的影响变化)。