CloudWatch Canary가 “모듈 '/opt/nodejs/node_modules/myfunction을 찾을 수 없습니다”라는 오류와 함께 실패하는 이유는 무엇입니까?
최종 업데이트 날짜:2020년 10월 16일
Amazon CloudWatch Canary가 “모듈 '/opt/nodejs/node_modules/myfunction을 찾을 수 없습니다”라는 오류와 함께 실패하는 이유는 무엇입니까?
해결 방법
함수 및 종속성의.zip 파일을 생성할 때 CloudWatch에 필요한 구조를 사용하지 않으면 오류가 발생합니다. 다음과 같은 오류 메시지가 나타납니다. 모듈 '/opt/nodejs/node_modules/myfunction을 찾을 수 없습니다.
nodejs/node_modules/myCanaryFilename.js와 같은 nodejs/node_modules 파일 경로 아래에 .zip 파일을 만들어야 합니다.
1. 필요한 구조를 작성합니다.
mkdir -p /nodejs/node_modules/
2. CloudWatch Canary 함수를 /nodejs/node_modules/에 복사합니다.
참고: 핸들러 명명 규칙은 filename.handler입니다.
cp CanaryFunction.js /nodejs/node_modules/
cp -R /lib /nodejs/node_modules/
3. /nodejs의 상단에 디렉터리를 압축합니다.
zip -r Canary.zip ./nodejs/*
참고: Synthetics Canary를 처음부터 만들 때 .js 파일 또는 스크립트 종속성이 여러 개인 경우 모든 파일을 하나의.zip 파일로 묶으십시오. 다음 폴더 구조를 사용합니다. “nodejs/node_modules” 예를 들어, nodejs/node_modules/myCanaryFilename.js 파일과 다른 폴더 및 파일입니다.