购买Buy
1-855-856-7678
支持Support
The following code example enumerates through the blobs in a container and deletes each blob and its snapshots.
static void DeleteBlobsAndSnapshots(Uri blobEndpoint, string accountName, string accountKey)
{
CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey));
//Get a reference to the container.
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
//Indicate that any snapshots should be deleted.
BlobRequestOptions options = new BlobRequestOptions();
options.DeleteSnapshotsOption = DeleteSnapshotsOption.IncludeSnapshots;
//Specify a flat blob listing, so that only CloudBlob objects will be returned.
//The Delete method exists only on CloudBlob, not on IListBlobItem.
options.UseFlatBlobListing = true;
//Enumerate through the blobs in the container, deleting both blobs and their snapshots.
foreach (CloudBlob blob in container.ListBlobs(options))
{
Console.WriteLine(blob.Uri);
blob.Delete(options);
}
}
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.
The Delete method will fail if the blob does not exist. To delete the blob only if it exists, use the DeleteIfExists method.