AWS Lambda错误加载日志流时出错

时间:2018-08-10 13:30:47

标签: amazon-web-services aws-lambda

当我转到“日志”页面时,显示以下错误。

  

加载日志流时出错。请刷新此页面,然后重试。

问题是除了创建日志文件的代码没有问题之外,还有另一个功能完全相同。

有什么建议吗?

4 个答案:

答案 0 :(得分:6)

我解决了。

我添加了CloudwatchLogsFullAccess,然后花了不到一个小时的时间,然后才开始工作。

我不确定为什么我需要为第二个功能而不是第一个功能执行此操作,但是它现在可以正常工作。

下面是对我有帮助的链接。

https://blogs.perficient.com/2018/02/12/error-loading-log-streams/

答案 1 :(得分:4)

确保您的Lambda已经至少登录一次!

如果不是这种情况,则会出现此错误-我已经测试了带有和不带有任何日志语句的新鲜Lambda,以确认:没有任何日志语句,则Lambda的相应日志组尚不存在;在完成第一个日志语句后,该语句将存在于一个看似新创建的相应日志组中。

尽管事后看来很明显/直观,但这是我遇到这种情况的方式:我认为在新Lambda上发生任何日志记录之前,我试图将其连接到CloudWatch事件-我尝试了试图通过查看“监控”标签->“在CloudWatch中查看日志”按钮来查看Lambda是否被事件调用了,而这正是我遇到此错误的地方。 Lambda尚未被调用(CloudWatch事件连接失败),因此没有发生日志记录,因此(当尝试从Lambda配置超链接到它时)没有要检查的相应日志组。

(首先,我想也许可以在第一次进行日志记录之前手动创建一个相应的日志组,但是我没有对此进行测试。)

答案 2 :(得分:2)

确保您的Lambda的执行角色具有允许从Lambda写入CloudWatch Logs的策略。

IAM控制台->'角色'-> <您的Lambda角色>->'权限'选项卡->'权限策略'手风琴

确保列出的策略设置了以下参数:

  • “服务”:“ CloudWatch Logs”
  • “访问级别”:至少包含“写入”
  • “资源”:不会排除您的Lambda(即未将其设置为其他特定Lambda,Lambdas的其他目录或其他资源类型)
  • “请求条件”:不排除给定Lambda执行的上下文

AWSLambdaBasicExecutionRole 满足这些要求[即装即用,因为它是由AWS管理的]的“ AWS托管策略”的示例>。它具有以下参数:

  • “服务”:“ CloudWatch Logs”
  • “访问权限”:“受限:写”
  • “资源”:“所有资源”
  • “请求条件”:“无”

如果您的角色还没有这样的策略,请添加一个新策略或编辑现有的策略以在此处列出要求-然后应解决此错误。

例如,以我为例,在修复问题之前,我的Lambda角色所使用的策略是基于[em> 的[AWS管理的”“ AWSLambdaBasicExecutionRole”,但是某种程度上其资源仅限于不同的Lambda(这是我的问题-来自我打算使用的不同Lambda的权限不足,无法满足该政策)。我通过将原始 [AWS管理的“ AWSLambdaBasicExecutionRole”策略添加到我想要的Lambda角色中来解决此问题(我还删除了先前提到的Policy,因为它没有被其他任何人使用,但是可能并非绝对必要[虽然整理起来很不错])。

答案 3 :(得分:0)

我通过将CloudWatchFullAccess策略附加到我的lambda函数enter image description here的执行角色上来解决了该问题