본문 바로가기

Serverless

(5)
Prisma2 클라이언트 생성 Prisma2 CLI를 사용하여 데이터베이스 테이블 생성 포스트에서 데이터베이스에 테이블을 생성했지만, 코드상에서는 Prisma 클라이언트를 사용해서 데이터베이스에 접속하기 때문에, Prisma 모델 구조를 알고 있는 Prisma 클라이언트도 생성해 주어야 합니다. 참조 Prisma2 데이터 모델링1 - 1:1 Relation Prisma2 데이터 모델링1 - 1:N Relation Prisma2 데이터 모델링1 - Self Relation Prisma 클라이언트 생성 콘솔창에 다음 명령어를 입력하면, Prisma CLI가 Prisma 모델(schema.prisma)로 부터 Prisma 클라이언트를 생성합니다. npx prisma generate 참조: Prisma2 설치 (CLI, 클라이언트) 하지만 ..
Cognito ID 토큰 복호화 이전 포스트에서 Cognito로 부터 토큰을 받아오는 방법에 대해 설명했었습니다. Amplify 초기화 Cognito 소셜 로그인 추가(이론) Cognito 소셜 로그인 추가(실전) [인스타그램 클론코딩] 웹 로그인 구현 [인스타그램 클론코딩] 웹 구글 로그인 구현 [인스타그램 클론코딩] 앱 로그인 구현 (구글 로그인 포함) 그리고 이렇게 받아온 토큰을 백앤드로 전송할 수 있었습니다. [인스타그램 클론코딩] 웹에서 백엔드로 Cognito 토큰 전송 [인스타그램 클론코딩] 앱에서 백엔드로 Cognito 토큰 전송 이렇게 전송된 토큰은 express 서버라면 콜백 함수의 첫 번째 매개변수, AWS 람다 핸들러라면 event 매개변수의 headers.authorization 속성을 통해서 얻을 수 있습니다. ..
서버리스 GraphQL 백앤드 구축 서버리스 프레임워크 초기화 및 AWS에 연결 포스트에서 생성한 서버리스 설정값을 사용하여 람다 함수를 배포할 것입니다. 1. 서버리스 프로젝트 생성 npx serverless create --template aws-nodejs --path instagureng-backend 2. 패키지 설치 GraphQL API 관련 패키지 npm install apollo-server-lambda graphql 테스트용 패키지 배포하기 전에 로컬 서버 3000포트로 미리 테스트할 수 있도록 해주는 패키지입니다. npm install serverless-offline --save-dev 3. handler.js schema는 typeDefs, resolvers 객체를 포함하는 객체입니다. Prisma와 ID 토큰 관련 ..
[인스타그램 클론코딩] Cognito Pre-SignUp 람다 함수 서버리스 설치 후 서버리스 프로젝트를 생성해 줍니다. 참고: 서버리스 프레임워크 초기화 및 AWS에 연결 npx serverless create --template aws-nodejs --path beforSignUp 인라인 편집기를 사용하지 않는 이유는 무엇인가요? Cognito와 GraphQL 서버인 백엔드에 접속하기 위해서 aws-sdk와 graphql-request 모듈을 설치하기 때문입니다. GraphQL 요청은 모듈을 사용하지 않고 어떻게든 보낼 수 있는데, aws-sdk는 Cognito User Pool에 접속하기 위해서 필수입니다. 그래서 GraphQL도 그냥 모듈을 사용했습니다. 외부 모듈을 설치하려면 인라인 편집기는 사용할 수 없습니다. yarn add aws-sdk graphql-re..
서버리스 프레임워크 초기화 및 AWS에 연결 Amplify CLI와 같이 서버리스 프레임워크도 CLI를 통해 AWS 서비스에 배포되는 프로그램이기 때문에, AWS IAM에서 사용자로 인증되어야 코드를 배포할 수 있습니다. 1. 서버리스 프레임워크 설치 yarn global add serverless 2. IAM 사용자 생성 AWS IAM > 엑세스 관리 > 사용자 > 사용자 추가 프로그래밍 방식 엑세스 체크 Amplify 초기화와 마찬가지로 Access key id와 Secret Access key가 발급됩니다. 한 번만 확인할 수 있으니 잘 저장해 둡시다. 3. 권한 설정 4. 서버리스와 AWS 연결 아래 명령어를 입력하여 serverless CLI에게 Access key id와 Secret Access key를 전달해 줍니다. 는 빼고 입력해야..