Atualização 1

Atualização 1

Eu tenho uma função lambda escrita em golang. Eu executo isso chamando o gateway da API HTTP. Funciona bem, mas gostaria de ver os logs escritos em stderr produzidos pelo meu programa golang.

tenteiesse

aws logs describe-log-groups

mas mostra array vazio:

{
    "logGroups": []
}

Na verdade, só consigo ver os logs quando invoco a função lambda diretamente, sem o gateway da API, como este:

aws lambda invoke --function-name $FUNCTION_NAME $output --log-type Tail --query 'LogResult' 

o log é impresso logo após a invocação, neste caso.

Mas seria ainda melhor ver os logs da função lambda quando eu a chamar pelo gateway da API HTTP.

Atualização 1

Eu adicionei um grupo de logs com nome /aws/lambda/$FUNCTION_NAME:

aws logs create-log-group --log-group-name /aws/lambda/$FUNCTION_NAME

E adicionei fluxo de log a ele:

aws logs create-log-stream --log-group-name /aws/lambda/$FUNCTION_NAME --log-stream-name /aws/lambda/$FUNCTION_NAME

Então invoco minha função lambda via API para produzir alguns logs. Agora verificando os logs:

 aws logs get-log-events --log-group-name /aws/lambda/$FUNCTION_NAME --log-stream-name /aws/lambda/$FUNCTION_NAME

E obtenha a resposta:

{
    "nextForwardToken": "f/7872383232323",
    "events": [],
    "nextBackwardToken": "b/8080823092093"
}

Então não tenho nenhum evento... hmmm...

Eu verifiquei este grupo de logs no console. Está vazio lá também.

Atualização 2

Adicionei CloudWatchFullAccesspolítica à função anexada a esta função lambda:

aws iam attach-role-policy --role-name $roleName \
    --policy-arn arn:aws:iam::aws:policy/CloudWatchFullAccess

API chamada, logs verificados novamente, ainda vazios. Interessante que quando listo as políticas de função, ela mostra uma matriz vazia. Embora eu tenha definido CloudWatchFullAccess acima.

aws iam list-role-policies --role-name $roleName

{
    "PolicyNames": []
}

Responder1

Quando você cria uma função lambda, ela deve ter um grupo de logs associado a ela, mas parece que não há nenhum na sua conta. Você pode tentar criar um novo grupo de logs com o nome '/aws/lambda/<function_name>'e ver se isso resolve o problema. Eu também tentaria fazer login no console da web para verificar se você vê o mesmo problema lá. Você também pode criar o grupo de logs por meio do console no Cloud Watch.

informação relacionada