首页 > 解决方案 > 在 Cloud Function 的 chrome-drive 中将下载目录设置为 Cloud Storage

问题描述

我正在尝试创建一个访问网站并将 CSV 文件下载到云存储的云函数。

我设法使用 headless-chrominium 和 chromedriver 访问了该站点。
在我的本地环境中,我可以设置下载目录,如下所示

options.add_experimental_option("prefs", {
    "download.default_directory": download_dir,
    "plugins.always_open_pdf_externally": True
})

哪里download_dir"/usr/USERID/tmp/"

如何在 Cloud Function 中分配值以使其指向正确的 Cloud Storage?

标签: google-cloud-functionsgoogle-cloud-storagegoogle-chrome-headless

解决方案


据我了解,GCS 存储桶不能作为本地驱动器安装在用于云功能的运行时环境中。

因此,您可能需要将源csv文件下载到云函数内存中并将其保存为例如“/tmp”目录中的文件

然后,您可以将其从该位置上传到 GCS 存储桶中。此处提供了如何上传的更详细说明:将文件从 /tmp 文件夹移动到 Google Cloud Storage 存储桶

注意:云函数有一些限制——即内存和超时。确保您(在部署期间)分配了足够的内存和时间来处理您的csv文件。

此外,请确保您的云功能使用的服务帐户具有正在讨论的 GCS 存储桶的相关 IAM 角色。


推荐阅读