잡다한것들

실전프로젝트 트러블슈팅 1주차

김영재0412 2023. 1. 8. 22:41

람다로 이미지 리사이징을 짜는 도중 npm install sharp를 하고 package.json에도 sharp가 들어가있음에도 불구하고 sharp를 찾을 수 없다는 에러가 떴다. 

에러코드에는 npm install --platform=linux --arch=x64 sharp 이런 식으로 설치해달라하여서 uninstall한 후 다시 설치하였으니 같은 오류가 떴다. 그래서 구글링해본 결과 sharp 공식홈페이지에서 lambda 설치 안내서가 있었고 사전설치스크립트를 이용해 package.json의 스크립트 부분에 "preinstall" : "npm install --platform=linux --arch=x64 —no-save sharp" 이런 식으로 넣으니 해결되었다.

 

presignedURL로 이미지를 업로드 후 lambda를 통해서 이미지가 리사이징되서 버킷 안으로 들어가는데 presignedURL로 업로드한 사진의 URL을 누르면 브라우저로 사진이 뜨지만 리사이징된 이미지의 URL를 클릭하는 경우엔 다운로드가 되었다. 기능상 문제가 없었지만 다운로드보단 오리지널 사진처럼 브라우저에 뛰우고 싶었고 구글링 해본 결과 ACL을 public read로 주고 content type을 image/jpeg를 주면 된다해서 줘봤지만 다운로드가 되었다. 그래서 좀 더 찾아본 결과 contenttype을 image/png을 주면 된다는 걸 보았고 적용해본 결과 다운로드가 아닌 브라우저에 잘 나왔다

https://stackoverflow.com/questions/14150854/aws-s3-display-file-inline-instead-of-force-download

 

AWS S3 display file inline instead of force download

For some reason files in my S3 bucket are being forced as downloads instead of displaying in-line so if I copy an image link and paste it into address bar and then navigate to it, it will promote my

stackoverflow.com

 

람다로 이메일 인증을 짰는데 자꾸  콘솔로그를 찍었는데 자꾸 No recipients defined 에러가 떴다. 람다 테스트로 돌렸을 때는 잘 왔지만 포스트맨으로 직접 보낼 땐 에러가 떴다. No recipients defined 에러에 대해 찾아보니 발송대상 이메일이 없을 때 뜨는 에러로 나왔고 event.body와 event.body.email을 콘솔 찍어보니 event.body 는 { “email” : “example@example.com”}으로 잘 왔지만 event.body.email은 undefined로 왔다. 아마 undefined 값이 계속 왔기에 No recipients defined 에러가 뜬거 같았다. 그래서 구글링을 해보니 이벤트의 바디값이 "body": "A JSON string of the request payload." 이런 형식으로 오고 JSON으로 다시 파싱을 해주어야한다고 해서 파싱을 해줬더니 에러가 해결되고 인증메일이 잘 가는 모습을 확인했다.

 

https://stackoverflow.com/questions/46425573/nodejs-api-call-returning-undefined-to-lambda-function

 

Nodejs API call returning undefined to lambda function

This is the aws lambda function which will invoke an api: 'use strict'; var request = require("request") exports.handler = function (event, context,callback) { let url = "https://3sawt0jvzf.exe...

stackoverflow.com

 

salt 몇번 해쉬하는지를 환경변수처리하고싶었는데 자꾸 숫자값만 있다고 에러가 떠서 확인해보니 환경변수로 오면 String형식으로 와서 env 불러오고 Number 변환해주었다.

'잡다한것들' 카테고리의 다른 글

최종 발표 PPT  (0) 2023.02.13
피드백  (1) 2023.02.03
몽고DB 해킹 당한 기념 글  (0) 2022.12.01
mongodb 시간이 제대로 저장되지않는다?  (0) 2022.11.30
도메인..힘들다..  (0) 2022.11.29