我有一个lambda函数,该函数曾经使用过在lambda配置中设置的加密环境变量,但是我不再需要它们了。我尝试在用户界面中删除env变量,该变量不再显示,但仍在日志中看到:
“在环境变量中找到凭据。”
我也尝试使用update-function-code命令,而未传递无效的env变量。
有什么方法可以从我的lambda函数配置中删除加密的env变量吗?我想确保删除未使用/不需要的东西。
谢谢!
答案 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)