是否可以从 Google Drive 自动将内容上传到 Cloud Storage?

Posted

技术标签:

【中文标题】是否可以从 Google Drive 自动将内容上传到 Cloud Storage?【英文标题】:It's possible to upload content to Cloud Storage automatically from Google Drive? 【发布时间】:2021-04-24 20:05:24 【问题描述】:

我需要将 CSV 文件从 Google Drive 自动加载到 BigQuery 中,我想知道是否可以这样做:

    Google 云端硬盘文件夹 Pub/Sub、云函数、DriveApi...?? 云存储桶 大查询

我开发了一个 python 脚本,可以将存储在 Cloud Storage 中的 CSV 文件自动上传到 BigQuery,现在我需要创建 Google Drive 和 Cloud Storage 之间的工作流。

我一直在研究,但真的不知道如何进行。

有什么提示吗?

【问题讨论】:

那么,如果我正确理解您的问题,您的目的是将云端硬盘文件存储在云存储中吗?到目前为止,您尝试了什么?你有正在处理的代码吗? @Iamblichus 是的,正确的。我已经完成了“下一步”,这是将存储桶 csv 内容发送到 BigQuery 的代码,它实际上工作正常。但我需要将内容从云端硬盘移动到云存储,我不知道该怎么做。也许使用某种触发器.. 不确定 谷歌云存储不在我的专业领域,但我想你应该先从云端硬盘导出文件(见Download files)然后upload them to Cloud Storage。 @Iamblichus 这就是我所需要的。我需要它自动触发。 【参考方案1】:

您需要开发一个应用来监听变化,Google App Engine 或 Cloud Functions 在这里运行良好。

应用需要实现对您的用例有意义的检索更改逻辑。

请参阅这些 Google Drive API 文档https://developers.google.com/drive/api/v3/manage-changes

对于云端硬盘,我建议您询问 OAuth 对于任何应用程序是否值得。让您的用户提交到轻量级前端可能更容易开发。

【讨论】:

此答案与@jareyes 在 1 月就同一问题 link 给出的答案重复【参考方案2】:

尝试使用 Google drive API 从 google drive 中提取数据并将其加载到您想要的任何位置,即 GCS、BQ 表等。 您可以参考example 来创建代码来实现。

【讨论】:

我需要它来触发代码。我的想法是在 Google Cloud Functions 上部署脚本,并在 Cloud Storage 中存储新文件时使其运行...【参考方案3】:

您需要开发一个应用来监听变化,Google App Engine 或 Cloud Functions 在这里运行良好。

应用需要实现对您的用例有意义的检索更改逻辑。

请参阅这些 Google Drive API 文档https://developers.google.com/drive/api/v3/manage-changes

对于云端硬盘,我建议您询问 OAuth 对于任何应用程序是否值得。让您的用户提交到轻量级前端可能更容易开发。

【讨论】:

以上是关于是否可以从 Google Drive 自动将内容上传到 Cloud Storage?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将 Google Drive 中的相册添加到 Google Photos?

是否可以从 Android API 对 Google Drive 文件进行随机访问写入?

两个 Google Drive 共享驱动器之间的自动同步

Google Drive 作为 FTP 服务器

Python:从 Google Drive API 获取 zip 文件并加载其内容

如何从Colab / Jupyter中的共享Google Drive链接获取文件?