为特定区域创建S3存储桶

时间:2012-08-01 10:37:57

标签: 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); 

如您所见,我已明确指定在欧盟地区创建我的桶,
但是当我去AWS explorer时,我可以在所有地区看到我的存储桶。

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

谢谢!

1 个答案:

答案 0 :(得分:5)

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

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

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

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


更新

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

实际上非常令人费解,考虑到可用的视图区域以及为此所需的极其简单的API操作 - 我通常每天都使用Visual Studio和Eclipse,并且很久就切换到了AWS Toolkit for Microsoft Visual Studio它的感知性能优势和更大更深的服务覆盖率开始,但尚未意识到这个真正令人惊讶的遗漏。

因此,您需要使用 AWS管理控制台 AWS Toolkit for Microsoft Visual Studio 来直观地检查/验证您所在的地区。