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

Python3.11结合secret-manager2.16.0调用Google Secret Manager报错求助

排查Google Cloud Secret Manager「Invalid constructor input for AccessSecretVersionRequest」异常

你遇到的报错核心原因是变量名不一致:代码里创建的Secret Manager客户端实例是client,但调用access_secret_version方法时误用了未定义的secretmanager_client,导致请求构造失败。

修正后的完整代码

from google.cloud import secretmanager
from google.oauth2 import service_account

# 确保以下三个变量已正确赋值
GOOGLE_CLOUD_PROJECT_ID = "你的GCP项目ID"
SECRET_NAME = "目标密钥的名称"
SECRET_VERSION = "latest"  # 或具体的密钥版本号,如"1"

# 创建客户端实例
client = secretmanager.SecretManagerServiceClient()

# 生成密钥版本的完整路径
name = client.secret_version_path(
    project=GOOGLE_CLOUD_PROJECT_ID,
    secret=SECRET_NAME,
    secret_version=SECRET_VERSION
)

# 使用正确的客户端实例调用方法
api_key = client.access_secret_version(name=name).payload.data.decode("utf-8")

额外排查建议

  • 检查GOOGLE_CLOUD_PROJECT_ID、SECRET_NAME、SECRET_VERSION是否都已正确定义,且格式符合要求:版本号可以是latest或者GCP控制台中显示的具体版本ID
  • 确认运行代码的服务账号已被授予roles/secretmanager.secretAccessor权限,拥有目标密钥的访问权限
  • 确保Python环境为3.11,且安装的google-cloud-secret-manager版本确实是2.16.0(可通过pip show google-cloud-secret-manager验证)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:37:31