当前位置: 首页 > 知识库问答 >
问题:

无法让AWS Lambda函数将(文本输出)记录到CloudWatch

丌官开宇
2023-03-14

我正在尝试设置一个Lambda函数,当文件上传到S3存储桶时,该函数将处理该文件。我需要一种方法来查看控制台的输出。当我上传文件时记录,但我不知道如何将Lambda函数链接到CloudWatch。

我通过查看上下文对象来计算,我的日志组是aws/lambda/wavToMp3,日志流是2016/05/23/[$LATEST]hex\u code\u编辑的。所以我在CloudWatch中创建了这个组和流,但没有任何记录。

共有3个答案

阎雪峰
2023-03-14

为了让lambda函数创建日志流并将日志发布到cloudwatch,lambda执行角色需要具有以下权限

我已经有这些权限,但它不工作。

只需将超时时间更改一秒钟,然后单击“保存并测试”按钮,您将开始在Cloudwatch中看到日志。

我改变了超时,保存和日志仍然不工作。

我分配了另一个角色,但日志仍然不起作用。

最终对我起作用的是单击“创建自定义角色”,然后单击“允许”。就是这样,开始生成日志,但由于我不想使用新角色,而是我现有的角色,我只是在之后分配了我现有的角色,它就起作用了。所以从技术上讲,我应该回到原来的配置,它不工作,但现在它的工作。想想看吧

澹台景辉
2023-03-14

为了让lambda函数创建日志流并将日志发布到cloudwatch,lambda执行角色需要具有以下权限。

{
    "Statement": [
        {
            "Action": [
                "logs:CreateLogGroup",
                 "logs:CreateLogStream",
                 "logs:PutLogEvents"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:logs:*:*:*"
        }
    ]
} 

有关更多详细信息,请参阅以下AWS文档http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html#lambda-简介执行角色

史英飙
2023-03-14

更新策略后,似乎必须更新函数的设置以刷新所有作业实例以读取新策略。

因此,如果您在IAM中更新角色策略后只需单击Lambda控制台中的“测试”按钮,缓存的Lambda实例仍将具有旧角色权限,因此您仍然不会看到任何日志被写入Cloudwatch日志。

只需将超时时间更改一秒钟,然后单击“保存并测试”按钮,您将开始在Cloudwatch中看到日志。

 类似资料:
  • 我想将gradle脚本中的所有控制台输出记录到日志文件中: 但是我的gradle脚本提示用户参数: 因此,我有一个NullPointerException: 有人知道这种情况的解决方案或变通方法吗?

  • 问题内容: 当您运行Keras神经网络模型时,您可能会在控制台中看到以下内容: 随着时间的流逝,损失有望改善。我想将这些损失随时间记录到文件中,以便我可以从中学习。我试过了: 但这不起作用。我不确定在这种情况下我需要什么级别的日志记录。 我也尝试过使用如下回调: 但这显然不是在写文件。无论采用哪种方法,通过回调或日志记录模块或其他任何方法,我都想听听您的解决方案,用于将keras神经网络丢失记录到

  • 问题内容: Go语言中有没有办法记录到不同级别的多个输出? 我希望有一个程序可以同时在Info级别记录到stdout并在带有时间戳的调试级别记录一个文件。 就像我每次编写代码一样: 我可以看到控制台打印: 和一个文件: 我使用logrus和glog,但是找不到此功能。还有其他包装或我可以编码的东西吗? 问题答案: Go-logging支持不同的日志记录后端,例如文件,syslog等。可以设置多个后

  • 问题 你希望将单元测试的输出写到到某个文件中去,而不是打印到标准输出。 解决方案 运行单元测试一个常见技术就是在测试文件底部加入下面这段代码片段: import unittest class MyTest(unittest.TestCase): pass if __name__ == '__main__': unittest.main() 这样的话测试文件就是可执行的,并且会将

  • 我想让我的PHP输出一个简单的图像,但当我这样做的时候,它给我一个白色的正方形,所以我以为IMG是找不到的,但当我放一个简单的HTML IMG标签,它就可以找到,代码非常简单。同样,如果我尝试从互联网上的图像,它也不会起作用。

  • 这可能吗?我知道我可以以类似的方式将stdout定向到文件(请参见:将打印重定向到日志文件)