public async Task EnsureBucketExistsAsync()
{
using (var s3Client = new AmazonS3Client(credentials, s3ConfigurationProvider.RegionEndpoint))
{
var getBucketLocationResponse = await s3Client.ListBucketsAsync();
if (
getBucketLocationResponse.Buckets.Any(
bucket => bucket.BucketName == s3ConfigurationProvider.BucketName))
{
loggerProvider.GetLogger().Debug("Bucket {bucketName} exists.", s3ConfigurationProvider.BucketName);
}
else
{
loggerProvider.GetLogger()
.Debug("Bucket {bucketName} does not exist. Creating...", s3ConfigurationProvider.BucketName);
await s3Client.PutBucketAsync(s3ConfigurationProvider.BucketName);
}
await EnsureExpirationRuleOnBucketAsync(s3Client);
}
}