コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }