是否可以将文件从 Google 云端硬盘复制到 Google 云存储?我想它会非常快,因为两者都在相似的存储系统上。
我还没有看到任何有关无缝执行此操作的方法的信息,而无需下载文件(可能到谷歌之外的系统)然后重新上传。大约一年前,有人问过类似的问题:将文件从保管箱/驱动器传输到 Google 云存储。
有没有办法直接执行此操作,并且文件始终保留在 Google 内?
@funkad 评论了一个很好的解决方法的链接,但为了完整起见,我将在这里复述这一点,因为它目前是搜索中的最高结果。
您可以打开 Colab(Google 服务器上的 Juypiter Notebook),安装 gDrive 并使用 gCloud CLI 复制文件。
from google.colab import drive
drive.mount(‘/content/drive’)
from google.colab import auth
auth.authenticate_user()
project_id = 'your-project-id'
!gcloud config set project {project_id}
!gsutil ls
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
没有直接的方法可以做到这一点。您可以编写一个 App Engine 或 Compute Engine 应用程序,使用其 API 从 Drive 读取数据并使用其 API 写入 GCS。
接受的解决方案对我来说效果不太好,因为 Colab 一直因不活动而关闭。就我而言,我尝试传输的驱动器中存储了大量数据。
解决方案是使用rclone。 Rclone 允许您将其配置为访问许多不同的存储服务,包括 Google Drive 和 Google 云。然后您可以使用
rclone copy
将数据从一个云存储复制到另一个云存储。我安装了它并将其设置在谷歌计算引擎实例上运行。
设置比 Colab 稍微复杂一些。但是,它不受 Colab 的限制,并且使用
-P
选项可以提供更好的进度信息。