Google drive api 将文件从Google Drive复制到Google内的Google云存储

Google drive api 将文件从Google Drive复制到Google内的Google云存储,google-drive-api,google-cloud-platform,google-cloud-storage,Google Drive Api,Google Cloud Platform,Google Cloud Storage,是否可以将文件从Google Drive复制到Google云存储?我想这会非常快,因为两者都在一个相似的存储系统上 我还没有看到任何关于实现无缝连接的方法的信息,无需下载文件(可能是下载到谷歌系统外的系统),然后重新上传。大约一年前,有人问了一个类似的问题: 有没有一种方法可以直接做到这一点,让文件一直保存在Google中 没有直接的方法可以做到这一点。您可以编写一个应用程序引擎或计算引擎应用程序,使用其API从驱动器读取数据,并使用其API向GCS写入数据。@frunkad评论了一个很好的解决

是否可以将文件从Google Drive复制到Google云存储?我想这会非常快,因为两者都在一个相似的存储系统上

我还没有看到任何关于实现无缝连接的方法的信息,无需下载文件(可能是下载到谷歌系统外的系统),然后重新上传。大约一年前,有人问了一个类似的问题:


有没有一种方法可以直接做到这一点,让文件一直保存在Google中

没有直接的方法可以做到这一点。您可以编写一个应用程序引擎或计算引擎应用程序,使用其API从驱动器读取数据,并使用其API向GCS写入数据。

@frunkad评论了一个很好的解决方法的链接,但为了完整性,我将在这里重复这一点,因为它是当前搜索中最热门的结果

您可以打开Colab(谷歌服务器上的Juypter笔记本电脑),挂载gDrive并使用gCloud CLI复制文件

  • 打开并连接到机器
  • 通过执行下面的代码,单击链接并粘贴身份验证密钥来装载驱动器
  • 连接到您的Google Cloude存储。(可以找到项目id。)
  • 使用gsutil复制文件。为多线程使用-m标记以提高速度。(在装入的驱动器中有一个名为“我的驱动器”的子文件夹,您必须对其进行寻址)
  • 原作者


    链接到他的colab:

    作为更新:这太棒了!
    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}/