问题 如何将数据直接从一个Google云端存储项目移动到另一个?


如何将数据直接从一个Google云端存储项目移动到另一个? 我了解如何上传和如何下载,但我想直接在项目之间转移。


7034
2018-06-25 11:49


起源

“项目”是组织工具的结构......无论如何,对象都存在于存储桶中。因此,您只需将其从桶中复制到桶中即可。 - Nick Franceschina


答案:


要将任何单个对象从一个GCS位置复制到另一个GCS位置,可以使用copy命令。这可以通过我们的任何公共API或我们的命令行客户端gsutil来完成。

使用gsutil,命令就是:

gsutil cp gs://bucket1/obj gs://bucket2/obj2

编辑:自从我写这篇文章以来,谷歌云端传输服务已经可用,这有利于在GCS项目之间复制整个存储桶,或者将整个存储桶从S3复制到GCS中。你可以在这里查询更多详情: https://cloud.google.com/storage/transfer/


11
2018-06-25 17:29



这似乎在同一个项目中的两个桶之间复制。您是否有从一个项目复制到另一个项目的示例? - HannahS
此示例中的存储桶可以位于不同的项目中。此示例中没有提及特定项目。 - Eyal Levin
问题出在凭证中,您必须拥有可以访问这两个项目的凭据。 - xmedeko


GCS中的存储桶名称在所有项目中都是唯一的。例如,Project1和Project2都不能同时具有名为“images”的存储桶,尽管它们每个都可以在名为“images”的存储桶中包含文件夹。

这似乎有误导性,因为gsutil可能会要求您选择要使用的项目。对于复制命令,可以忽略此选择。

gsutil cp gs://bucket1/obj gs://bucket2/obj

将允许您将Project1 / bucket1中的对象复制到Project2 / bucket2


4
2017-08-18 01:05





打开Web控制台 存储>转移 创建新的转移。

选择要从中复制的源存储桶。就像 火山口menitoned 就在这里,存储桶标识符是唯一的 (这是解决方案的关键)。因此,一旦到达传输表单的目标部分,就可以将目标存储桶写入/粘贴到其文本输入中。即使那个桶来自另一个项目。一旦目标被验证为现有存储桶,它将显示绿色图标。您可以再次继续表单以完成设置。

从表单开始传输后,您可以通过点击控制台顶部的刷新按钮来跟踪它的进度。


2
2017-11-20 10:00



这对我来说是最简单的路线。 - Adam Hurwitz


如果你想将数据从一个项目复制到另一个项目,我尝试下面的东西,它的工作,[从项目1计算引擎server1传输文件到bucket1,在项目2计算引擎服务器2上下载并上传到桶2]。
1.使用gsutil将数据传输到第一个项目/谷歌存储桶。
2.登录webui,cloud.google.com,在步骤1中传输文件时选择项目并转到存储,然后查看存在的文件。选择该文件并选中右侧公开共享复选框。
3.右键单击公共链接,然后选择复制链接地址。
4.登录到另一个项目计算引擎服务器并使用步骤3中获得的wget和链接,就是这样。现在您可以再次使用gsutil并在另一个项目谷歌存储桶中上传文件。
重要的是,请再次禁用公共共享链接。

希望它会有所帮助。


-1
2017-09-19 11:39