在同一项目中列出来自 Cloud Function 的 GCS 存储桶 blob

我想列出同一项目中 Google Cloud Function 的存储桶中的文件。


现在,我的云功能代码是


main.py


from google.cloud import storage


def my_function(event, context):

    storage_client = storage.Client()


    blobs = storage_client.list_blobs("my_bucket")


    for blob in blobs:

        print(blob.name)

要求.txt


google-cloud==0.34.0

我收到的错误是


从 google.cloud 导入存储 ImportError:无法从“google.cloud”(未知位置)导入名称“存储”


我的印象是它google-cloud会预加载在运行云功能的机器上,但事实似乎并非如此。


如何列出存储桶中的文件?

慕仙森
浏览 1617回答 2
2回答

梵蒂冈之花

google-cloud 模块(按原样)已弃用。最新版本是 2018 年的。您只需在requirements.txt中指定google-cloud-storage,如下所示:google-cloud-storage>=1.31.0pypy 和google-cloud-python github 页面都表示您只需要导入您将使用的服务的模块。截至今天(2020 年 9 月),当您仅安装 google-cloud-storage 时,它最终会将 google-cloud 作为依赖项安装,但无需使用它或从代码中导入它。另外,请记住,执行云功能的服务帐户必须具有“storage.buckets.list”IAM 权限。

慕勒3428872

该google-cloud依赖项包含 Google Cloud 客户端库的所有常见元素。但它并不包含所有 GCP 产品的所有库。因此,您必须包含云存储的客户端库https://pypi.org/project/google-cloud-storage/您可以删除google-cloud依赖项,因为它会自动包含在依赖google-cloud-storage项中
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python