티스토리 뷰
Google Functions & Firestore 저장하기 1편 - Functions 프로젝트 생성 및 Deploy 하는 법.
밀래 2021. 6. 23. 12:00Google Functions & Firestore 저장하기
1편 - Functions 프로젝트 생성 및 Deploy 하는 법.
1. Google functions를 사용하는 이유
토이 프로젝트에서 크롤링 Firebase에 데이터를 쌓아야 하는 이유가 생겼습니다.
처음에는 AWS의 Lamdba를 고려하여 연결하려고 했지만 Firebase console에서 Google Function를 한 번에 확인할 수 있고 같은 데이터 센터라는 이점이 있기 때문에 Google Function를 사용하게 되었습니다.
이 포스팅에서는 Google Function를 활용하여 크롤링 데이터를 Firebase까지 데이터를 쌓는 방법을 정리하려고 합니다. 여러편을 통해 정리할 예정이고 1편에서는 Google Functions을 Deploy 하는 방법을 정리해볼게요.
2. Functions 프로젝트 만들기.
Firebase Project가 생성되었다는 가정하에 포스팅을 정리합니다.
#1 firebase tools 설치하기
firebase tools를 설치하면 firebase에 필요한 기본 프로젝트를 생성할 수 있습니다.
Goolge Functions 외에도 GCP에서 사용가능한 프로젝트 생성이 가능합니다.
아래 명령어를 통해 npm 전역으로 설치해주세요.
npm install -g firebase-tools
#2 firebase 인증하기.
firebase 프로젝트를 생성하기 위해서는 firebase 인증을 해야 합니다.
login 명령어를 통해 인증을 진행합니다.
아래 명령어를 실행하시면 브라우저를 통해 인증하는 화면으로 이동합니다.
firebase login
#3 프로젝트 생성하기
이제 인증을 완료하면 프로젝트를 생성할수 있습니다.
프로젝트를 생성할 폴더를 만든 뒤에 터미널로 접속하여 아래 명령어를 실행합니다.
firebase init
Space bar로 Functions를 선택하고 진행합니다. 프로젝트는 기존에 있다면 기존 프로젝트를 설정하셔야 합니다.
(주의 : 요금제는 Blaze로 설정되어야 해당 Functions를 사용이 가능)
3. Functions Deploy 하기.
이제 생성된 프로젝트를 테스트 하기 위해서 Firebase Functions에 Deploy 해보겠습니다.
프로젝트 만들때 생성되었던 index.js를 아래와 같이 수정합니다.
const functions = require("firebase-functions");
exports.helloWorld = functions.https.onRequest((request, response) => {
functions.logger.info("Hello logs!", {structuredData: true});
response.send("Hello from Firebase!");
});
파일을 수정 완료 하였다면 아래 명령어를 통해 서버에 반영합니다.
firebase deploy
명령어를 입력하면 서버로 Deploy가 시작되고 완료되면 아래와 같이 표시됩니다.
4. Google Function API 호출하기
Firebase Console에서 Functions 메뉴를 들어가면 Deploy 된 함수를 확인할 수 있습니다.
트리거에 표시되는 API를 브라우저에 입력하면 정상 호출되는지 확인 가능합니다.
Function의 경우 기본 us-central1으로 설정됩니다.
만약, Region을 이동하고 싶다면 아래와 같이 함수에 설정하여 다시 반영해야 합니다.
const functions = require("firebase-functions");
exports.helloWorld = functions.region("asia-northeast3").https.onRequest((request, response) => {
functions.logger.info("Hello logs!", {structuredData: true});
response.send("Hello from Firebase!");
});
"asia-northeast3"는 서울 리전입니다.
리전에 대한 리스트는 아래 링크로 참조하세요.
https://firebase.google.com/docs/functions/locations?hl=ko
다음 편에는 Google Function을 활용하여 Firestore에 데이터를 저장하는 방법을 정리하겠습니다.
'BackEnd > Node' 카테고리의 다른 글
AWS Lambda로 크롤링 데이터 Firebase에 데이터 쌓는 법 ( 로컬 테스트 ) - 2편 (0) | 2021.06.22 |
---|---|
AWS Lambda로 크롤링 데이터 Firebase에 데이터 쌓는 법 (Lambda 설정)- 1편 (0) | 2021.06.22 |
[node] CORS란? CORS 문제 해결하기 (1) | 2020.03.11 |
[node] windows nvm 으로 node 설치하기 (0) | 2020.03.10 |
[Node] 노드 서버의 Router 구조 잡기. (2) | 2020.03.02 |
- Total
- Today
- Yesterday
- git
- Component
- GPT서비스
- 30 Day LeetCode Challenge
- React 프로젝트 생성
- numpy
- 퍼셉트론
- Python
- CHATGOT
- GPTGOT
- 지도학습
- 에라토스테네스
- k8s metrics-server
- 넘파이
- vscode
- LeetCode 알고리즘 공부
- 버츄얼스튜디오코드
- LeetCode 5월 챌린지
- 파이썬 numpy
- Java
- 리엑트
- k8s metrics-server running
- Node
- Java leetcode
- 머신러닝
- LeetCode 풀이
- 노드
- LeetCode 30일 챌린지
- react
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |