如何打开存储在 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>
查看.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”命令之前)?
最佳答案
我有一个 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()
关于python - 如何从 Google App Engine 读取 Google Cloud Storage 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48739671/