我正在使用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
我正在使用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函数时,它将创建日志组。
当新创建的Lambda执行角色没有访问CloudWatch日志写入权限时,会出现此错误。
步骤:
如果您正在使用多个 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。