目次
必要なもの
・node.js
・googleアカウント
cloud functionsってなんや?
cloud functionsはクラウド上でコードを実行できる環境のこと。
1日1回実行させたり、ボタンクリックしたら実行したり…
流行りのサーバーレスバックエンドって奴です。
同じくクラウドで有名な AWSではlambdaという名前で
ほぼ同様の環境が使えます。
始めるには?
Firebaseでググってまずはプロジェクトを作りましょう。

グーグルアカウントにログインしてから【プロジェクトを作成】をクリック

プロジェクトに名前を求められるので適当に命名
下のボタンにかかれている名前がプロジェクトのIDで、唯一無二です。

アナリティクスはやりたければご自由に・・・
webサイトを作る方向けなので今回のcloud functionsには不要

少々お待ちを…. プロジェクトが完成したら開発環境に移ります。
プロジェクトを作る
firebaseを入れてない方(初めて使う方)はこちらをterminalで実行
npm install -g firebase-tools
firebaseコマンドが使えるようになります。
次にエディタでfirebaseにログインを行います。
Terminal上でfirebase loginを打ちます。
errorを通知するだの言ってきますが、基本的にYesでOKです。

同時にブラウザが起動し、Chromeのログイン画面に遷移するので、プロジェクトを作成したIDでログインしましょう。ログインが出来たら以下に進みます。
firebase init
Terminal上でfirebase initを打ちます。

Are you ready to proceed?:進める準備が出来ていたらYを打ちます。
Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confirm your choices. (Press to select, to toggle all, to invert selection):利用するものを選択しろとのこと。矢印キーとスペースキーで選択し、Functionsにチェックをいれ、その後Enterキーを押します。
( ) Database: Deploy Firebase Realtime Database Rules
(*) Firestore: Deploy rules and create indexes for Firestore
( ) Functions: Configure and deploy Cloud Functions
( ) Hosting: Configure and deploy Firebase Hosting sites
( ) Storage: Deploy Cloud Storage security rules
( ) Emulators: Set up local emulators for Firebase features
設定が進み・・・・
What language would you like to use to write Cloud Functions?:
JavaScriptとTypeScriptが選べます。 今回はJavaScriptを選択します。
Do you want to use ESLint to catch probable bugs and enforce style?:
ESLintを利用するか? あるとコードがキレイに書けます。(多分・・・)
一応Yesにしておきます。
Do you want to install dependencies with npm now?:依存関係をインストールするか? Yesにしておきましょう。

ここまで来たらフォルダ構成はこんな感じになっているはずです。
cloud functionsの実装
functions/index.jsがcloud functionsに当たる部分です。
const functions = require('firebase-functions');
exports.test = functions.https.onRequest((req, res) => {
res.status(200).send('test')
});
アクセスしたらhttp.statusを200で、’test’の文字列を返してくれる関数が出来ました。 さっそくdeployして、実行出来るようにしましょう。

これで実行出来るようになりました!
(隠してるところはprojectのIDとかです。 )
ブラウザでfirebaseにデプロイされているか確認しましょう!

左側のfunctionsにアクセスすると以下のページが出てきます。

リクエストの下にかかれているURLをコピーして、ブラウザでアクセスしてみましょう。

クッソ寂しい画面ですが、上手くデプロイ出来たことが確認出来ます。
おわり
今回はテスト的にデプロイして実行してみましたが、実際の使い方としては
・APIアクセスをfunctions側で実行させる。
・firestoreと連携し、データが追加されたことをトリガーにfunctionsを実行させる。
・定期実行させて、処理を行わせる。
ナドナド・・・。
Webサービスやサイトを作ろうと考えてる方はhostingと連携も出来て、ウェブ上でボタンを押されたらcloud functionsを実行して・・・なんてことも出来るのでサーバーサイドの簡単な処理を行う用としてもおすすめです。
コメントを残す