【问题标题】:Is there a way make a duplicate of object on s3 within same bucket in constant time - O(1)有没有办法在恒定时间内在同一桶内复制 s3 上的对象 - O(1)
【发布时间】:2019-03-14 09:52:57
【问题描述】:

目前我正在研究 s3,发现一个存储桶中的复制对象需要很长时间。 我想知道是否有一种方法可以在同一存储桶内的 s3 中更有效地复制对象 - 即只制作指向相同数据内容的元数据文件的副本 - 因为副本中的数据内容根本不会改变.

所以这里的关键目标不仅是在对象上有一个符号链接,而且如果有一些键仍然指向它,则不会删除该对象。我想要实现的是'

T0: key1 -> 对象

T1: 我在问一些魔术参考副本,所以 key2 指向对象

key1 -> 对象

key2 -> 对象

T3: 删除key1,但是在bucket中我们仍然可以看到key2。

key2 -> 对象

key2的创建不涉及数据内容-对象的复制。

【问题讨论】:

  • 不删除Key1,如果修改了Key1处的对象呢?您希望该更改反映在 Key2 中吗?我想知道的是你想要符号链接/指针还是真正的复制操作。
  • 您是否已经确定内置副本不适合您? docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html
  • @MatthewPope 我相信 s3 不支持一旦我们上传到云端就改变数据内容,对吧?所以我的观点是,当我上传一个对象时,我们有一个指向内容的关键点。我可以在不复制整个数据内容的情况下创建参考副本吗?
  • 好的,所以不要更新 key1,如果你上传一个新对象到 Key1 会怎样。您希望 Key2 返回新对象还是保持不变?

标签: amazon-s3


【解决方案1】:

您可以上传一个 0 字节的对象并将重定向标头添加到对象元数据。这是set up an object redirect的方法。

如果您从 REST API 读取文件,则需要确保检查并遵循应用程序代码中的重定向标头。如果您使用website endpoint,您应该会获得自动重定向。

【讨论】:

  • 一个问题是我可能会删除原始对象。
猜你喜欢
  • 2023-03-08
  • 2017-07-30
  • 2015-02-10
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多