파이어베이스 Cloud Functions는
AWS Lambda에 대응하는 서버리스 솔루션의 하나로 여러가지 방법으로 호출 할 수 있습니다.
Cloud Functions는 1)백그라운드로부터 트리거 하거나 2)직접호출할 수 있습니다.
백그라운드로부터의 트리거는 2020년 10월 현제 베타버전이 제공되며 다음과 같습니다.
1. firestore 이벤트 트리거: 도큐먼트의 추가,삭제시 원하는 함수를 실행
2. 실시간 데이터베이스 트리거: 실시간데이터베이스의 경우
3. 원격 구성 트리거: 새로운 버전을 게시하거나 이전버전으로 돌아갈때
4. 인증 트리거: 사용자 계정 만들기 및 삭제에 대한 응답
5. 애널리틱스 트리거: 구글애널리틱스 이벤트로부터 함수 실행
6. 클라우드 스토리지 트리거 : 클라우드 스토리지 파일의 업로드,삭제에대해 함수 실행
functions.https.onCall((data,context)=> {});
HTTP방식의 직접 호출도 가능하지만 클라이언트가 가지고있는 파이어베이스 인증 정보와 FCM토큰을 손쉽게 활용할 수 있다는 장점이 있습니다. data 매개변수에 data.text 객체에 원하는 정보를 직접 담으면 되고 context 매개변수에는 context.auth.uid, context.auth.token.name 과 같은 값이이 자동으로 포함됩니다.
functions.https.onRequest((req,res)=> {});
가장 일반적인 방식으로 GET,POST,PUT,DELETE 등을 지원하는 동기 함수 호출방식입니다.
functions.pubsub.schedule().onRun()
Cron과 같은 방식으로 작동하는 Google Cloud Scheduler
를 이용해 원하는 일정에 맞춰 함수를 정기적으로 호출합니다.