자바스크립트를 이용한 Firebase Functions와의 통합 개발

이미 Firebase를 사용하고 있다면, 아마도 Firebase Cloud Functions에 대해 들어보았을 것입니다. Firebase Functions를 사용하면 서버리스 아키텍처로 백엔드 로직을 구현할 수 있습니다. 이 글에서는 자바스크립트를 이용하여 Firebase Functions를 개발하는 방법에 대해 알아보겠습니다.

1. Firebase 프로젝트 설정

Firebase Functions를 사용하기 위해서는 프로젝트에 Firebase를 추가해야 합니다. Firebase 콘솔에 로그인하여 새 프로젝트를 생성한 후, functions 폴더를 포함한 프로젝트 디렉토리에서 다음 명령어를 실행해 Firebase CLI를 설치합니다:

$ npm install -g firebase-tools

Firebase CLI를 설치한 후, Firebase CLI에서 로그인을 진행합니다:

$ firebase login

로그인이 완료되었다면, 프로젝트 디렉토리에서 다음 명령어를 실행하여 Firebase 프로젝트에 연결합니다:

$ firebase init

2. Firebase Functions 개발

Firebase Functions는 여러 이벤트를 트리거하는 트리거 함수와 일련의 작업을 수행하는 백그라운드 함수로 구성됩니다. 자바스크립트를 이용하여 함수를 개발하는 방법을 알아보겠습니다.

2.1. 트리거 함수 개발

트리거 함수는 특정 이벤트가 발생했을 때 실행되는 함수입니다. 예를 들어, Firestore에 새로운 문서가 추가되었을 때 트리거 함수를 실행하고자 한다면, 다음과 같은 코드를 작성할 수 있습니다:

exports.myFirestoreFunction = functions.firestore
    .document('collection/{docId}')
    .onCreate((snapshot, context) => {
        // 이곳에 로직을 작성합니다.
        const newValue = snapshot.data();
        console.log('New document added: ', newValue);
    });

위 예제에서 myFirestoreFunction 함수는 Firestore의 collection/{docId} 경로에 문서가 추가될 때 실행됩니다. 추가된 문서의 데이터는 snapshot.data()에서 가져올 수 있습니다.

2.2. 백그라운드 함수 개발

백그라운드 함수는 특정 작업을 수행하기 위해 실행되는 함수로, 특정 이벤트를 트리거하지 않고도 호출할 수 있습니다. 예를 들어, https.onRequest를 사용하여 HTTP 요청에 응답하는 백그라운드 함수를 작성할 수 있습니다:

exports.myBackgroundFunction = functions.https.onRequest((req, res) => {
    // 이곳에 작업을 작성합니다.
    res.send('Hello, World!');
});

위 예제에서 myBackgroundFunction 함수는 HTTP 요청을 받으면 ‘Hello, World!’ 문자열을 응답합니다.

3. Firebase Functions 배포

Firebase Functions를 개발한 후에는 이를 배포하여 실제 서비스에 적용할 수 있습니다. 다음 명령어를 실행하여 Firebase Functions를 배포합니다:

$ firebase deploy --only functions

Firebase CLI는 코드를 게시하고 함수를 배치하며, 배포된 함수의 엔드포인트 URL을 제공합니다.

4. 요약

이제 자바스크립트를 이용하여 Firebase Functions와 통합 개발하는 방법에 대해 알아보았습니다. Firebase Functions를 사용하면 서버리스 아키텍처를 구축하고 백엔드 로직을 개발하기 쉬워집니다. Firebase Functions를 사용하여 프로젝트의 백엔드를 효과적으로 구현하고 개발 생산성을 향상시켜보세요!

#Firebase #FirebaseFunctions #JavaScript