You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Cloud Run时如何访问已挂载Secret及相关挂载问题

问题1:同一路径下无法挂载两个Cloud Secret的原因

  • Cloud Run等云原生运行环境强制要求每个卷挂载路径必须全局唯一,你尝试将两个不同Secret映射到完全相同的路径时,系统无法判断该路径应当对应哪个Secret的内容,因此会触发spec.template.spec.containers[0].volume_mounts[1].mount_path, Duplicate volume mount paths are forbidden的报错。
  • 可行的配置方案:将两个Secret分别挂载到目标目录下的不同文件名即可,例如:
    • 将FIREBASE_AUTH_SERVICE_ACCOUNT挂载到flask_app/src/services/firebase/service_accounts/firebase_auth_sa.json
    • 将PURCHASE_VALIDATION_SERVICE_ACCOUNT挂载到flask_app/src/services/firebase/service_accounts/purchase_validation_sa.json
      两个挂载路径不重复,同时所有密钥文件都会落在你需要的service_accounts目录下。

问题2:Python读取已挂载Secret的方法

  • 挂载的Secret没有默认的.txt格式后缀,文件名和格式完全由你配置挂载路径时指定:你填写的挂载路径如果是完整的文件路径,Secret的内容就会直接存储为该路径对应的文件;如果需要将多个Secret放在同一个目录,只需要给每个Secret指定该目录下的不同文件名即可。
  • Python读取已挂载Secret和读取本地普通文件逻辑完全一致,示例代码如下:
import json

# 替换为你实际配置的Secret挂载路径
firebase_sa_path = "flask_app/src/services/firebase/service_accounts/firebase_auth_sa.json"
with open(firebase_sa_path, "r", encoding="utf-8") as f:
    firebase_service_account = json.load(f)

内容的提问来源于stack exchange,提问作者Tom Bushell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 14:42:02