Maximum Activity response data size limit in Azure Durable Functions
Asked Answered
R

1

7

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?

Removal answered 4/12, 2019 at 2:11 Comment(0)
R
11

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.

ref: https://learn.microsoft.com/en-us/azure/storage/common/storage-scalability-targets#azure-blob-storage-scale-targets

Removal answered 4/12, 2019 at 3:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.