在 Cloud Function 的 chrome-drive 中将下载目录设置为 Cloud Storage
Posted
技术标签:
【中文标题】在 Cloud Function 的 chrome-drive 中将下载目录设置为 Cloud Storage【英文标题】:Setting download directory to Cloud Storage in chrome-drive in Cloud Function 【发布时间】:2021-11-27 12:05:44 【问题描述】:我正在尝试创建一个云函数来访问网站并将 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?
【问题讨论】:
【参考方案1】:据我了解,GCS 存储桶不能作为本地驱动器安装在用于云功能的运行时环境中。
因此,您可能需要将源文件csv
下载到云函数内存中并保存,例如a file in the "/tmp" directory。
然后,您可以将其从该位置上传到 GCS 存储桶中。更详细的上传说明 - 此处提供:Move file from /tmp folder to Google Cloud Storage bucket
注意:云函数有一些限制 - 即内存和超时。确保您(在部署期间)分配了足够的内存和时间来处理您的 csv
文件。
此外,请确保您的云功能使用的服务帐户具有与正在讨论的 GCS 存储桶相关的 IAM 角色。
【讨论】:
以上是关于在 Cloud Function 的 chrome-drive 中将下载目录设置为 Cloud Storage的主要内容,如果未能解决你的问题,请参考以下文章
如何在浏览器中获取 Google Cloud Translation API 的身份验证令牌(chrome 扩展)
Firebase Cloud Messaging - 更改 Android 上 Web 通知的默认 Chrome 图标
Chrome在哪里存储使用Windows 7上的Amazon-Cloud Extension下载的离线图书?
Spring-Cloud-Function-Spel 漏洞复现