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

wufei1232025-01-24python8

创建本地环境以从 flask 操作 gcs 模拟器

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

模拟器选择

  • 我们采用 fsouza/fake-gcs-server 作为 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 拥有相应的权限即可。

以上就是创建本地环境以从 Flask 操作 GCS 模拟器的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。