/// <summary> /// Create bucket /// </summary> /// <param name="bucketName">Bucket name - Validation: lower case alpha numeric characters plus dots.</param> /// <returns></returns> /// <exception cref="BucketNameIsNotValidException">Thrown when bucket name is invalid.</exception> /// <exception cref="BucketExistsException">Thrown when bucket already exists with this name.</exception> /// <exception cref="EndpointUnreachableException">Thrown when S3 endpoint is unreachable.</exception> /// <exception cref="S3BaseException">Thrown when exception is not handled.</exception> public async Task CreateBucket(string bucketName) { try { Validation.ValidateBucketName(bucketName); await _requestRetryPolicy.ExecuteAsync(async() => { var exists = await _bucketOperationsClient.BucketExistsAsync(bucketName.ToLower()); if (exists) { throw new BucketExistsException(bucketName); } await _bucketOperationsClient.MakeBucketAsync(bucketName.ToLower()); }); } catch (MinioException ex) when(ex is ConnectionException || ex is InternalServerException || ex is InternalClientException || ex is InvalidEndpointException ) { throw new EndpointUnreachableException(_endpoint, ex.ToString()); } catch (S3BaseException) { throw; } catch (Exception ex) { throw new S3BaseException(ex.Message, ex.ToString()); } }
public bool Found() { var checkTask = minio.BucketExistsAsync(bucketName); checkTask.Wait(); return(checkTask.Result); }