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

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

관심 있는 카테고리의 사용 사례와 예시를 각각 검토한 후 시작하기 가이드를 진행하거나 인증 이벤트, 애널리틱스 이벤트 등에 대한 구체적 안내 가이드를 진행합니다.

관심을 가질 만한 상황이 발생할 때 사용자에게 알림

개발자는 Cloud Functions를 사용하여 사용자의 참여를 최신 상태로 유지할 수 있습니다. 앱 관련 정보를 표시할 수 있습니다. 예를 들어 사용자가 앱에서 서로의 활동을 팔로우할 수 있습니다. 사용자가 자신을 다른 사용자의 관심 사용자로 추가하면 Realtime Database입니다. 그런 다음 이 쓰기 이벤트는 함수를 트리거하여 Firebase Cloud Messaging (FCM) 알림을 만들어 적절한 알림을 새로운 팔로어가 생겼다는 것을 알게 됩니다.

아래에 설명된 앱 흐름을 보여주는 다이어그램

  1. 함수는 Realtime Database 경로에 쓰기가 발생할 때 트리거됩니다. 팔로어가 저장됩니다.
  2. 이 함수는 FCM를 통해 전송할 메시지를 작성합니다.
  3. FCM: 사용자의 기기에 알림 메시지를 보냅니다.

실제로 작동하는 코드를 검토하려면 GitHub의 샘플 코드를 참고하세요.

관심을 가질 만한 알림의 기타 사용 사례

  • 뉴스레터를 구독하는 사용자에게 확인 이메일을 보냅니다.
  • 사용자가 가입을 완료하면 환영 이메일을 보냅니다.
  • 새 계정을 만든 사용자에게 SMS 확인을 보냅니다.

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

Cloud Functions 데이터베이스 이벤트 처리를 사용하면 Realtime Database 또는 사용자 행동에 반응하여 Cloud Firestore, 시스템을 원하는 대로 유지합니다. 있습니다. 예를 들어 쓰기 이벤트를 모니터링하고 형식을 (예: 모두 대문자로 변경) 메시지를 보낼 수 있습니다 작동 방식은 다음과 같습니다.

아래에 설명된 앱 흐름을 보여주는 다이어그램

  1. 함수의 데이터베이스 이벤트 핸들러가 특정 경로를 탐색하고 메시지의 텍스트를 포함하는 이벤트 데이터를 검색합니다.
  2. 이 함수는 텍스트를 처리하여 문자열을 대문자로 변경합니다.
  3. 함수에서 업데이트된 텍스트를 데이터베이스에 다시 씁니다.

실제로 작동하는 코드를 검토하려면 GitHub의 샘플 코드를 참고하세요.

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

  • 삭제된 사용자의 콘텐츠를 Realtime Database에서 삭제합니다.
  • Firebase 데이터베이스의 하위 노드 수를 제한합니다.
  • Realtime Database 목록의 요소 수를 추적합니다.
  • Realtime Database의 데이터를 Google Cloud BigQuery로 복사합니다.
  • 텍스트를 그림 이모티콘으로 변환합니다.
  • 데이터베이스 레코드의 계산된 메타데이터를 관리합니다.

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

Cloud Functions를 활용하여 Google Cloud 실행하는 대신 클라우드 리소스 집약적인 작업 (과거의 CPU 또는 네트워킹)을 사용자 기기에서 앱의 응답성을 개선할 수 있습니다. 예를 들어, Cloud Storage에 대한 이미지 업로드를 수신 대기하려면 이미지를 인스턴스에 다운로드합니다. 함수를 실행하고 수정한 후 다시 Cloud Storage에 업로드합니다. 내 이미지 수정에는 이미지 크기 조절, 자르기 또는 도구로 이미지 변환이 포함될 수 있음 sharp 또는 베개.

아래에 설명된 앱 흐름을 보여주는 다이어그램

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

이미지 처리 예시를 살펴보려면 Cloud Storage 이벤트 처리

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

  • 사용하지 않는 Firebase 계정을 주기적으로 삭제합니다. Node.js | Python
  • 업로드된 이미지 자동 백업 Node.js | Python
  • 사용자에게 대량으로 이메일을 보냅니다.
  • 주기적으로 데이터를 집계하고 요약합니다.
  • 대기 중인 작업의 큐를 처리합니다.

서드 파티 서비스 및 API와 통합

Cloud Functions을(를) 사용하면 앱이 다른 서비스와 원활하게 연동되도록 할 수 있습니다. 웹 API 호출 및 노출 예를 들어 개발 공동작업에 사용되는 앱에서 작업 그룹 채팅방에 GitHub 커밋을 게시할 수 있습니다.

아래에 설명된 앱 흐름을 보여주는 다이어그램

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

서드 파티 서비스 및 API와 통합하는 다른 방법

  • Google Cloud Vision API를 사용하여 업로드된 이미지를 분석하고 태그를 지정합니다.
  • Google 번역을 사용하여 메시지를 번역합니다.
  • 커스텀 인증을 사용하여 사용자를 로그인 처리합니다.
  • Realtime Database 쓰기에 대해 웹훅으로 요청을 보냅니다.
  • Realtime Database 요소에서 전체 텍스트 검색을 사용 설정합니다.
  • 사용자의 결제를 처리합니다.
  • 전화 통화 및 SMS 메시지의 자동 응답을 만듭니다.
  • Google 어시스턴트를 사용하여 챗봇을 만듭니다.