Python 在同一项目中列出来自云函数的GCS bucket blob

Python 在同一项目中列出来自云函数的GCS bucket blob,python,google-cloud-platform,google-cloud-functions,Python,Google Cloud Platform,Google Cloud Functions,我想在同一个项目中列出来自谷歌云功能的bucket中的文件。 现在,我的云函数代码是 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:

我想在同一个项目中列出来自谷歌云功能的bucket中的文件。

现在,我的云函数代码是

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)
requirements.txt

google-cloud==0.34.0
我得到的错误是

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

我的印象是,
googlecloud
将预加载到运行云功能的机器上,但情况似乎并非如此

我试过:

  • 阅读谷歌,这是代码的来源
  • 阅读这里的其他问题,即(这一个表明,
    googlecloud
    没有预加载,这就是为什么我将其添加到
    requirements.txt
    )和(但我认为有一种方法可以做到这一点,而无需设置
    google\u应用程序\u凭据,因为我在同一个项目中调用)。也读一个,但批准的答案的代码看起来像我的,这是不工作的

  • 如何列出存储桶上的文件?

    谷歌云依赖项包含谷歌云客户端库的所有公共元素。但它并不包含所有GCP产品的所有库

    因此,您必须包含云存储的客户端库


    您可以删除
    谷歌云
    依赖项,因为它会自动包含在
    谷歌云存储

    谷歌云
    依赖项包含谷歌云客户端库的所有公共元素。但它并不包含所有GCP产品的所有库

    因此,您必须包含云存储的客户端库

    您可以删除
    谷歌云
    依赖项,因为它会自动包含在
    谷歌云存储
    中。最新版本于2018年发布

    您只需要在requirements.txt中指定google云存储,如下所示:

    google-cloud-storage>=1.31.0
    
    pypy和都表示,您只需要为将要使用的服务导入模块

    就像今天(2020年9月)一样,当你只安装谷歌云存储时,它最终会作为一个依赖项安装谷歌云,但没有必要使用它或从你的代码中导入它

    另外,请记住,执行云功能的服务帐户必须具有“storage.bucket.list”IAM权限。

    。最新版本于2018年发布

    您只需要在requirements.txt中指定google云存储,如下所示:

    google-cloud-storage>=1.31.0
    
    pypy和都表示,您只需要为将要使用的服务导入模块

    就像今天(2020年9月)一样,当你只安装谷歌云存储时,它最终会作为一个依赖项安装谷歌云,但没有必要使用它或从你的代码中导入它


    另外,请记住,执行云功能的服务帐户必须具有“storage.bucket.list”IAM权限。

    这是一个奇怪的错误。这不是通常的
    ModuleNotFoundError:没有模块名为'foo'
    的错误,当没有安装模块时会出现这种错误。在谷歌上搜索一下,当您试图从自己的源代码树导入模块时,这个错误似乎会出现,但您的操作并不完全正确。我不确定这如何适用于你的项目或谷歌云。这是一个奇怪的错误。这不是通常的
    ModuleNotFoundError:没有模块名为'foo'
    的错误,当没有安装模块时会出现这种错误。在谷歌上搜索一下,当您试图从自己的源代码树导入模块时,这个错误似乎会出现,但您的操作并不完全正确。我不确定这如何适用于你的项目或谷歌云。非常有用,当我部署我的云功能时解决我在项目gcp中的问题非常有用,当我部署我的云功能时解决我在项目gcp中的问题