실험용 Dart SDK 시작하기

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

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

기본 요건

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

 `firebase --version`

Firebase CLI에서 실험 사용 설정

firebase experiments:enable dartfunctions

프로젝트 초기화

  1. 실행: bash 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 콘솔Cloud Run 함수 페이지에서 Dart 함수를 볼 수 있습니다.

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