【问题标题】:How to read a Google Cloud Storage file from Google App Engine如何从 Google App Engine 读取 Google Cloud Storage 文件
【发布时间】:2018-07-22 05:18:50
【问题描述】:

如何打开存储在 Google Cloud Storage 中的文件(来自 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”命令之前)?

【问题讨论】:

    标签: python google-app-engine google-cloud-storage


    【解决方案1】:

    我有一个 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      相关资源
      最近更新 更多