본문 바로가기
Firebase

[Firebase] 서버리스? Firebase Functions!

by parkjp 2017. 9. 15.

1. Firebase Function이란 무엇일까?

 

 Firebase Function을 사용하게 되면 HTTPS 요청에 의해 트리거된 이벤트에 대한 응답으로 백엔드 코드를 자동으로 실행할 수 있는 기능이다. Firebase에는 실시간 데이터베이스, 인증, 스토리지, 호스팅, FCM(Firebase Cloud Messaging), Analytics등을 제공하는데, Function으로 데이터베이스나 스토리지에 요청을 보내 저장이나 데이터를 가져올 수 있다.

 

* Firebase Function에 대한 설명은 Firebase 홈페이지에도 한글로 잘 나와있다.

 

2. Firebase Function 설치 및 배포하기

 

 우선 Firebase Console에 접속하여 프로젝트를 생성한다. 

 

Firebase 홈페이지

 

(위 링크에 접속하면 오른쪽 위에 GO TO CONSOLE이라는 버튼이 있다.)

 

 생성 후에 Firebase Function을 진행하려면 nodejs가 깔려있어야 한다. nodejs를 다운받았으면 자신이 원하는 프로젝트 폴더(빈 폴더 아무대나)에서 cmd창이나 Windows PowerShell창을 띄워 아래 명령어를 입력한다.

 

   npm install -g firebase-tools

 해당 작업을 진행하면 이후부터 firebase명령어를 진행할 수 있다. 아래 명령어를 쳐보자.

 

npm install -g firebase-tools
npm install -g firebase-tools
npm install -g firebase-tools
npm install -g firebase-tools
   firebase init
npm install -g firebase-tools

 

 firebase init을 치면 아래와 같이 나온다.

 

 

 

 여기서 Database Functions Hosting 세 가지 모두 또는 원하는 것만 선택하면 된다. (일단 3가지 다 선택해보자). 그리고 자신이 이미 Firebase console페이지에서 생성한 프로젝트를 선택하자. 여기까지 마쳤으면 해당 폴더에 아래와 같은 파일과 폴더들이 생긴다.

 

 

 

 functions 폴더 아래에 index.js라는 파일이 있고, 기본적으로 아래와 같은 코드가 있을 것이다.

 


exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});

 

위 코드에서 exports.helloWorld 부분은 HTTPS 요청시에 ${function address}/helloWorld 주소로 요청 가능하다.

 

해당 코드 주석을 풀고 바로 배포를 시켜보자. 배포는 해당 폴더 위치에서 커맨트 명령어로 

 

 

    자신의 폴더위치> firebase deploy                                                                          

 

를 치면 된다. 이게 배포 끝이다. 아주 간단하다. 배포가 완료되었으면 Firebase Console 페이지에 접속하여 Hosting탭과 Functions 탭을보면 배포된 펑션과 호스팅 도메인 주소가 나온다. Functions 탭에 나온 요청 주소를 그대로 복사해서 홈페이지 주소창에 입력하면 코드에서 response.send("Hello from Firebase!"); 라고 적어 놓았던 스트링인 'Hello from Firebase!'가 나올것이다.

 

여기까지 아주 기초적인 설치 및 배포부분을 보았다. 기본적으로 price는 Spark(무료)로 진행되며

가격에 대한 정보는 Firebase Pricing 쪽을 보면 된다. 

 

* Firebase Function은 규모가 아주 작은 소규모 프로젝트나 개인 프로젝트를 할 때 해보길 권한다.

 

반응형