public async Task<IStorageContainer> GetContainerAsync(string name) { CloudBlobContainer container = this._blobClient.GetContainerReference(name.ToLower()); bool containerExists = await container.ExistsAsync().ConfigureAwait(false); if (!containerExists) throw new FileWarehouse.StorageException(StorageExceptionReason.ContainerNotFound, $"Container '{name}' not exist."); IStorageContainer storageContainer = new AzureBlobStorageContainer(container); return storageContainer; }
public async Task<IStorageContainer> CreateOrGetContainerAsync(string name, ContainerPermission permission, bool failIfExist) { CloudBlobContainer container = this._blobClient.GetContainerReference(name.ToLower()); var isCreated = await container.CreateIfNotExistsAsync().ConfigureAwait(false); if (failIfExist && !isCreated) throw new FileWarehouse.StorageException(StorageExceptionReason.ContainerExistAlready, "Container exist already."); IStorageContainer storageContainer = new AzureBlobStorageContainer(container); await storageContainer.SetPermissionAsync(permission).ConfigureAwait(false); return storageContainer; }