I'm trying to set up a Lambda function that will process a file when it's uploaded to an S3 bucket. I need a way to see the output of console.log
when I upload a file, but I can't figure out how to link my Lambda function to CloudWatch.
I figured about by looking at the context
object that my log group is /aws/lambda/wavToMp3
and the log stream is 2016/05/23/[$LATEST]hex_code_redacted
. So I created that group and stream in CloudWatch, yet nothing is being logged to it.
For the Lambda function to be able to create a log group and publish logs to that group, the execution role needs to have the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:region:accountID:*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:region:accountID:log-group:/aws/lambda/functionname:*"
]
}
]
}
Reference: https://docs.aws.amazon.com/lambda/latest/operatorguide/access-logs.html