Exemple #1
0
        public async Task <bool> SetContainerMetaData(string containerName, IDictionary <string, string> metaData, CancellationToken cancellationToken = default)
        {
            BlobContainerClient containerClient = BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName);

            Response <BlobContainerInfo> result = await containerClient.SetMetadataAsync(metadata : metaData, cancellationToken : cancellationToken);

            return(result.GetRawResponse().Status == (int)HttpStatusCode.OK);
        }
Exemple #2
0
        public async Task <BlobContainerPropertiesAndBlobList> GetContainerPropertiesAndFullDetails(string containerName, CancellationToken cancellationToken = default)
        {
            BlobContainerClient containerClient = BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName);

            BlobContainerProperties blobContainerProperties = await containerClient.GetPropertiesAsync();

            IEnumerable <BlobItem> blobContainerContent = containerClient.GetBlobs();

            return(new BlobContainerPropertiesAndBlobList
            {
                BlobContainerProperties = blobContainerProperties,
                BlobItems = blobContainerContent.ToArray(),
            });
        }
Exemple #3
0
        public async Task <bool> SetContainerAccessType(string containerName, PublicAccessType accessType, CancellationToken cancellationToken = default)
        {
            try
            {
                BlobContainerClient containerClient = BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName.ToLower(), accessType);

                _ = await containerClient.SetAccessPolicyAsync(accessType : accessType);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #4
0
        public async Task <bool> AppendContainerMetaData(string containerName, IDictionary <string, string> metaData, CancellationToken cancellationToken = default)
        {
            BlobContainerClient containerClient = BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName);

            BlobContainerProperties blobContainerProperties = await containerClient.GetPropertiesAsync();

            IDictionary <string, string> existingMetaData = blobContainerProperties.Metadata;

            foreach (KeyValuePair <string, string> metaItem in metaData)
            {
                existingMetaData.Add(metaItem);
            }

            Response <BlobContainerInfo> result = await containerClient.SetMetadataAsync(metadata : metaData, cancellationToken : cancellationToken);

            return(result.GetRawResponse().Status == (int)HttpStatusCode.OK);
        }
Exemple #5
0
        public async Task <bool> BlobExists(string blobName, string containerName, CancellationToken cancellationToken)
        {
            BlobContainerClient containerClient = BlobStorageManager.GetBlobContainerClient(
                azureStorageOptions: _azureStorageOptions,
                blobContainerName: containerName);

            try
            {
                BlobClient blob = containerClient.GetBlobClient(blobName);
                return(await blob.ExistsAsync(cancellationToken : cancellationToken));
            }
            catch (Exception ex)
            {
                throw new BlobServiceException(
                          message: ex.Message,
                          blobName: blobName,
                          containerName: containerName,
                          methodName: nameof(BlobExists),
                          innerException: ex);
            }
        }
Exemple #6
0
        public async Task <BlobItem[]> ListContainerContentAsync(string containerName, CancellationToken cancellationToken = default)
        {
            IEnumerable <BlobItem> blobs = BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName).GetBlobs();

            return(await Task.FromResult(blobs.ToArray()));
        }
Exemple #7
0
 public async Task <BlobContainerProperties> GetContainerProperties(string containerName, CancellationToken cancellationToken)
 => await BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName).GetPropertiesAsync();
Exemple #8
0
 public async Task <bool> DeleteContainerAsync(string containerName, CancellationToken cancellationToken)
 => await BlobStorageManager.GetBlobContainerClient(
     azureStorageOptions : _azureStorageOptions,
     blobContainerName : containerName).DeleteIfExistsAsync(cancellationToken: cancellationToken);
Exemple #9
0
        private async Task <bool> CreateContainer(string containerName, IDictionary <string, string> metaData, CancellationToken cancellationToken = default)
        {
            BlobContainerClient containerClient = BlobStorageManager.GetBlobContainerClient(_azureStorageOptions, containerName.ToLower());

            return(await Task.FromResult(containerClient != null));
        }