public CreateContainerResponse CreateContainer(string containerName, ContainerAccessType containerAccessType)
        {
            var request  = new CreateContainerRequest(_account, containerName, containerAccessType);
            var response = request.Execute();

            return(response.Payload);
        }
Esempio n. 2
0
 public SetContainerACLRequest(StorageAccountSettings settings, string containerName, ContainerAccessType containerAccess, List <BlobSignedIdentifier> signedIdentifiers, string leaseId = null)
     : base(settings)
 {
     _containerName   = containerName;
     _containerAccess = containerAccess;
     _content         = PrepareContent(signedIdentifiers ?? new List <BlobSignedIdentifier>());
     _leaseId         = leaseId;
 }
Esempio n. 3
0
 /// <summary>
 /// Convert ContainerAccessType to Azure's PublicAccessType.
 /// </summary>
 /// <param name="accessType">The accessType to convert.</param>
 /// <returns>A valid PublicAccessType</returns>
 public static PublicAccessType ToAzureEnum(this ContainerAccessType accessType)
 {
     return((PublicAccessType)(int)accessType);
 }
        public async Task <CreateContainerResponse> CreateContainerAsync(string containerName, ContainerAccessType containerAccessType)
        {
            var request  = new CreateContainerRequest(_account, containerName, containerAccessType);
            var response = await request.ExecuteAsync();

            return(response.Payload);
        }
 public async Task SetContainerACLAsync(string containerName, ContainerAccessType containerAccess, List <BlobSignedIdentifier> signedIdentifiers, string leaseId = null)
 {
     var request = new SetContainerACLRequest(_account, containerName, containerAccess, signedIdentifiers, leaseId);
     await request.ExecuteAsync(_containerNotFoundExceptionOverride);
 }
Esempio n. 6
0
        /// <inheritdoc/>
        public async Task ContainerSetPublicAccessAsync(string accountName, string containerName, ContainerAccessType accessType, StorageClientProviderContext context)
        {
            _ = StringHelpers.NullIfNullOrWhiteSpace(accountName) ?? throw new ArgumentNullException(nameof(accountName));
            _ = StringHelpers.NullIfNullOrWhiteSpace(containerName) ?? throw new ArgumentNullException(nameof(containerName));
            _ = context ?? throw new ArgumentNullException(nameof(context));

            BlobContainerInfo containerInfo;

            try
            {
                var connectionString = GetConnectionStringForAccount(accountName, context);
                var containerSleeve  = _blobContainerClientProvider.GetBlobContainerSleeveForConnectionString(connectionString, containerName, context);
                containerInfo = await containerSleeve.Client.SetAccessPolicyAsync(accessType.ToAzureEnum()).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                _log.LogExceptionObject(LogEventIds.FailedToChangeContainerAccess, e, new { accountName, containerName });
                throw new GridwichStorageServiceException("Could not change blob container access.",
                                                          LogEventIds.FailedToChangeContainerAccess, context.ClientRequestIdAsJObject, e);
            }
        }
 public CreateContainerRequest(StorageAccountSettings settings, string containerName, ContainerAccessType containerAccessType)
     : base(settings)
 {
     _containerName       = containerName;
     _containerAccessType = containerAccessType;
 }