如何在谷歌应用引擎上使用gcloud?

时间:2016-05-30 09:44:36

标签: python google-app-engine protocol-buffers gcloud-python google-cloud-python

我试图在谷歌应用引擎上使用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的任何帮助?

谢谢!

1 个答案:

答案 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()

确保您的应用引擎可以访问您的云存储分区。