为特定区域创建S3存储桶

use*_*869 4 c# amazon-s3 region bucket

如果我按如下方式创建S3存储桶:

    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); 
Run Code Online (Sandbox Code Playgroud)

如您所见,我已明确指定在欧盟地区创建我的存储桶,
但当我访问AWS explorer时,我可以看到我的存储桶在所有区域都可用.

如果我的存储桶总是在所有区域中复制,那么指定存储区域有什么意义呢?
有人可以澄清一下吗?

谢谢!

Ste*_*pel 5

大概您指的是AWS Toolkit for EclipseAWS Toolkit for Microsoft Visual Studio的AWS Explorer视图中的Amazon S3节点?

Amazon S3在AWS服务中是独一无二的,涉及以各种方式处理区域(可能只是遗留问题,因为它是早期产品之一),这一点也反映在AWS Management Console中,直到今天:

这里涉及的主要设计方面是S3存储桶名称必须是全局唯一的,无论您在哪个区域创建它.这可能就是为什么AWS决定在单个视图中显示所有存储桶而不是像所有其他服务一样按区域显示,这可能会让人感到非常困惑(并且随着越来越多的存储桶变得笨拙).

但是,仍然会在您指定的区域中创建存储桶,由于AWS ExplorersAWS管理控制台中的统一表示,因此它并不明显.您可以通过打开其属性视图来查看存储区域(通过工具包中的" 属性"上下文菜单和控制台中的" 属性"按钮).


更新

我刚刚意识到AWS Toolkit for Eclipse实际上缺少S3存储桶的这样的属性窗口,这不仅严重限制了它的功能(例如,因为你不能改变高级存储桶选项),但必须被认为是值得注意的可用性根据你的问题的错误.

考虑到可用的视图和完全简单的API操作,我实际上非常令人费解 - 我通常每天都使用Visual Studio和Eclipse,并且由于其感知而长期切换到适用于Microsoft Visual StudioAWS Toolkit性能优势和更大更深的服务覆盖率开始,但尚未意识到这个真正令人惊讶的遗漏.

因此,您需要求助于AWS管理控制台AWS Toolkit for Microsoft Visual Studio,以便目前直观地检查/验证您的区域.