跨存储库的Azure持久功能

时间:2018-07-12 15:14:56

标签: azure-functions

我正在尝试使工作流程具有蓝色持久功能。要使用ActivityTrigger,我应该阅读的功能应该在同一功能应用中。

我目前有2个存储库,由于业务模型的原因,它分为两个存储库。可能不可能,我可能做错了什么。但是,当活动触发器/功能跨两个存储库时,是否有可能使工作流程持久化?像在本地启动“ Function App”一样定义它们?

我将其分为两个存储库,因为我希望能够在更新时彼此独立地部署它们,并且功能使用的数据位于不同的业务领域中。

1 个答案:

答案 0 :(得分:1)

不支持将功能应用程序拆分到两个可以独立部署的独立存储库中,即使支持它,我也强烈建议您不要使用它。功能应用程序应被视为部署的单元,尤其是在“持久功能”的情况下,可以在两次执行之间保持状态。

您提到正在使用的数据位于单独的业务域中,这是将逻辑拆分为两个独立存储库的原因。但是,由于您使用持久功能进行开发的工作流同时使用了两个域中的数据,因此独立部署可能非常危险。

如果您仍然需要为每个业务域的业务逻辑支持独立部署,请创建功能应用程序 BusinessDomain1FunctionApp BusinessDomain2FunctionApp 等,其中每个功能应用程序包含包含业务逻辑的HttpTriggers。然后编写一个使用持久功能的 WorkflowFunctionApp 。每个ActivityTrigger都可以进行HTTP调用,以触发来自相应应用程序的业务逻辑。每个功能应用程序都可以保存在自己的存储库中,并分别进行部署。