Initiates an asynchronous operation to upload a stream to an append blob. If the blob already exists, it will be overwritten. Recommended only for single-writer scenarios.
Assembly: Microsoft.WindowsAzure.Storage (in Microsoft.WindowsAzure.Storage.dll)
Syntax
[DoesServiceRequestAttribute] public virtual Task UploadFromStreamAsync( Stream source, long length, AccessCondition accessCondition, BlobRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken )
public: [DoesServiceRequestAttribute] virtual Task^ UploadFromStreamAsync( Stream^ source, long long length, AccessCondition^ accessCondition, BlobRequestOptions^ options, OperationContext^ operationContext, CancellationToken cancellationToken )
[<DoesServiceRequestAttribute>] abstract UploadFromStreamAsync : source:Stream * length:int64 * accessCondition:AccessCondition * options:BlobRequestOptions * operationContext:OperationContext * cancellationToken:CancellationToken -> Task [<DoesServiceRequestAttribute>] override UploadFromStreamAsync : source:Stream * length:int64 * accessCondition:AccessCondition * options:BlobRequestOptions * operationContext:OperationContext * cancellationToken:CancellationToken -> Task
<DoesServiceRequestAttribute> Public Overridable Function UploadFromStreamAsync ( source As Stream, length As Long, accessCondition As AccessCondition, options As BlobRequestOptions, operationContext As OperationContext, cancellationToken As CancellationToken ) As Task
Parameters
- source
-
Type:
System.IO.StreamSystem.IO::Stream^System.IO.StreamSystem.IO.Stream
A Stream object providing the blob content.
- length
-
Type:
System.Int64System::Int64System.Int64System.Int64
The number of bytes to write from the source stream at its current position.
- accessCondition
-
Type:
Microsoft.WindowsAzure.Storage.AccessConditionMicrosoft.WindowsAzure.Storage::AccessCondition^Microsoft.WindowsAzure.Storage.AccessConditionMicrosoft.WindowsAzure.Storage.AccessCondition
An AccessCondition object that represents the condition that must be met in order for the request to proceed. If null, no condition is used.
- options
-
Type:
Microsoft.WindowsAzure.Storage.Blob.BlobRequestOptionsMicrosoft.WindowsAzure.Storage.Blob::BlobRequestOptions^Microsoft.WindowsAzure.Storage.Blob.BlobRequestOptionsMicrosoft.WindowsAzure.Storage.Blob.BlobRequestOptions
A BlobRequestOptions object that specifies additional options for the request.
- operationContext
-
Type:
Microsoft.WindowsAzure.Storage.OperationContextMicrosoft.WindowsAzure.Storage::OperationContext^Microsoft.WindowsAzure.Storage.OperationContextMicrosoft.WindowsAzure.Storage.OperationContext
An OperationContext object that represents the context for the current operation.
- cancellationToken
-
Type:
System.Threading.CancellationTokenSystem.Threading::CancellationTokenSystem.Threading.CancellationTokenSystem.Threading.CancellationToken
A CancellationToken to observe while waiting for a task to complete.
Return Value
Type: System.Threading.Tasks.TaskSystem.Threading.Tasks::Task^System.Threading.Tasks.TaskSystem.Threading.Tasks.TaskA Task object that represents the asynchronous operation.
Remarks
Use this method only in single-writer scenarios. Internally, this method uses the append-offset conditional header to avoid duplicate blocks, which may cause problems in multiple-writer scenarios. If you have a single-writer scenario, see AbsorbConditionalErrorsOnRetryAbsorbConditionalErrorsOnRetryAbsorbConditionalErrorsOnRetryAbsorbConditionalErrorsOnRetry to determine whether setting this flag to true is acceptable for your scenario. To append data to an append blob that already exists, see AppendFromStreamAsync.
See Also
UploadFromStreamAsync Overload
CloudAppendBlob Class
Microsoft.WindowsAzure.Storage.Blob Namespace