실험용 Dart SDK 시작하기

Cloud Functions for Firebase의 실험용 Dart 지원을 사용하면 Flutter 및 Dart로 풀 스택 앱을 빌드할 수 있습니다. 새로운 Firebase Admin Dart SDK를 사용하여 다른 Firebase 서비스와 통신합니다.

Dart 함수를 시작하려면 이 가이드의 설정 작업을 완료한 후 Dart HTTP 및 호출 가능 함수를 계속 탐색하세요.

기본 요건

Firebase CLI에서 Dart를 지원하는 Cloud Functions for Firebase 버전이 있는지 --version 플래그를 사용하여 확인합니다.

 `firebase --version`

Firebase CLI에서 실험 사용 설정

firebase experiments:enable dartfunctions

프로젝트 초기화

  1. 실행:

    firebase init functions
    
  2. Dart를 언어로 선택합니다.

  3. '지금 종속 항목을 설치하시겠습니까?'라는 메시지가 표시되면 '예'를 선택합니다.

함수 코드 보기

functions/bin/server.dart (또는 진입점)에서 생성된 코드를 봅니다. 이 코드는 간단한 HTTP 함수를 보여줍니다.

샘플 코드는 HttpsOptions 생성자를 사용하여 helloWorld 함수의 최대 인스턴스 수를 10으로 설정합니다. 런타임 옵션 설정에서 런타임 옵션에 대해 자세히 알아보세요.

로컬에서 테스트

firebase emulators:start

Local Emulator Suite이(가) 부팅되면 로그 줄(functions http function initialized (http://127.0.0.1:5001/<url>))이 표시됩니다. 브라우저에서 해당 URL을 로드하여 로컬로 에뮬레이션된 Dart 함수를 호출합니다.

Dart 코드를 수정하면 Firebase Local Emulator Suite이 변경사항을 감지하고 함수를 자동으로 다시 로드합니다.

배포

firebase deploy --only functions

Dart의 배포 프로세스는 Node.js 또는 Python 함수의 배포 프로세스와 다릅니다. 소스 코드를 Cloud Build에서 빌드하도록 업로드하는 대신 Firebase CLI는 개발 머신에서 Dart 컴파일 단계를 실행하고 생성된 바이너리를 Cloud Run 함수에 직접 업로드합니다.

배포가 완료되면 Function URL (hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app과 같은 로그 줄이 표시됩니다.

브라우저에서 해당 URL을 로드하여 새로 배포된 Dart 함수를 호출합니다.

다음 단계

제한사항

  • onCall 트리거는 배포할 수 있지만 이름으로 함수를 식별하는 httpsCallable과 같은 메서드를 사용하여 클라이언트 SDK에서 호출할 수는 없습니다. 대신 httpsCallableFromURL 과 같은 메서드를 사용하고 함수의 전체 Cloud Run URL을 전달할 수 있습니다.
  • Firestore 트리거와 같은 다른 트리거는 로컬 에뮬레이터 모음에서 실행할 수 있지만 배포할 수는 없습니다.
  • Firebase 콘솔은 실험용 출시 중에 Dart 함수를 표시하지 않습니다. 대신 Cloud Run 콘솔의 Cloud 함수 페이지에서 Dart 함수를 볼 수 있습니다.

Dart 함수를 사용하는 중에 문제가 발견되면 실험용 Dart SDK를 개선하고 확장하는 데 도움이 되도록 팀에 보고서를 보내주세요.