이번에는 다음의 기능을 가진 간단한 클라우드 함수를 만드는 과정을 정리해 보도록 하겠습니다.
[주요 기능] 새로운 문서(유저 데이터)가 데이터베이스에 등록될 때, 등록 시간 필드 생성하기
- 특정 유저 문서 생성
- 생성 시 클라우드 함수가 트리거(trigger).
- 생성된 시간 정보를 가진 필드가 해당 문서에 추가
(사전에 Node.js 가 설치 되어 있어야 합니다.)
1. Firebase CLI 설치하기 : 다음의 커맨드를 터미널에 입력한다.
npm install -g firebase-tools
2. 터미널에서 희망하는 폴더 위치로 이동(또는 생성)한다.
>>>> [Developer > test] 폴더를 생성한다.
3. 파이어베이스 로그인하기
1) 터미널에서 "firebase login"을 입력한다.
2) "Allow Firebase to collect CLI and Emulator Suite usage and error repoting information? (Y/n)"에서 "Y"를 선택한다.
아래와 같이 클릭하여 "Firebase CLI Login Successful"까지 클릭한 다음, 터미널로 다시 이동한다.
터미널 화면에 아래와 같이 로그인이 성공했다는 메세지가 나온다.
4. 이제 터미널에서 "firebase init" 입력하고 실행한다.
1) Are you ready to preceed? (Y/n) --> Y
2) Which Firebase features do you want to set up for this directory ?
---> "Functions: Configure a Cloud Functions directory and its files"를 선택(스페이스바)
3) Project Setup
4) Functions Setup
5) Do you want to use ESLint to catch probable bugs and enforce sytle ? (y/N) --> N 선
6) Do you want to install dependencies with npm now? (Y/n) --> Y 선택
5. 클라우드 함수 작성 / 배포하기
1) "Developer > test > functions" 폴더로 이동한다.
2) ChatGPT를 활용하여 클라우드 함수 코드를 작성한다.
3) 위에서 생성된 코드를 index.js 파일에 복사해서 넣는다.
4) 터미널에 "firebase deploy --only functions" 입력한다.
이 때, 다음과 같은 에러가 발생합니다. 주어진 URL 페이지로 가서 Firebase 요금제를 "Spark"에서 "Blaze"로 변경하여야 합니다. (무료 사용량 소진 후 프로젝트에서 사용한 만큼만 비용 지불)
Error: Your project cloudfucntiontest-a21f8 must be on the Blaze (pay-as-you-go) plan to complete this command. Required API artifactregistry.googleapis.com can't be enabled until the upgrade is complete. To upgrade, visit the following URL:
https://console.firebase.google.com/project/cloudfucntiontest-a21f8/usage/details
5) 요금제 변경 후 다시 ""firebase deploy --only functions" 입력하고 실행시킨다.
"Deply complet !"가 출력 되면 성공!!
6. 클라우드 함수 배포 확인 및 작동 테스트하기
1) 파이어베이스 (CloudFunctionTest) 프로젝트 > 빌드 > Functions 탭으로 이동.
2) 함수 실행 테스트를 위해 샘플 데이터 등록해 본다.
"Users" 컬렉션 생성 후 임의의 문서를 등록하면 몇 초 후 "createdAt"이라는 필드가 자동으로 생성됩니다.
이상으로 중간 중간 ChatGPT의 도움을 받으면서 클라우드 함수의 배포 과정을 정리해 보았습니다.
'백엔드 개발' 카테고리의 다른 글
파이썬으로 구글 클라우드 함수 만들기 (0) | 2024.03.20 |
---|---|
구글 Cloud Function 만들기(2) (0) | 2024.02.29 |
파이어스토어 데이터베이스 생성하기 (1) | 2024.02.11 |
Node.js 기초 : 주요 특징 정리 (0) | 2024.02.08 |
파이어베이스 기초: 프로젝트 생성하기 (1) | 2024.02.04 |