AWS Aurora MySQL 데이터베이스는 Node Lambda 함수로 쿼리할 수 없습니다.
P粉184747536
P粉184747536 2023-08-25 21:31:48
0
1
538

Lambda 함수를 사용하여 AWS Aurora MySQL 데이터베이스에 데이터를 쓰려고 합니다.

코드

어떤 이유에서든 작동하지 않는 것 같습니다. 지금까지 내 코드는 매우 간단하지만 올바르게 실행되지 않습니다. 이는 사용자가 Cognito에 등록할 때 호출되고 사용자의 자격 증명이 포함된 SQL 데이터베이스에 새 항목을 생성해야 하는 간단한 Lambda 함수입니다.

const mysql = require('mysql') const db = mysql.createConnection({ 주인: "****", 포트: *****, 사용자: "*****", 비밀번호: "*****", 데이터베이스: "*****", }) 내보내기 const LambdaHandler = async (이벤트: 임의, 컨텍스트: 임의,) => const 사용자 = { uid: event.request.userAttributes.sub, 사용자 이름: event.request.userAttributes.nickname, 이메일: event.request.userAttributes.email, } console.log("쿼리 전") const 쿼리 = `INSERT INTO 사용자(Uid, 사용자 이름, 이메일) VALUES(${user.uid}, ${user.username}, ${user.email})` wait db.query(query, (err: any, result: any) => { if (err) console.error(err) console.log("쿼리 응답: " + 결과) }) console.log("쿼리 후") 복귀 이벤트; };

함수의 출력은 다음과 같습니다.

START 요청 ID: bb1d2143-97e4-4761-a48a-f482cf94f73b 버전: $LATEST 2022-03-17T14:02:35.956Z bb1d2143-97e4-4761-a48a-f482cf94f73b 쿼리 전 INFO 2022-03-17T14:02:35.961Z bb1d2143-97e4-4761-a48a-f482cf94f73b 쿼리 후 INFO 종료 요청 ID: bb1d2143-97e4-4761-a48a-f482cf94f73b REPORT RequestId: bb1d2143-97e4-4761-a48a-f482cf94f73b 초기화 기간: 0.14ms 기간: 138.07ms 청구 기간: 139ms 메모리 크기: 128MB 최대 사용 메모리: 128MB

참고: 쿼리 함수가 로그 기록을 찾지 못했습니다(오류가 발생하거나 응답을 기록해야 함)

전략

Lambda 함수의 실행 역할에는 다음 정책이 포함됩니다: AWSLambdaVPCAccessExecutionRoleAWSLambda_FullAccess

기타

Lambda 함수와 Aurora는 동일한 VPC의 서로 다른 서브넷에 있습니다. 이것이 문제를 일으킬지 잘 모르겠습니다. 하지만 이로 인해 함수에서 오류가 발생하지 않을까요? 승인 누락과 유사한 오류가 발생합니까?

이 시점에서 제가 무엇을 놓치고 있는지 이해가 되지 않습니다

P粉184747536
P粉184747536

모든 응답 (1)
P粉960525583

문제는db.queryPromise 스타일 대신 콜백 스타일을 사용한다는 것입니다. Promise를 사용하려면 변환해야 합니다.

한 가지 방법은Util.promisify...

을 사용하는 것입니다. 으아악
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!