Cloud Functions for Firebase での Dart の試験運用版サポートにより、Flutter と Dart を使用してフルスタック アプリを構築できます。新しい Firebase Admin Dart SDK を使用して、他の Firebase サービスと通信します。
Dart 関数を使用するには、このガイドの設定タスクを完了してから、Dart の HTTP 関数と呼び出し可能関数について学習してください。
前提条件
- Dart SDK 3.9 以降
- Firebase CLI(バージョン 15.15.0 以降)
Firebase CLI で Dart をサポートするバージョンの
Cloud Functions for Firebase がインストールされていることを、--version フラグを使用して確認します。
`firebase --version`
Firebase CLI で試験運用版を有効にする
firebase experiments:enable dartfunctions
プロジェクトの初期化
次のコマンドを実行します。
firebase init functions言語として Dart を選択します。
[Do you want to install dependencies now?] と表示されたら、[Yes] と答えます。
関数のコードを表示する
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 functions に直接アップロードします。
デプロイが完了すると、Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app のようなログ行が表示されます。
ブラウザでその URL を読み込んで、新しくデプロイされた Dart 関数を呼び出します。
次のステップ
- 最小インスタンス数などの構成オプション を設定します。
- HTTP 関数と 呼び出し可能関数について学習します。
- Dart Functions Codelab Dart Functions codelab を試します。
- 試験運用版の Dart Admin SDK を使用して、関数から Firebase などの他の Cloud Firestore サービスとやり取りします。
onRequestHTTP 関数に加えて、onCallサンプル またはonCallとストリーミング サンプルを試して、アプリから関数を直接呼び出す ことができます(呼び出し方法に関する特別な制限事項に注意してください)。
制限事項
onCallトリガーはデプロイできますが、関数を名前で識別する httpsCallable などのメソッドを使用してクライアント SDK から呼び出すことはできません。代わりに、 httpsCallableFromURL などのメソッドを使用して、関数の完全な Cloud Run URL を渡すことができます。- Firestore トリガーなどの他のトリガーは、ローカル エミュレータ スイートで実行できますが、デプロイすることはできません。
- Firebase コンソールでは、 試験運用版リリース中に Dart 関数は表示されません。代わりに、 Cloud Run コンソールの Cloud functions ページで Dart 関数を表示できます。
Dart 関数を使用しているときに問題が発生した場合は、試験運用版の Dart SDK の改善と拡張に役立てるため、チームに レポートを送信する ことをおすすめします。