本文整理汇总了C#中Amazon.S3.AmazonS3Client.PutBucketAsync方法的典型用法代码示例。如果您正苦于以下问题:C# AmazonS3Client.PutBucketAsync方法的具体用法?C# AmazonS3Client.PutBucketAsync怎么用?C# AmazonS3Client.PutBucketAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Amazon.S3.AmazonS3Client
的用法示例。
在下文中一共展示了AmazonS3Client.PutBucketAsync方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EnsureBucketExistsAsync
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);
}
}
示例2: CreateCloudFrontBucket
private async Task CreateCloudFrontBucket(string bucketName)
{
using (
var client = new AmazonS3Client(cfConfigurationProvider.AccessKey, cfConfigurationProvider.SecretKey,
cfConfigurationProvider.RegionEndpoint))
{
await client.PutBucketAsync(bucketName);
await
client.PutCORSConfigurationAsync(bucketName,
new CORSConfiguration
{
Rules =
{
new CORSRule
{
AllowedHeaders = {"Authorization"},
AllowedMethods = {"GET"},
AllowedOrigins = {"*"},
MaxAgeSeconds = 3000
}
}
});
var policy = new BucketPolicy
{
Version = "2012-10-17",
Statement =
new Statement
{
Sid = "AddPerm",
Effect = "Allow",
Principal = "*",
Action = "s3:GetObject",
Resource = $"arn:aws:s3:::{bucketName}/*"
}
};
await client.PutBucketPolicyAsync(bucketName, JsonConvert.SerializeObject(policy));
}
}