如何将文件从谷歌云存储加载到谷歌云功能

Ans*_*med 2 python google-cloud-storage google-cloud-platform google-cloud-functions

我必须从存储在谷歌云存储中的文件中读取数据,我使用此方法在我的 GCP 函数中加载文件,但这会导致错误

client = storage.Client()
bucket = client.get_bucket('bulk-testing')
blob = bucket.get_blob("h1.csv")
blob.download_to_filename("h2")
Run Code Online (Sandbox Code Playgroud)

错误:- download_to_filename 使用“wb”模式加载文件错误:[Errno 30] 只读文件系统:“h2”

此功能不在本地计算机/环境中运行,因此我无法在本地计算机上下载文件然后打开它。

Dou*_*son 5

如果您需要在 Cloud Functions 中写入文件,系统唯一可写的部分位于 /tmp 中。 阅读有关此内容的文档。 该空间由内存支持,因此您需要确保该函数已配置有足够的内存来写入文件。

您可能应该调用要写入的文件的完整路径:

blob.download_to_filename("/tmp/h2")
Run Code Online (Sandbox Code Playgroud)

  • 这是一个单独的问题(您应该已经可以找到很多答案)。但类似 from pathlib import Path; Path("tmp/h2").unlink() 应该可以工作 (3认同)