Quando visualizzo i log per la mia funzione AWS Lambda nella console Amazon CloudWatch, ricevo il messaggio di errore "Il gruppo di log non esiste". Voglio risolvere l'errore.
Breve descrizione
Se non è presente un gruppo di log per la tua funzione Lambda quando provi a visualizzare i log della funzione, CloudWatch restituisce il messaggio di errore seguente:
"Log group does not exist. The specific log group: <log group name> does not exist in this account or region." (Il gruppo di log non esiste. Il gruppo di log specifico: <nome gruppo di log> non esiste in questo account o regione.)
I log vengono generati dopo la prima esecuzione della funzione. Se non sono presenti gruppi di log dopo l'invocazione alla funzione, la causa è un problema con le autorizzazioni AWS Identity and Access Management (IAM) della funzione.
Per risolvere l'errore Il gruppo di log non esiste di CloudWatch, verifica quanto segue:
Nota: per informazioni sui problemi di log relativi alle autorizzazioni con Lambda@Edge, consulta Service-linked roles for Lambda@Edge.
Risoluzione
Nota: la risoluzione seguente non funziona per le autorizzazioni rifiutate di livello superiore, ad esempio tramite una policy di controllo dei servizi o un limite delle autorizzazioni. Devi prima risolvere le autorizzazioni rifiutate.
Modifica la policy IAM per il ruolo di esecuzione della funzione Lambda, includendo quanto segue:
- Consenti le azioni di scrittura CreateLogGroup e CreateLogStream.
Nota: se non ti occorrono autorizzazioni personalizzate per la tua funzione, puoi collegare la policy gestita AWSLambdaBasicExecutionRole per consentire a Lambda di scrivere i log su CloudWatch.
- La regione AWS specificata nell'ARN deve essere la stessa della regione della funzione Lambda.
- La risorsa log-group deve includere il nome della funzione Lambda. Ad esempio, se il nome della funzione è myLambdaFunction, il log-group associato sarà /aws/lambda/myLambdaFunction.
Quella che segue è una policy di esempio che include le autorizzazioni necessarie a un ruolo Lambda per accedere ai log di CloudWatch:
{
"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:*"
]
}
]
}
Nota: assicurati di aggiungere il servizio Lambda nella policy di attendibilità del ruolo IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Informazioni correlate
Managing permissions in AWS Lambda