Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

Cloud Functions로 무엇을 할 수 있나요?

개발자는 Cloud Functions를 사용하여 Firebase 및 Google Cloud 이벤트에 액세스하고 확장 가능한 컴퓨팅 성능을 사용하여 이러한 이벤트에 대한 응답으로 코드를 실행할 수 있습니다. Firebase 앱은 고유한 방식으로 Cloud Functions를 사용하여 고유한 요구사항을 해결할 수 있지만 일반적인 사용 사례는 다음과 같이 분류될 수 있습니다.

관심 있는 카테고리의 사용 사례와 예시를 각각 검토한 후 시작하기 가이드를 진행하거나 인증 이벤트, 애널리틱스 이벤트 등에 대한 구체적 안내 가이드를 진행합니다. 지원되는 이벤트 유형의 전체 목록은 eventType API 참조를 확인하세요.

흥미로운 상황이 발생할 때 사용자에게 알림

개발자는 Cloud Functions로 사용자의 참여도를 유지하고 앱과 관련하여 유용한 최신 정보를 제공할 수 있습니다. 예를 들어 사용자들이 서로의 앱 활동을 팔로우할 수 있는 앱을 생각해 보세요. 사용자가 자신을 다른 사용자의 팔로어로 추가할 때마다 실시간 데이터베이스에 쓰기가 수행됩니다. 그리고 이 쓰기 이벤트는 Firebase 클라우드 메시징(FCM) 알림을 만드는 함수를 트리거하여 적절한 사용자에게 새 팔로어가 늘어났음을 알릴 수 있습니다.

  1. 팔로어가 저장되는 실시간 데이터베이스의 경로 쓰기에서 함수가 트리거됩니다.
  2. 이 함수는 FCM을 통해 전송할 메시지를 작성합니다.
  3. FCM은 사용자 기기에 알림 메시지를 전송합니다.

작동하는 코드를 검토하려면 FCM 알림 보내기를 참조하세요.

흥미로운 알림의 기타 사용 사례

데이터베이스 정리 및 유지보수 수행

Cloud Functions 데이터베이스 이벤트 처리를 통해 사용자 동작에 따라 실시간 데이터베이스 또는 Cloud Firestore를 수정하여 시스템을 정리된 최신 상태로 유지할 수 있습니다. 예를 들어 채팅 앱에서 쓰기 이벤트를 모니터링하여 사용자의 메시지에서 비속어나 욕설을 삭제할 수 있습니다. 작업 방식은 다음과 같습니다.

  1. 함수의 데이터베이스 이벤트 핸들러는 특정 경로의 쓰기 이벤트를 수신 대기하면서 모든 채팅 메시지의 텍스트를 포함하는 이벤트 데이터를 검색합니다.
  2. 함수에서 텍스트를 처리하여 부적절한 표현을 감지하고 삭제합니다.
  3. 함수에서 업데이트된 텍스트를 데이터베이스에 다시 씁니다.

작동하는 코드를 검토하려면 텍스트 관리 샘플을 참조하세요. 이 샘플은 채팅 메시지에서 부적절한 표현 및 과도한 대문자 사용을 차단합니다.

데이터베이스 정리 및 유지보수의 기타 사용 사례

앱이 아닌 클라우드에서 집중적인 작업 실행

개발자는 Cloud Functions를 활용하여 CPU, 네트워크 등의 리소스를 많이 소비하여 사용자 기기에서 실행하기에 적합하지 않은 작업을 Google 클라우드로 오프로드할 수 있습니다. 예를 들어 이미지의 저장소 업로드를 수신 대기하는 함수를 작성하고 함수를 실행하는 인스턴스로 이미지를 다운로드하여 수정한 후 저장소에 다시 업로드할 수 있습니다. 이 과정에서 이미지 크기 조절, 자르기, 변환 등을 수행할 수 있습니다. 이 작업을 쉽게 수행할 수 있도록 Cloud 함수와 함께 사용할 ImageMagick 명령줄 도구가 제공됩니다.

  1. 저장소에 이미지 파일이 업로드되면 함수가 트리거됩니다.
  2. 함수에서 이미지를 다운로드하고 미리보기 이미지를 만듭니다.
  3. 클라이언트 앱에서 미리보기 이미지를 찾아서 사용할 수 있도록 함수에서 해당 위치를 데이터베이스에 기록합니다.
  4. 함수에서 미리보기 이미지를 저장소에 새 위치로 다시 업로드합니다.
  5. 앱에서 미리보기 이미지 링크를 다운로드합니다.

이미지 처리 예시를 살펴보려면 스토리지 이벤트 처리를 참조하세요.

Firebase 클라우드 일괄 작업의 기타 예시

타사 서비스 및 API와 통합

Cloud 함수로 웹 API를 호출하고 외부에 노출하면 앱과 다른 서비스의 연동을 강화할 수 있습니다. 예를 들어 개발 공동작업에 사용되는 앱에서 작업 그룹 대화방에 GitHub 커밋을 게시할 수 있습니다.

  1. 사용자가 커밋을 GitHub 저장소로 내보냅니다.
  2. HTTPS 함수가 GitHub webhook API를 통해 트리거됩니다.
  3. 함수에서 팀의 Slack 채널에 커밋 알림을 보냅니다.

타사 서비스 및 API와 통합하는 다른 방법