我想列出同一项目中 Google Cloud Function 的存储桶中的文件。现在,我的云功能代码是main.pyfrom google.cloud import storagedef my_function(event, context): storage_client = storage.Client() blobs = storage_client.list_blobs("my_bucket") for blob in blobs: print(blob.name)要求.txtgoogle-cloud==0.34.0我收到的错误是从 google.cloud 导入存储 ImportError:无法从“google.cloud”(未知位置)导入名称“存储”我的印象是它google-cloud会预加载在运行云功能的机器上,但事实似乎并非如此。如何列出存储桶中的文件?
2 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
google-cloud 模块(按原样)已弃用。最新版本是 2018 年的。
您只需在requirements.txt中指定google-cloud-storage,如下所示:
google-cloud-storage>=1.31.0
pypy 和google-cloud-python github 页面都表示您只需要导入您将使用的服务的模块。
截至今天(2020 年 9 月),当您仅安装 google-cloud-storage 时,它最终会将 google-cloud 作为依赖项安装,但无需使用它或从代码中导入它。
另外,请记住,执行云功能的服务帐户必须具有“storage.buckets.list”IAM 权限。
慕勒3428872
TA贡献1848条经验 获得超6个赞
该google-cloud
依赖项包含 Google Cloud 客户端库的所有常见元素。但它并不包含所有 GCP 产品的所有库。
因此,您必须包含云存储的客户端库
您可以删除google-cloud
依赖项,因为它会自动包含在依赖google-cloud-storage
项中
添加回答
举报
0/150
提交
取消