CloudFunctionsとFirebaseFunctionsの違いは何ですか?


84

クラウド機能Firebase関数(または「Firebaseのためのクラウド機能」)の両方を同じに見えます。それぞれのユースケースを説明してください。

どちらもHTTP関数を使用します。

クラウド機能

exports.helloHttp = function helloHttp (req, res) {
  res.send(`Hello ${req.body.name || 'World'}!`);
};

そしてFirebase関数で

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

これらの違いは何ですか?


1
Firebaseの用語は、実際にはFirebaseのCloud Functionsであり、FirebaseServicesと統合されたCloudFunctionsにすぎません。
AL。

2
それで、両方の間に違いはありませんか?
ムハンマドチョタ2017年

あなたの質問に正確に答えない簡単なポイントを追加したいと思います。Google Cloud Functionsを使用して、さまざまな言語(NodeJS、Python、Heard Goが登場)でコーディングできます。
viggy28 2018年

回答:


157

FirebaseFunctionsという製品はありません。

3つの別々のものがあります:

  1. Google Cloud Functions。これにより、イベントに応じてGoogleのインフラストラクチャでコードのスニペットを実行できます。
  2. Cloud Functions for FirebaseはFirebaseのイベント(データベースやファイルの書き込み、ユーザーの作成など)に基づいてGoogle CloudFunctionsをトリガーします
  3. Firebase SDK for Cloud Functions。これには、firebase-functionsFirebaseデータ(データベースに書き込まれたデータのスナップショットなど)にアクセスするためにFunctionsコードで使用するライブラリ(紛らわしいと呼ばれる)が含まれています。

そのため、FirebaseはGoogle Cloud Functionsの(比較的薄い)ラッパーを提供し、後者の製品を使いやすくしてFirebaseと統合します。その意味で、FirebaseがGoogle CloudStorageを「CloudStoragefor Firebase」(旧称Firebase Storage)に統合する方法と似ています。

FirebaseなしでGoogleCloud Platformを使用している場合は、プレーンなGoogle CloudFunctionsを使用する必要があります。Firebaseを使用している場合、またはCloud Functionsに関心のあるモバイル開発者の場合は、Cloud Functions forFirebaseを使用する必要があります。


1
参考:Firebaseツールを使用すると、デベロッパーはすべてのGoogleCloudイベントにアクセスできます。「firebase-functions」SDKとFirebaseCLIは連携して、開発者が簡単なデプロイコマンドで一連の機能を管理できるようにします。必要なときにGoogle Cloud Platformにフルアクセスしながら、簡単に開始できます。
ウルトラサウルス2017年

しかし、価格は違いませんか?Firebaseコンテキストの外部でGoogleCloud Platformの機能を使用すると、毎月5GBのアウトバウンドデータが無料で提供されます。Firebaseコンテキスト内からGCP関数を呼び出すと、無料利用枠でGoogle以外のサービスにアクセスできなくなります。外部ネットワークへのアクセスは、25ドルレベルまたはBlazeレベル(従量制)で許可されていますが、Blazeレベルでも、100万回の呼び出しあたり40セントが課金されますが、GCPを使用すると、最初の200万回の呼び出しは無料です。そして、100万あたり0.40セントです。
mancini0 2018

これらはまったく同じインフラストラクチャで実行されるため、実行方法に違いはありません。Blazeプランには、同じ無料の割り当てがあります。料金ページから:「Blazeプランでは、Cloud Functionsは永続的な無料利用枠を提供します。最初の2,000,000回の呼び出し、400,000 GB秒、200,000 CPU秒、および5GBのインターネット出力トラフィックが毎月無料で提供されます。この無料の割り当てを超えた使用に対してのみ課金されます。」
Frank van Puffelen 2018

Cloud Functions for Firebaseは、Pythonで記述される関数をサポートしていません。基づいて「あなたは、書き込み機能(...)へのNode.js環境が必要になります」
JohnAndrews


5

Google Cloud Platform(GCP)には、この質問に対処する記事、Google Cloud Functions andFirebaseがあります。

Google CloudFunctionsとFirebase

Google Cloud Functionsは、イベント駆動型アプリケーションを作成するためのGoogleのサーバーレスコンピューティングソリューションです。これは、Google CloudPlatformチームとFirebaseチームの共同製品です。

Google Cloud Platformの開発者にとって、Cloud Functionsは接続レイヤーとして機能し、イベントをリッスンして応答することで、Google Cloud Platform(GCP)サービス間にロジックを織り込むことができます。

Firebase開発者Firebaseのためのクラウド機能Firebaseの動作を拡張し、Firebaseは、サーバー側のコードを追加することによって特徴統合する方法を提供します。

どちらのソリューションも、サーバーの管理やインフラストラクチャのプロビジョニングについて心配する必要がない、完全に管理された環境で機能の高速で信頼性の高い実行を提供します。

..。

Cloud Functions for Firebaseは、Firebase開発者向けに最適化されています。

  • コードを介して関数を構成するFirebaseSDK
  • FirebaseConsoleおよびFirebaseCLIと統合
  • Google Cloud Functionsと同じトリガーに加えて、Firebase Realtime Database、Firebase Authentication、FirebaseAnalyticsトリガー

3

追加の違いがあります。FirebaseFunctionsはJSまたはNode.JSでのみ実装できますが、CloudFunctionsではPythonとGoも使用できます。

Sparkプランを利用している場合は、価格設定にもわずかな違いがあります。これをチェックしてくださいhttps://firebase.google.com/pricinghttps://cloud.google.com/functions/pricing あなたはブレイズ計画にある場合、価格は同じです。

私はたまたまFirebaseプロジェクトに両方を使用しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.