Amazon S3-一个对象的多个键

Sec*_*zlu 4 amazon-s3 amazon-web-services

我有一个S3存储桶,其中包含超过1亿个对象,每个对象和往常一样具有唯一的密钥。我想知道是否有一种方法可以给其中一些对象分配另一个键。像这样:

Key1-> Object1

Key2-> Object2

Key3 ---> Object2(我想添加它)

我在AWS文档中进行了查询,但找不到任何相关内容。

另一种方法是使用Key3创建一个伪对象,该伪对象重定向到实际对象。这样会更容易吗?

Rod*_*o M 7

键是对象的唯一标识符:

来自对象键和元数据

每个Amazon S3对象都有数据,密钥和元数据。对象键(或键名)唯一标识存储桶中的对象。

另一种方法是使用Key3创建一个伪对象,该伪对象重定向到实际对象。这样会更容易吗?

是的,您可以这样做:您可以使用“ 用户定义的对象元数据”创建Key3,并在元数据中定义一个键/值对,如下所示:

x-amz-meta-KeyAlias=Key2
Run Code Online (Sandbox Code Playgroud)

该元数据表示此密钥是另一个密钥的别名。

然后,您的应用可以读取该元数据,然后将请求从Key3重定向到Key2。

如果存储桶公开为公共网站,则您也可以实施某种形式的重定向。更新:使用网站端点时,此方法适用于任何对象类型/扩展名

  • 据我所知,这仅适用于作为网站的 S3 存储桶,并且仅适用于 .html 页面。 (2认同)
  • 您的术语有点偏离……REST/API 端点是`bucket.s3[-region].amazonaws.com`,网站端点是`bucket.s3-website-[region].amazonaws.com `(对于启用了网站托管功能的存储桶)。请参阅 http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff 以确认术语和两个端点的功能集之间的差异。 (2认同)