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

AWS Lambda处理含\n的GCP Pub/Sub私钥报错求助

解决AWS Lambda中GCP Pub/Sub私钥解析失败问题

问题根源

从Secret Manager取出的私钥字符串里,\n被保留成了字面量字符(即实际是\和n两个独立字符),而非Python可识别的换行符。crypt.Signer.from_string()需要的是带真实换行的标准PEM格式私钥,自然无法识别这种字面量格式;而直接写在代码里的\n会被Python自动解析为换行符,因此能正常运行。

解决方法

在初始化签名器前,把字符串中的字面\n替换成实际换行符:

# 从Secret Manager获取原始密钥数据
secret_manager_data = {'google_pubsub_private_key':'-----BEGIN PRIVATE KEY-----\nYourPrivateKeyHere\n-----END PRIVATE KEY-----\n'}
# 处理字面量\n为真实换行符
formatted_key = secret_manager_data['google_pubsub_private_key'].replace('\\n', '\n')
# 初始化签名器
signer = crypt.Signer.from_string(formatted_key)

验证逻辑

替换操作后,密钥字符串的格式会和直接写在代码里的示例完全一致,符合PEM格式要求,crypt.Signer.from_string()就能正常识别私钥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:12:34