简体   繁体   中英

Maximum Activity response data size limit in Azure Durable Functions

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?

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 ie 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://docs.microsoft.com/en-us/azure/storage/common/storage-scalability-targets#azure-blob-storage-scale-targets

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM