首页 文章

如何从Google App Engine中读取Google Cloud 端存储文件

提问于
浏览
2

如何打开存储在Google Cloud 端存储中的文件(来自App Engine)?

我正在使用Python,Flask和App Engine(灵活环境) . 该文件不是公共的,该存储桶属于App Engine项目,因此具有正确的权限集 .

的app.yaml

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT view:app
runtime_config:
  python_version: 3.5
env_variables:
    CLOUD_STORAGE_BUCKET: <project-xxxx>

view.py

...
from google.cloud import storage 
gcs = storage.Client()

@app.route('/start_serving/<file_name>')
def start(file_name):
    WHAT TO DO HERE?

#Rest of the app

先感谢您 . 我在文档中找不到任何相关内容 . 它提供了有关如何创建存储桶,如何上载,如何下载,如何授予权限的信息,但没有提供有关如何阅读它的信息 .

另外,如何从我的计算机上打开它(在运行'gcloud app deploy'命令之前)?

1 回答

  • 3

    我有一个python2.7 flex应用程序,我使用 blob.upload_from_string() 上传到GCS,但看起来有一个 blob.download_as_string() 所以这样的东西可能会工作

    from google.cloud import storage
    
    project_id = os.environ['GCLOUD_PROJECT']
    CLOUD_STORAGE_BUCKET = "%s.appspot.com" % project_id
    
    @app.route('/start_serving/<file_name>')
    def start(file_name):
        gcs = storage.Client()
        bucket = gcs.get_bucket(CLOUD_STORAGE_BUCKET)
        blob = bucket.blob(file_name)
        return blob.download_as_string()
    

相关问题