我正在尝试通过一系列URL直接上传到Google Cloud Storage。我一直在尝试在此处实施解决方案表格: How to upload an image from web into Google Cloud Storage?
尤其是每当我尝试使用cloudstorage模块打开文件时,
options={'x-goog-acl': 'public-read', 'Cache-Control': 'private, max-age=0, no-transform'}
with gcs.open(filename, 'w', content_type=content_type, options=options) as f:
f.write(image_bytes)
我收到以下错误:
AttributeError Traceback (most recent call last)
<ipython-input-8-dec1a5d39c62> in <module>()
18
19 options={'x-goog-acl': 'public-read', 'Cache-Control': 'private, max-age=0, no-transform'}
---> 20 with gcs.open(filename, 'w', content_type=content_type, options=options) as f:
21 f.write(image_bytes)
22 f.close()
AttributeError: 'module' object has no attribute 'open'
我已经尝试过在隔离的环境中安装cloudstorage,但仍然没有运气。
基于以下参考,cloudstorage.open()存在于 https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/functions
您知道问题可能在哪里吗?
谢谢!
答案 0 :(得分:2)
执行print dir(gcs)
以查看其中的内容。您可能正在安装名称相似但不同的软件包。
听起来这就是您想要的
https://github.com/GoogleCloudPlatform/appengine-gcs-client/tree/master/python/src/cloudstorage
这是您要使用的功能:
此仓库的readme.md指向此处:
说要这样做:
pip install GoogleAppEngineCloudStorageClient -t <your_app_directory/lib>