Interface IOrchestrationServiceBlobStore
- Namespace
- DurableTask.Core.Tracking
- Assembly
- DurableTask.Core.dll
Interface to allow save and load large blobs, such as message and session, as a stream using a storage store. The blob is saved in the store using an access key (e.g., a path to the blob), which can be used to uniquely load the blob back.
public interface IOrchestrationServiceBlobStore
Methods
BuildMessageBlobKey(OrchestrationInstance, DateTime)
Create a blob storage access key based on the orchestrationInstance. This key will be used to save and load the stream message in external storage when it is too large.
string BuildMessageBlobKey(OrchestrationInstance orchestrationInstance, DateTime messageFireTime)
Parameters
orchestrationInstance
OrchestrationInstanceThe orchestration instance.
messageFireTime
DateTimeThe message fire time. Could be DateTime.MinValue.
Returns
- string
A message blob key.
BuildSessionBlobKey(string)
Create a blob storage access key based on message session. This key will be used to save and load the stream in external storage when it is too large.
string BuildSessionBlobKey(string sessionId)
Parameters
sessionId
stringThe message session Id.
Returns
- string
A blob key.
DeleteStoreAsync()
Deletes the blob store
Task DeleteStoreAsync()
Returns
LoadStreamAsync(string)
Load the stream of message or session from storage using key.
Task<Stream> LoadStreamAsync(string blobKey)
Parameters
blobKey
stringThe blob key.
Returns
PurgeExpiredBlobsAsync(DateTime)
Purges expired containers from storage for given time threshold
Task PurgeExpiredBlobsAsync(DateTime thresholdDateTimeUtc)
Parameters
thresholdDateTimeUtc
DateTimeThe datetime in UTC to use as the threshold for purging containers
Returns
SaveStreamAsync(string, Stream)
Save the stream of the message or session using key.
Task SaveStreamAsync(string blobKey, Stream stream)