public static bool ContainerExists(ContainerSettings containerSettings) { Contract.Requires(containerSettings != null, "The container settings cannot be null."); var storageAccount = new CloudStorageAccount( new StorageCredentialsAccountAndKey(containerSettings.BlobStorageDestination, containerSettings.BlobStorageDestinationKey), true); var client = storageAccount.CreateCloudBlobClient(); var blobContainer = client.GetContainerReference(containerSettings.ContainerName); try { blobContainer.FetchAttributes(); } catch (StorageClientException ex) { return false; } if (containerSettings.SubContainerName != null) blobContainer = blobContainer.GetDirectoryReference(containerSettings.SubContainerName).Container; try { blobContainer.FetchAttributes(); return true; } catch (StorageClientException ex) { return false; } }
/// <summary> /// Deletes a container. /// </summary> /// <param name="deleteContainerSettings">A <see cref="ContainerSettings"/>.</param> public static void DeleteContainer(ContainerSettings deleteContainerSettings) { Contract.Requires(deleteContainerSettings != null, "The delete container settings cannot be null."); var storageAccount = new CloudStorageAccount(new StorageCredentialsAccountAndKey(deleteContainerSettings.BlobStorageDestination, deleteContainerSettings.BlobStorageDestinationKey), true); var client = storageAccount.CreateCloudBlobClient(); var blobContainer = client.GetContainerReference(deleteContainerSettings.ContainerName); blobContainer.Delete(AccessCondition.GenerateEmptyCondition(), null); }