Three ways of Azure Cross Function Communication
- Updated on 27 Dec 2018
- 1 minute to read
How would you arrange communication between functions? Should you choose direct communication - by calling another function or indirect using a queue?
It all depends on your requirements. In case you need to call another function directly you can choose HTTP protocol, and send your request to the endpoint of the other function or choose to use Durable Functions.
In case it is indirect or asynchronous you can choose to use a queue. According to the best practices for Functions communication between functions the best option is through storage queues.
Storage queues are a cheaper option than service bus queues.
However, storage queues have a limit of 64Kb for message size, while with Service Bus queues you can get up to 1 Mb when choosing the premium tier.
Lastly, when you need to filtering, you can pick a service bus topic or again choose Durable Functions when chaining functions together.
Furthermore, you can increase resiliency as a failure in processing is kept to one function. In general, queues play an important role in communication between functions and other Azure services.