1.트리거사용시 활용됨
1-1. 생성방법:
-콘솔을 이용 : console.cloud.google.com/functions
-CLI를 이용 : 로컬 터미널 활용
1-2. 구현언어:
javascript, typescript, python 등.
1-3.CLI 이용한 절차
firebase login (미리 로그인되어있다면 생략)
firebase init firestore
firebase init functions
CLI 언어 선택 (javascript / python / typescript
이후 아래와 같은 경로가 생성됨.!
myproject
+- .firebaserc # Hidden file that helps you quickly switch between
| # projects with `firebase use`
|
+- firebase.json # Describes properties for your project
|
+- functions/ # Directory containing all your functions code
|
+- .eslintrc.json # Optional file containing rules for JavaScript linting.
|
+- package.json # npm package file describing your Cloud Functions code
|
+- index.js # main source file for your Cloud Functions code
|
+- node_modules/ # directory where your dependencies (declared in
# package.json) are installed
관련모쥴 임포트 시 주의사항!!
Cloud Functions 버전 비교
Cloud Functions for Firebase에는 두 가지 버전이 있습니다.
- Cloud Functions(2세대): Cloud Run에서 함수를 서비스로 배포하여 Eventarc 및 Pub/Sub를 사용하여 함수를 트리거할 수 있도록 합니다.
- Cloud Functions(1세대): 이벤트 트리거와 구성 가능성이 제한된 함수의 원래 버전입니다.
가능하다면 새로운 함수에 Cloud Functions(2세대)를 선택하는 것이 좋습니다.

하지만 Cloud Functions(1세대)도 계속 지원할 계획입니다.
이 페이지에서는 Cloud Functions에 도입된 기능을 설명하고 두 제품 버전을 비교합니다.
[1세대 표기법]
// The Cloud Functions for Firebase SDK to create Cloud Functions and set up triggers.
const functions = require('firebase-functions/v1');
// The Firebase Admin SDK to access Firestore.
const admin = require("firebase-admin");
admin.initializeApp();
[2세대 표기법]
// The Cloud Functions for Firebase SDK to create Cloud Functions and triggers.
const {logger} = require("firebase-functions");
const {onRequest} = require("firebase-functions/v2/https");
const {onDocumentCreated} = require("firebase-functions/v2/firestore");
// The Firebase Admin SDK to access Firestore.
const {initializeApp} = require("firebase-admin/app");
const {getFirestore} = require("firebase-admin/firestore");
=> 터미널에서 node index.js 실행.,
[로컬에서 에뮬레이터 띄어서 테스트 하는 방법]
firebase emulators:start
=>http 함수 의 url 은 firebase emulators:start 명령어의 출력에서 확인됨..
http://localhost:5001/MY_PROJECT/us-central1/addMessage
링크를 클릭하면 브라우져가 열리고 결과가 표시됨.(새로 고침해주면 변경된 사항이 적용되어짐)
[cloud functions 처리할수있는일]
-관심을 가질만한 상황이 발생할때 사용자에게 알림
-데이터베이스 정리및 유지보수 수행
-앱이 아닌 클라우드에서 집약적인 작업 실행
-서드 파티 서비스 및 API 통신
[http 요청을 통한 함수호출]
functions.https 를 활용, get/post/put/delete/options
exports.date = functions.https.onRequest((req, res) => {
// ...
});
중요: 모든 HTTP 함수가 올바르게 종료되는지 확인하세요. 함수를 올바르게 종료해야 함수가 너무 오래 실행되어 과도한 요금이 청구되는 일을 피할 수 있습니다. res.redirect(), res.send() 또는 res.end()로 HTTP 함수를 종료하세요.
const formattedDate = moment().format(`${format}`);
functions.logger.log('Sending Formatted date:', formattedDate);
res.status(200).send(formattedDate);
const express = require('express');
const cors = require('cors');
const app = express();
// Automatically allow cross-origin requests
app.use(cors({ origin: true }));
// Add middleware to authenticate requests
app.use(myMiddleware);
// build multiple CRUD interfaces:
app.get('/:id', (req, res) => res.send(Widgets.getById(req.params.id)));
app.post('/', (req, res) => res.send(Widgets.create()));
app.put('/:id', (req, res) => res.send(Widgets.update(req.params.id, req.body)));
app.delete('/:id', (req, res) => res.send(Widgets.delete(req.params.id)));
app.get('/', (req, res) => res.send(Widgets.list()));
// Expose Express API as a single Cloud Function:
exports.widgets = functions.https.onRequest(app);
[이벤트기반 함수]
'firebase' 카테고리의 다른 글
| FCM 메세지 유형 /셋팅(firebase cloud messaging)중 앱에서 작성,fcm중계되어서 수신앱에 도착 (0) | 2025.06.26 |
|---|---|
| cloud function -2- 클라우드 펑션 표기에는 1세대,2세대가 있어요. (0) | 2025.06.25 |
| firebase CRUD with flutter 파이어베스에 접근해서 추가,읽고,업데이트,삭제하는 방법입니다. (0) | 2025.06.21 |
| flutter + firebase [기본 셋팅절차] = firestore PROCESS SECOND. (0) | 2025.06.20 |
| keytool'해시키' 도구에 대해, 자바를 설치하면 포함되어 활용이 가능하다. (0) | 2025.06.20 |