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

时间:2018-12-12 05:12:28

标签: amazon-web-services lambda aws-lambda

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

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

我也尝试使用update-function-code命令,而未传递无效的env变量。

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

谢谢!

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

根据此article,当您为记录器配置了INFO级别时,您的代码和AWS开发工具包的所有.info()语句将被记录为“ stdout”,从而最终在CloudWatch中日志。尝试将记录器级别设置为“警告”并观察日志。

答案 2 :(得分:0)

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

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

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