C# 为特定区域创建S3 bucket
如果我创建一个S3 bucket,如下所示:C# 为特定区域创建S3 bucket,c#,amazon-s3,region,bucket,C#,Amazon S3,Region,Bucket,如果我创建一个S3 bucket,如下所示: AmazonS3Config amazonS3Config = new AmazonS3Config { ServiceURL = "s3-eu-west-1.amazonaws.com" }; AmazonS3Client amazonS3Client = new AmazonS3Client(myAccessKeyId, mySecretAccessKey, amazonS3Con
AmazonS3Config amazonS3Config = new AmazonS3Config
{
ServiceURL = "s3-eu-west-1.amazonaws.com"
};
AmazonS3Client amazonS3Client = new AmazonS3Client(myAccessKeyId,
mySecretAccessKey, amazonS3Config)
PutBucketRequest request = new PutBucketRequest
{
BucketName = bucket.Name,
BucketRegion = S3Region.EU
};
amazonS3Client.PutBucket(request);
如您所见,我已明确指定在欧盟地区创建我的桶,但是当我转到AWS explorer时,我可以看到我的bucket在所有地区都可用 如果我的bucket总是在所有区域中复制,那么指定bucket region有什么意义呢?
谁能澄清一下吗
谢谢大家! 您可能指的是或的AWS Explorer视图中的节点 Amazon S3在AWS服务中是独一无二的,其区域处理方式多种多样(可能只是一个遗留问题,因为它是早期产品之一),这也反映在“直到今天: 与此相关的主要设计方面是,S3 bucket名称必须是全局唯一的,无论您在哪个区域创建它。这可能就是为什么AWS决定在一个视图中显示所有bucket,而不是像所有其他服务一样按区域分隔,这可能会让人非常困惑(随着bucket数量的不断增加,这也会变得很麻烦) 然而由于AWS Explorer和AWS管理控制台中的统一显示,bucket仍然在指定的区域中创建,这一点并不明显。通过打开bucket的properties视图(通过toolkits中的properties上下文菜单和控制台中的properties按钮),可以看到bucket的区域
更新 我刚刚意识到,S3 Bucket实际上没有这样一个属性窗口,这不仅严重限制了它的功能(因为你不能更改高级Bucket选项),而且根据你的问题,它必须被认为是一个值得注意的可用性缺陷 事实上,考虑到可用的view estate和所需的完全简单的API操作,这是相当令人费解的-我通常每天都使用Visual Studio和Eclipse,并且由于其可感知的性能优势和更大、更深的服务覆盖率,我早就改用了,但我还没有意识到这一令人惊讶的遗漏
因此,您将需要借助AWS管理控制台或AWS Toolkit for Microsoft Visual Studio来目视检查/验证您的区域。感谢您的详细回复Steffen:-)是的,您是对的-VS中的属性窗口确实显示了正确的区域。