Python 在同一项目中列出来自云函数的GCS bucket blob
我想在同一个项目中列出来自谷歌云功能的bucket中的文件。 现在,我的云函数代码是 main.pyPython 在同一项目中列出来自云函数的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:
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中的问题