Cloud Functions는 개발자에게 Firebase 및 Google Cloud 이벤트에 대한 액세스 권한과 이러한 이벤트에 대한 응답으로 코드를 실행할 수 있는 확장 가능한 컴퓨팅 성능을 제공합니다. Firebase 앱은 고유한 요구 사항을 충족하기 위해 고유한 방식으로 Cloud Functions를 사용할 것으로 예상되지만 일반적인 사용 사례는 다음 영역에 속할 수 있습니다.
- 흥미로운 일이 발생하면 사용자에게 알립니다 .
- 데이터베이스 삭제 및 유지 관리를 수행합니다 .
- 앱 대신 클라우드에서 집약적인 작업을 실행합니다 .
- 타사 서비스 및 API와 통합 합니다.
관심 있는 각 범주에 대한 사용 사례와 예를 검토한 다음 시작하기 자습서 또는 인증 이벤트 , 분석 이벤트 등에 대한 특정 방법 가이드로 진행하십시오.
흥미로운 일이 발생하면 사용자에게 알림
개발자는 Cloud Functions를 사용하여 사용자의 참여를 유지하고 앱 관련 정보를 최신 상태로 유지할 수 있습니다. 예를 들어 사용자가 앱에서 서로의 활동을 추적할 수 있는 앱을 생각해 보십시오. 사용자가 자신을 다른 사용자의 팔로워로 추가할 때마다 실시간 데이터베이스에 쓰기가 발생합니다. 그런 다음 이 쓰기 이벤트는 FCM(Firebase Cloud Messaging) 알림을 생성하는 기능을 트리거하여 적절한 사용자에게 새로운 팔로워가 생겼다는 것을 알릴 수 있습니다.
- 함수는 팔로어가 저장된 실시간 데이터베이스 경로에 쓸 때 트리거됩니다.
- 함수는 FCM 을 통해 보낼 메시지를 작성합니다.
- FCM 은 사용자의 장치에 알림 메시지를 보냅니다.
작업 코드를 검토하려면 FCM 알림 보내기 를 참조하세요.
기타 흥미로운 알림 사용 사례
- 뉴스레터를 구독/구독 취소하는 사용자에게 확인 이메일을 보냅니다 .
- 사용자가 가입을 완료하면 환영 이메일을 보냅니다 .
- 사용자가 새 계정을 만들 때 SMS 확인을 보냅니다.
데이터베이스 정리 및 유지 관리 수행
Cloud Functions 데이터베이스 이벤트 처리를 사용하면 사용자 행동에 따라 실시간 데이터베이스 또는 Cloud Firestore를 수정하여 시스템을 최신 상태로 깨끗하게 유지할 수 있습니다. 예를 들어 채팅방 앱에서 쓰기 이벤트를 모니터링하고 사용자의 메시지에서 부적절하거나 모독적인 텍스트를 제거할 수 있습니다. 작동 방식은 다음과 같습니다.
- 함수의 데이터베이스 이벤트 핸들러는 특정 경로에서 쓰기 이벤트를 수신하고 채팅 메시지의 텍스트가 포함된 이벤트 데이터를 검색합니다.
- 이 기능은 텍스트를 처리하여 부적절한 언어를 감지하고 제거합니다.
- 함수는 업데이트된 텍스트를 데이터베이스에 다시 씁니다.
작업 코드를 검토하려면 Text Moderation 샘플을 참조하세요. 이 샘플은 부적절한 언어와 채팅 메시지의 대문자 "고함"을 삭제합니다.
기타 데이터베이스 정리 및 유지 관리 사용 사례
- 실시간 데이터베이스에서 삭제된 사용자의 콘텐츠를 제거합니다 .
- Firebase 데이터베이스의 하위 노드 수를 제한합니다 .
- 실시간 데이터베이스 목록의 요소 수를 추적합니다 .
- 실시간 데이터베이스에서 Google Cloud BigQuery로 데이터를 복사합니다 .
- 텍스트를 이모티콘으로 변환합니다.
- 데이터베이스 레코드에 대해 계산된 메타데이터를 관리합니다.
앱이 아닌 클라우드에서 집약적인 작업 실행
개발자는 Cloud Functions를 활용하여 사용자 기기에서 실행하기에는 실용적이지 않은 리소스 집약적인 Google 클라우드 작업(과중한 CPU 또는 네트워킹)을 오프로드할 수 있습니다. 예를 들어 Cloud Storage에 대한 이미지 업로드를 수신 대기하고, 함수를 실행하는 인스턴스에 이미지를 다운로드하고, 수정하고, 다시 Cloud Storage에 업로드하는 함수를 작성할 수 있습니다. 수정에는 이미지 크기 조정, 자르기 또는 변환이 포함될 수 있습니다. 이 작업을 쉽게 수행할 수 있도록 Cloud Functions와 함께 사용할 ImageMagick 명령줄 도구가 제공됩니다.
- 이미지 파일이 Cloud Storage에 업로드되면 함수가 트리거됩니다.
- 함수는 이미지를 다운로드하고 축소판 버전을 생성합니다.
- 이 함수는 클라이언트 앱이 찾아 사용할 수 있도록 해당 미리 보기 위치를 데이터베이스에 기록합니다.
- 이 함수는 썸네일을 새 위치의 Cloud Storage에 다시 업로드합니다.
- 앱이 썸네일 링크를 다운로드합니다.
이미지 처리 예제 에 대한 자세한 내용은 스토리지 이벤트 처리를 참조하십시오.
Firebase 클라우드의 다른 배치 작업 예
- 사용하지 않는 Firebase 계정을 주기적으로 삭제합니다 .
- 업로드된 이미지를 자동으로 조정 합니다.
- 사용자에게 대량 이메일을 보냅니다.
- 주기적으로 데이터를 집계하고 요약합니다.
- 대기 중인 작업 대기열을 처리합니다.
타사 서비스 및 API와 통합
Cloud Functions는 웹 API를 호출하고 노출하여 앱이 다른 서비스와 더 잘 작동하도록 도울 수 있습니다. 예를 들어 개발 협업에 사용되는 앱은 작업 그룹 채팅방에 GitHub 커밋을 게시할 수 있습니다.
- 사용자가 GitHub 리포지토리에 커밋을 푸시합니다.
- HTTPS 기능은 GitHub 웹후크 API 를 통해 트리거됩니다.
- 함수는 팀 Slack 채널에 커밋 알림을 보냅니다.
타사 서비스 및 API와 통합하는 다른 방법
- Google Cloud Vision API 를 사용하여 업로드된 이미지를 분석하고 태그를 지정하세요.
- Google 번역을 사용하여 메시지를 번역 합니다.
- LinkedIn 또는 Instagram 과 같은 인증 공급자를 사용하여 사용자를 로그인하십시오.
- 실시간 데이터베이스 쓰기에 대한 웹훅에 요청을 보냅니다 .
- 실시간 데이터베이스 요소에서 전체 텍스트 검색을 사용 설정합니다 .
- 사용자의 결제를 처리합니다 .
- 전화 통화 및 SMS 메시지에 대한 자동 응답을 만듭니다.
- Google Assistant를 사용하여 챗봇을 만듭니다 .