The settings required for referencing a container.
Example #1
0
        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;
            }
        }
Example #2
0
        /// <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);
        }