AWS Lambda 无法使用 作为字符串

问题描述 投票:0回答:1

我有来自 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 函数中。拉姆达正在采取 作为下一行而不是字符串。

你能帮我吗?

python amazon-web-services aws-lambda lambda google-cloud-pubsub
1个回答
0
投票

看起来源事件中的

\n
换行符在呈现给 Lambda 函数之前被转义为
\\n

解决这个问题的一种方法是取消转义它们,如下所示:

mystr.replace("\\n", "\n"))

示例:

>>> print("fake\\nnews\\nhere".replace("\\n", "\n"))
fake
news
here
© www.soinside.com 2019 - 2024. All rights reserved.