我有来自 GCP Pub Sub 的私钥。 是这样保存的
secret_manager_data = {'google_pubsub_private_key':'-----BEGIN PRIVATE KEY-----\nYourPrivateKeyHere\n-----END PRIVATE KEY-----\n'}
我现在正在解析下面代码中的私钥
signer = crypt.Signer.from_string(secret_manager_data['google_pubsub_private_key'])
现在我收到类似“无法检测到密钥”的错误
但是当我直接给出字符串时,它就可以工作了。示例:
signer = crypt.Signer.from_string('-----BEGIN PRIVATE KEY-----\nYourPrivateKeyHere\n-----END PRIVATE KEY-----\n')
表示输入没有问题,但不知道如何处理 在 Lambda 函数中。拉姆达正在采取 作为下一行而不是字符串。
你能帮我吗?
看起来源事件中的
\n
换行符在呈现给 Lambda 函数之前被转义为 \\n
。
解决这个问题的一种方法是取消转义它们,如下所示:
mystr.replace("\\n", "\n"))
示例:
>>> print("fake\\nnews\\nhere".replace("\\n", "\n"))
fake
news
here