PHP前端开发

创建本地环境以从 Flask 操作 GCS 模拟器

百变鹏仔 5天前 #Python
文章标签 模拟器

本文介绍如何在本地环境中使用 GCS 模拟器,以便在 Cloud Run 上构建使用 Flask 操作 Google Cloud Storage (GCS) 的应用程序。

模拟器选择

示例代码及设置

示例代码已上传至 GitHub 仓库(flask-gcs),详细步骤请参考仓库中的 README.md 文件。 通过克隆仓库并运行 make up 命令即可快速搭建本地环境,实现文件的上传、下载和删除操作。

docker-compose.yml 配置

为了在 Flask 容器中使用 GCS 模拟器,需要设置 storage_emulator_host 环境变量:

services:  app:    environment:      - storage_emulator_host=http://gcs:4443

Flask 中的 Storage Client 配置

通过检查 storage_emulator_host 环境变量来判断是否使用模拟器:

def get_storage_client():    emulator_host = Config.STORAGE_EMULATOR_HOST    if emulator_host:        client = storage.Client(            credentials=AnonymousCredentials(),            project="test",        )    else:        client = storage.Client()    return client

总结

在本地开发环境中使用 GCS 模拟器,可以方便地测试 Flask 应用与 GCS 的交互。 生产环境中无需使用模拟器,只需移除 storage_emulator_host 环境变量,指定您的 bucket 名称,并确保 Cloud Run 拥有相应的权限即可。