我可以通过位于不同资源组中的持久功能实现Azure功能链接吗&;消费计划?

我可以通过位于不同资源组中的持久功能实现Azure功能链接吗&;消费计划?,azure,azure-functions,azure-functions-runtime,Azure,Azure Functions,Azure Functions Runtime,我可以通过位于不同资源组和消费计划中的持久功能实现Azure功能链接吗? 或者功能必须存在于同一资源组/服务计划中 如果这是不可能的,那么除了使用服务总线外,功能如何在不同的服务之间相互通信?我们只支持从单个功能应用程序中链接持久功能。这是底层Azure存储提供商的当前设计强加的技术限制 但是,您可以根据需要以各种方式解决此问题。例如,功能应用程序A中的业务流程可以发送一条队列消息,该消息触发功能应用程序B中的队列触发功能,该功能在内部启动另一个业务流程或使用 持久功能业务流程还支持异步HTTP

我可以通过位于不同资源组和消费计划中的持久功能实现Azure功能链接吗? 或者功能必须存在于同一资源组/服务计划中


如果这是不可能的,那么除了使用服务总线外,功能如何在不同的服务之间相互通信?

我们只支持从单个功能应用程序中链接持久功能。这是底层Azure存储提供商的当前设计强加的技术限制

但是,您可以根据需要以各种方式解决此问题。例如,功能应用程序A中的业务流程可以发送一条队列消息,该消息触发功能应用程序B中的队列触发功能,该功能在内部启动另一个业务流程或使用

持久功能业务流程还支持异步HTTP模型,这意味着功能应用程序A中的业务流程可以使用HTTP启动功能应用程序B中的业务流程,然后轮询其返回的状态端点,以便在响应可用时获得响应(本主题中有更多信息)


但是你能评论一下为什么你想在不同功能的应用程序之间进行交流吗?我们以前收到过此请求,获得更多数据可能有助于我们更快地实施解决方案。:)

我们有多个微服务域,它们有自己的数据库。有多个工作流,主题触发器或调度程序使用Azure函数调用这些工作流。这些工作流通常需要来自其他域服务的数据,通常由其他域中的Azure功能提供。通过Azure service bus的请求-响应链接很慢,因为Azure service bus SDK中的许多方法都很慢(例如SessionClient.AcceptMessageSessionAsync),而且我们必须维护队列来协调此工作流。另一种方法是直接在其他服务中调用Azure函数以获取跨域数据,以进一步澄清:.net标准1.x版本中的SessionClient.AcceptMessageSessionAsync速度较慢。由于微服务的设计,可持久性函数只能调用同一功能应用程序中的函数。每个微服务只负责一项职责。不同域之间的通信应通过http或任何其他消息总线服务等间接通信进行。