繁体   English   中英

AWS Lambda:如何从配置中删除环境变量

[英]AWS Lambda: How To Remove Environmental Variables from Configuration

我有一个 lambda 函数,它曾经使用在 lambda 配置中设置的加密环境变量,但我不再需要它们了。 我尝试删除 UI 中的 env 变量,它不再显示,但仍在日志中看到:

“在环境变量中找到凭据。”

我还尝试使用 update-function-code 命令而不传递不起作用的 env 变量。

有什么方法可以从我的 lambda 函数配置中删除加密的 env 变量? 我想确保删除未使用/不需要的东西。

谢谢!

我相信这是使用 boto 的 python lambdas 内部工作的标准输出。 我的 python Lambda 都没有凭据,但我在 python lambda 的所有日志中都有相同的消息。

日志消息来自“botocore”记录器。

这将有效地抑制来自boto3的消息和其他消息:

logging.getLogger("boto3").setLevel(logging.WARNING)
logging.getLogger("botocore").setLevel(logging.WARNING)

我知道这有点晚了,但这是我的理解。

语句“在环境变量中找到凭据”。 与你配置的环境变量没有任何关系。 显然,Lambda 有一组保留的环境变量,当您的代码尝试连接到其他 AWS 服务(如 S3、SNS 等)时,Lambda 会尝试从保留的环境变量中读取凭证以建立与其他服务的连接,并在进程将有关它在何处找到凭据的声明记录到“stdout”

根据这篇文章,当您有一个配置了 INFO 级别的记录器时,您的代码和 AWS SDK 的所有 .info() 语句都将记录到“stdout”,从而最终出现在 CloudWatch 日志中。 尝试将记录器级别设置为警告并观察日志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM