Reputation: 1022
I understand that Azure Durable functions use a series of Azure Storage Queues and Tables to manage orchestration and state.
Would the maximum Activity response be limited by either the queue or storage property limits (64 Kb)?
Exactly where are the activity results stored?
Upvotes: 8
Views: 3283
Reputation: 1022
So I've done some some digging and it looks like the results from Activities are stored in table storage if the json is < 64 Kb, otherwise it is stored as a blob.
If you look in the History table of your durable function, you can see for the rows where the EventType
column is TaskCompleted
which indicates the completion of an Activity that was triggered by your orchestrator, you can see another column Result
which is either the json result or the path of a blob where the result of your Activity is stored.
So in theory, the size limit for an Activity result is the size limit of a blob (approx 4.75TiB). Although, there may be some other limiting factors before you even reach that point i.e. memory.
I'd also add that the instance of orchestrator/activity functions need to read the results from storage. This might take a performance hit, especially if there is a lot of activities being called, and a lot of data is being returned.
Upvotes: 11