将文件从 Google Drive 复制到 Google 内的 Google Cloud Storage

问题描述 投票:0回答:3

是否可以将文件从 Google 云端硬盘复制到 Google 云存储?我想它会非常快,因为两者都在相似的存储系统上。

我还没有看到任何有关无缝执行此操作的方法的信息,而无需下载文件(可能到谷歌之外的系统)然后重新上传。大约一年前,有人问过类似的问题:将文件从保管箱/驱动器传输到 Google 云存储

有没有办法直接执行此操作,并且文件始终保留在 Google 内?

google-drive-api google-cloud-platform google-cloud-storage
3个回答
17
投票

@funkad 评论了一个很好的解决方法的链接,但为了完整起见,我将在这里复述这一点,因为它目前是搜索中的最高结果。

您可以打开 Colab(Google 服务器上的 Juypiter Notebook),安装 gDrive 并使用 gCloud CLI 复制文件。

  1. 打开 https://colab.research.google.com/ 并连接到机器
  2. 通过执行下面的代码来安装您的驱动器,单击链接并粘贴身份验证密钥
from google.colab import drive
drive.mount(‘/content/drive’)
  1. 连接到您的 Google 云存储。 (项目 ID 可以在这里找到)
from google.colab import auth
auth.authenticate_user()
project_id = 'your-project-id'
!gcloud config set project {project_id}
!gsutil ls
  1. 使用 gsutil 复制文件。使用 -m 标签进行多线程以提高速度。 (有一个名为“我的驱动器”的子文件夹,您必须在安装的驱动器中找到该子文件夹)
bucket_name = 'your_bucket_name'
!gsutil -m cp -r /content/drive/My\ Drive/Your-Data/* gs://{bucket_name}/

原作者菲利普谎言

他的合作实验室链接:https://colab.research.google.com/drive/1Xc8E8mKC4MBvQ6Sw6akd_X5Z1cmHSNca


5
投票

没有直接的方法可以做到这一点。您可以编写一个 App Engine 或 Compute Engine 应用程序,使用其 API 从 Drive 读取数据并使用其 API 写入 GCS。


0
投票

接受的解决方案对我来说效果不太好,因为 Colab 一直因不活动而关闭。就我而言,我尝试传输的驱动器中存储了大量数据。

解决方案是使用rclone。 Rclone 允许您将其配置为访问许多不同的存储服务,包括 Google Drive 和 Google 云。然后您可以使用

rclone copy
将数据从一个云存储复制到另一个云存储。我安装了它并将其设置在谷歌计算引擎实例上运行。

设置比 Colab 稍微复杂一些。但是,它不受 Colab 的限制,并且使用

-P
选项可以提供更好的进度信息。

© www.soinside.com 2019 - 2024. All rights reserved.