使用 AWS Lambda 时出现日志组不存在的错误。

4

我正在使用AWS SQS触发Lambda函数,在将消息发送到SQS后,当我想要查看Lambda中的Cloudwatch日志时,我收到了这个错误。 我和SQS都在同一个AWS区域,不知道为什么会出现这种情况?

Log group does not exist
The specific log group: /aws/lambda/configurationTest does not exist in this account or region

如果您前往Lambda Fxn > Monitor > Logs,您是否在“最近调用”下看到条目? - akskap
确保您的Lambda调用角色具有访问CloudWatch日志的权限。 - Avinash Dalvi
3个回答

5

首次调用Lambda函数时,它将创建日志组。


1
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community
1
这实际上很有帮助。对于没有日志组的Lambda函数来说,这意味着我没有成功地调用该函数。一种解决方法是从AWS控制台进行一个“测试”调用。 - undefined
这实际上很有帮助。对于没有日志组的Lambda函数来说,这表明我没有成功地调用该函数。一种解决方法是从AWS控制台进行一个“测试”调用。 - louisdeb

5

当新创建的Lambda执行角色没有访问CloudWatch日志写入权限时,会出现此错误。

步骤:

  1. 进入IAM
  2. 选择角色并添加可以写入CloudWatch日志的策略。

别忘了给答案点赞,如果这有帮助到你的话。 - Avinash Dalvi
我在aws glue python shell job中遇到了相同的问题。 - Kash
不确定 AWS Glue。但是提示是,如果任何服务无法访问其他服务,则很明显是 IAM 问题。 - Avinash Dalvi

0

如果您正在使用多个 Lambda 函数来具有相同的执行角色(不建议这样做),则应在 CloudWatch 策略的资源中明确指定每个 Lambda ARN。例如:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:REGION:ACCOUNT_ID:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:REGION:ACCOUNT_ID:log-group:/aws/lambda/main_function:*",
                "arn:aws:logs:REGION:ACCOUNT_ID:log-group:/aws/lambda/second_function:*"
            ]
        }
    ]
}

这样,您的函数将能够为每个函数创建log_group。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接