강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

huhu님의 프로필 이미지
huhu

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

Lambda로 이미지 리사이징 하기

핸들러 설정이 보이지 않습니다ㅠㅠ

작성

·

185

0

lambda - 구성 - 일반 구성에서 다른 부분은 바꾸었으나

핸들러 입력하는 부분이 없습니다...

찾아봐도 안 보이는데 혹시 바뀌어서

설정하는 부분이 없어진걸까요...?

이것 때문인지 thumb폴더가 생성이 안되어서 난감하네요

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

핸들러는 코드 -> 런타임 설정에 있습니다.

huhu님의 프로필 이미지
huhu
질문자

앗 기본으로 index.handler로 되어있는 거 보니 그 문제가 아니었나보네요ㅜㅜㅜ

왜 thumb폴더가 안 생기는지 이유를 모르겠습니다...

s3 연결도 잘 된 것 같고 lambda쪽 로그를 살펴봐도 별다른 에러가 없는 것 같은데

무엇이 문제일까요??

며칠째 무엇을 놓쳤나 싶어 계속 삭제하고 만들고를 반복 중입니다..!

로그

lambda/index.js

const AWS = require("aws-sdk");
const sharp = require("sharp");

const s3 = new AWS.S3();

exports.handler = async (event, context, callback) => {
    const Bucket = event.Records[0].s3.bucket.name; // react-nodebird-aws-s3
    const Key = encodeURIComponent(event.Records[0].s3.object.key); // original/2313213_abc.png
    const filename = Key.split("/")[Key.split("/").length - 1];
    const ext = Key.split(".")[Key.split(".").length - 1].toLowerCase();
    const requiredFormat = ext === "jpg" ? "jpeg" : ext;
    try {
        const s3Object = await s3.getObject({ Bucket, Key }).promise();
        const resizedImage = await sharp(s3Object.Body)
            .resize(400, 400, {
                fit: "inside",
            })
            .toFormat(requiredFormat)
            .toBuffer();
        await s3
            .putObject({
                Bucket,
                Key: `thumb/${filename}`,
                Body: resizedImage,
            })
            .promise();
        return callback(null, `thumb/${filename}`);
    } catch (error) {
        console.error(error);
        return callback(error);
    }
};
제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

흠, 그러게요. 에러가 없네요. 람다 모니터링쪽에서도 전부 다 성공으로 뜨는 건가요?

callback 위에 console.log 하나 넣어서 저기까지 실행되나, filename은 뭘로 되어있나 찍어보세요.

huhu님의 프로필 이미지
huhu
질문자

네 람다 모니터링엔 다 비슷하게 에러 없이 뜹니다!

콘솔로 찍었는데 나오지 않네요...ㅠㅠㅠ

lambda설정에서 실수를 한 걸까요..?

console.log("lambda 테스트", filename);
return callback(null, `thumb/${filename}`);
huhu님의 프로필 이미지
huhu
질문자

혹시 권한 문제일까 싶어 첨부합니다!

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

콘솔 여러 군데 넣어서 어디까지 실행되는지 한 번 체크해보시면 좋을 것 같습니다.

huhu님의 프로필 이미지
huhu

작성한 질문수

질문하기