4

如果我按如下方式创建 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 资源管理器时,我可以看到我的存储桶在所有地区都可用。

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

谢谢!

4

1 回答 1

6

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

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

此处相关的主要设计方面是S3 存储桶名称必须是全球唯一的,无论您在哪个区域创建它。这可能就是为什么 AWS 决定在一个视图中显示所有存储桶,而不是像所有其他服务那样按区域分隔,这无疑会非常令人困惑(并且随着存储桶数量的增加也会变得笨拙)。

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


更新

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

考虑到可用的视图空间和所需的完全简单的 API 操作,这实际上非常令人费解——我通常每天都使用 Visual Studio 和 Eclipse,并且长期以来一直切换到AWS Toolkit for Microsoft Visual Studio,因为它被认为是性能优势和更大更深的服务覆盖范围,但还没有意识到这个真正令人惊讶的遗漏。

因此,您暂时需要借助 AWS 管理控制台AWS Toolkit for Microsoft Visual Studio来直观地检查/验证您的区域。

于 2012-08-02T23:24:56.043 回答