Begins 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 ICancellableAsyncResult BeginUploadFromStream( Stream source, long length, AsyncCallback callback, object state )
public: [DoesServiceRequestAttribute] virtual ICancellableAsyncResult^ BeginUploadFromStream( Stream^ source, long long length, AsyncCallback^ callback, Object^ state )
[<DoesServiceRequestAttribute>] abstract BeginUploadFromStream : source:Stream * length:int64 * callback:AsyncCallback * state:Object -> ICancellableAsyncResult [<DoesServiceRequestAttribute>] override BeginUploadFromStream : source:Stream * length:int64 * callback:AsyncCallback * state:Object -> ICancellableAsyncResult
<DoesServiceRequestAttribute> Public Overridable Function BeginUploadFromStream ( source As Stream, length As Long, callback As AsyncCallback, state As Object ) As ICancellableAsyncResult
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
Specifies the number of bytes from the Stream source to upload from the start position.
- callback
-
Type:
System.AsyncCallbackSystem::AsyncCallback^System.AsyncCallbackSystem.AsyncCallback
An AsyncCallback delegate that will receive notification when the asynchronous operation completes.
- state
-
Type:
System.ObjectSystem::Object^System.ObjectSystem.Object
A user-defined object that will be passed to the callback delegate.
Return Value
Type: Microsoft.WindowsAzure.Storage.ICancellableAsyncResultMicrosoft.WindowsAzure.Storage::ICancellableAsyncResult^Microsoft.WindowsAzure.Storage.ICancellableAsyncResultMicrosoft.WindowsAzure.Storage.ICancellableAsyncResultAn ICancellableAsyncResult that references 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 BeginAppendFromStream.
See Also
BeginUploadFromStream Overload
CloudAppendBlob Class
Microsoft.WindowsAzure.Storage.Blob Namespace