google-cloud-functions - 在 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?
解决方案
据我了解,GCS 存储桶不能作为本地驱动器安装在用于云功能的运行时环境中。
因此,您可能需要将源csv
文件下载到云函数内存中并将其保存为例如“/tmp”目录中的文件。
然后,您可以将其从该位置上传到 GCS 存储桶中。此处提供了如何上传的更详细说明:将文件从 /tmp 文件夹移动到 Google Cloud Storage 存储桶
注意:云函数有一些限制——即内存和超时。确保您(在部署期间)分配了足够的内存和时间来处理您的csv
文件。
此外,请确保您的云功能使用的服务帐户具有正在讨论的 GCS 存储桶的相关 IAM 角色。
推荐阅读
- java - 如何检查字符串是否包含数组中的值
- hyperledger-fabric - 将 Hyperledger Fabric 本地 BYFN 网络连接到 IBM Blockchain Platform VS Code Extension 时出错
- c# - 从后端请求数据时的 WPF MVVM ViewModel 多线程和异步
- reactjs - 渲染选定的食物项目 ReactJs (Material-UI)
- nsis - execwait 不起作用后删除命令
- r - 结合多个观察 n R 数据框
- graphics - 如何使 java 程序在我的 nvidia gpu Linux 上运行
- java-9 - Windows 中的 jshell 类路径
- javascript - 获取所有跨度并使用 puppeteer 单击它们 - 因“节点不可见”和其他错误而失败
- swift - 在函数头上指定 Int 的 CGRect