Почему я не вижу свой журнал в консоли CloudWatch и лямбда-функцию? - PullRequest
0 голосов
/ 01 августа 2020

У меня есть лямбда-функция, но я не вижу свой журнал в console.log в CloudWatch. что здесь отсутствует?

'use strict';
exports.handler = (event, context, callback) => {
    
    //Get contents of response
    const response = event.Records[0].cf.response;
    const headers = response.headers;

//Set new headers 
 headers['strict-transport-security'] = [{key: 'Strict-Transport-Security', value: 'max-age=63072000; includeSubdomains; preload'}]; 
 headers['content-security-policy'] = [{key: 'Content-Security-Policy', value: "default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'"}]; 
 headers['x-content-type-options'] = [{key: 'X-Content-Type-Options', value: 'nosniff'}]; 
 headers['x-frame-options'] = [{key: 'X-Frame-Options', value: 'DENY'}]; 
 headers['x-xss-protection'] = [{key: 'X-XSS-Protection', value: '1; mode=block'}]; 
 headers['referrer-policy'] = [{key: 'Referrer-Policy', value: 'same-origin'}]; 
 
 console.log('in handler');
 
 console.log({ xx: event.Records[0].cf.request.uri });
    
 console.log('end handler ');
 
    //Return modified response
    callback(null, response);
};

https://console.aws.amazon.com/cloudwatch/home?region=us-east-1 enter image description here

enter image description here

CloudWatch: enter image description here

Lambda Test:

введите описание изображения здесь

1 Ответ

0 голосов
/ 01 августа 2020

Судя по поведению, которое вы испытываете, я подозреваю, что это просто новая версия Lambda@Edge не была развернута в дистрибутиве CloudFront.

Всякий раз, когда вам нужно выпустить обновление кода, вы необходимо создать новую версию функции Lambda, а затем заменить событие Lambda в вашем дистрибутиве CloudFront, чтобы использовать новую запись версии.

Как только это произойдет, потребуется некоторое время для внесения изменений в каждом пограничном местоположении, чтобы вы могли не сразу увидеть эти отладочные строки в своих журналах.

Поскольку этот процесс требует времени для развертывания, обязательно используйте тестовые события (в качестве входных данных для вашей лямбда-выражения) для тестирования сценария ios, который необходимо быть протестированным после развертывания Lambda. Как только вы будете довольны, выполните новую версию и разверните.

Для получения дополнительной информации просмотрите страницу Редактирование лямбда-функции для Lambda@Edge.

...