我试图在谷歌应用引擎上使用gcloud的客户端和存储桶。 首先,我安装gcloud。
pip install gcloud -t my_project_directory
其次,我开始导入gcloud并使用它。这是我的代码:
from gcloud import storage
class printstr(webapp2.RequestHandler):
def get(self):
self.response.out.write("YA")
config = {}
config['webapp2_extras.sessions'] = {
'secret_key': 'my-super-secret-key',
}
app = webapp2.WSGIApplication([('/back/printstr', printstr),
], debug=True, config=config)
当我打开地址(localhost:8080 / back / printstr)时,我应该看到" YA"在页面上。但我得到了HTTP ERROR 500.我看到了日志:
from google.protobuf import timestamp_pb2
ImportError: No module named protobuf
我确定google(文件夹)中有一个protobuf(文件夹),protobuf(文件夹)中有一个timestamp_pb2.py。但是,我不知道为什么会出现这个错误?关于我应该如何使用gcloud的任何帮助?
谢谢!
答案 0 :(得分:1)
有一种更好的方法可以做到这一点。您可以使用cloudstorage python客户端api将您的应用引擎与云存储桶连接。
使用pip: pip install GoogleAppEngineCloudStorageClient -t your_app_directory / lib
使用git: git clone https://github.com/GoogleCloudPlatform/appengine-gcs-client.git
在python路径中运行此库之后:
import cloudstorage as gcs
path = "/<bucket_name>/<file_path>"
gcs_file = gcs.open(path)
data = gcs_file.read()
gcs_file.close()
确保您的应用引擎可以访问您的云存储分区。