将文件从 gcs 存储桶复制到另一个存储桶时如何保留世代号

How to keep generation number when copy file from gcs bucket to another bucket

我正在为 wordpress 使用 gcs bucket(wp-stateless 插件) 创建媒体文件并将其上传到存储桶后。我将它复制到其他存储桶(重复)。但是每个对象的代数已经改变(可能是随机的)。

我的问题是:如何使生成编号与目标存储桶中的存储桶源保持相同?

提前致谢。

基本上,在将文件从一个存储桶复制到另一个存储桶时,没有一种官方方法可以保持相同的版本和世代号。这是 WAI 和直观的,因为版本号指的是这个对象(驻留在这个桶上),当你将它复制到另一个桶时,它不是同一个对象(它是一个副本)所以它不能保持相同 version number .

我可以想到一个解决方法,将您自己的对象版本保存在某处,然后通过 API 制作一个有组织的副本。这意味着您将倾倒存储桶,但您需要拥有所有对象及其版本的列表,然后按顺序添加它们(听起来工作量很大)。您可以在每个对象的元数据中保留自己的版本控制(或相同的版本控制)。

如果您的应用程序依赖于对象的版本控制,我建议您使用自定义元数据。基本上,如果您使用自定义元数据进行自己的版本控制,则在将对象复制到新存储桶时,它会保留相同的元数据。

已经创建了一个关于此的 feature request。但是,它提到它目前不可行。

但是,您可以提出新的功能请求here