CloudBlob.BeginDeleteIfExists Method (BlobRequestOptions, AsyncCallback, Object)

Storage Client Library NET API

[This topic is part of the Microsoft Azure Storage Client Library 1.7, which has been deprecated. See Storage Client Library for the latest version.]

Begins an asynchronous operation to delete the blob if it exists, using a conditional request based on the BlobRequestOptions that you specify.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)

Usage

Visual Basic
Dim instance As CloudBlob
Dim options As BlobRequestOptions
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult

returnValue = instance.BeginDeleteIfExists(options, callback, state)

Syntax

Visual Basic
Public Function BeginDeleteIfExists ( _
	options As BlobRequestOptions, _
	callback As AsyncCallback, _
	state As Object _
) As IAsyncResult
C#
public IAsyncResult BeginDeleteIfExists (
	BlobRequestOptions options,
	AsyncCallback callback,
	Object state
)
C++
public:
IAsyncResult^ BeginDeleteIfExists (
	BlobRequestOptions^ options, 
	AsyncCallback^ callback, 
	Object^ state
)
J#
JScript

Parameters

options

Type: Microsoft.WindowsAzure.StorageClient.BlobRequestOptions

An object that specifies any additional options for the request.

callback

Type: System.AsyncCallback

The callback delegate that will receive notification when the asynchronous operation completes.

state

Type: System.Object

A user-defined object that will be passed to the callback delegate.

Return Value

Type: System.IAsyncResult

An IAsyncResult that references the asynchronous operation.

Example

The following code example deletes a blob if it exists—and it does it specifying a request option, and using an asynchronous call.

C# Copy Code
private void Eg_BeginDeleteBlobIfExists2(Uri blobEndpoint, string accountName, string accountKey)
{
    // Create a service client for credentialed access to the Blob service.
    CloudBlobClient blobClient =
        new CloudBlobClient(blobEndpoint,
            new StorageCredentialsAccountAndKey(accountName, accountKey));

    // Create a blob reference.
    CloudBlob myBlob = blobClient.GetBlobReference("mycontainer/myblob.txt");

    // Use the blob reference to create and initialize an actual blob instance in the cloud.
    myBlob.UploadFile("C:\\somefile.txt");

    // Set options for the request.
    BlobRequestOptions options = new BlobRequestOptions();

    // If the blob is a snapshot, then Delete would fail without setting this option.
    options.DeleteSnapshotsOption = DeleteSnapshotsOption.IncludeSnapshots;

    // Delete the blob if it exists, using an asynchronous call.
    myBlob.BeginDeleteIfExists(options, Eg_DeleteIfExistsCallback, myBlob);
}

private void Eg_DeleteIfExistsCallback(IAsyncResult result)
{
    CloudBlob blobToDelete = (CloudBlob)result.AsyncState;
    blobToDelete.EndDeleteIfExists(result);
}

Remarks

A blob that has snapshots cannot be deleted unless the snapshots are also deleted. If a blob has snapshots, use the DeleteSnapshotsOption property to specify how the snapshots should be handled when the blob is deleted.


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows 7, Windows Server 2008, Windows 8.1, Windows Server 2012 R2, Windows 8 and Windows Server 2012

Change History

See Also