🐦

Cloud Functions 最初の1歩 - Firebaseで遊ぼう!

2024/03/31に公開

Firebaseを使って遊ぶ記事です。スクリーンショット満載でやった気になれます。

概要

FirebaseのCloud Functionsを使用したHello Worldです。
Typescripttで作成したColud Functionsをデプロイししてブラウザから呼び出します。

ゴール

Cloud Functionsを作成してブラウザから呼び出します。
image

必要なもの

  • 作業時間:30分
  • 費用:無料
  • firebaseプロジェクト
    準備できていない場合は プロジェクトを作成してHTML公開 を参考に構築してください。
  • クレジットカード
    FirebaseでCloud Functionsを使用する場合は、クレジットカードを登録して重量課金プランに変更する必要があります。費用が心配になるかもしれませんが、このチュートリアルの内容を実施しても課金対象となるレベルの処理は行いません。詳細は「プロジェクトのアップグレード」章を参照ください。

作業手順

プロジェクトのアップグレード

firebaseのプロジェクトは無料と従量課金の2種類のプランがあります。
Cloud Functionsを使用するにはBlazeプランを使用する必要があります。

  • Sparkプラン
    無料のプランです。無料なので安心感がありますが、Cloud Functionsは使えません。残念です。

  • blazeプラン
    従量課金のプランです。
    従量課金といっても、無料枠が非常に大きいため個人の趣味で検証を行うレベルであれば余裕で無料枠におさまります。

image

まずはプロジェクトのアップグレードを行うため、ダッシュボード左下の「アップグレード」を押下します。
image

プラン変更の画面が表示されるためBlazeプランの「プランを選択」ボタンを押下します。
image

請求先アカウントの選択画面が表示されます。請求先アカウントを作成していない場合は「新しい請求先アカウントを作成する」を選択したまま「続行」ボタンを押下します。
image

請求先アカウントの設定が始まります。最初に対象となる国の選択となるため「日本」を選択します。
image

請求先の名前と企業/組織名とクレジットカード情報を入力します。名前は請求書に使用させる項目なので、個人利用であれば両方とも個人名を入れておけばよいでしょう。クレジットカード情報は決済可能な情報を入力します。
image

続いて請求先の住所を入力します。こちらも請求書に使用される項目です。入力したら「購入を確定」ボタンを押下します。
image

プロジェクトダッシュボードに戻り予算の設定画面となります。
image

予算の設定は使用量が課金域に入った場合に早めに知るため1円でも構いません。スクショでは100円を設定しています。設定したら「続行」ボタンを押下します。
image

Blazeプランへのアップグレードの最終確認画面です。「購入」ボタンを押下します。
image

上記の操作でアップグレードが完了です。左下のプラン名が「Blaze」になっています。
image

Cloud Functions用のファイル群を生成

Cloud Functionにデプロイするためのプロジェクトを生成します。
ダッシュボードのサイドバーの「構成」から「Functions」選択します。
image

firebase-toolsのインストールが促されますが、インストール済みのため「続行」ボタンを押下します。
image

firebaseプロジェクトの生成を促されますのでコマンドプロンプトを起動します。
image

Functionsを試す新しいプロジェクトを生成するためのフォルダを作成します。

mkdir firebase_helloworld_functions

image

カレントディレクトリを生成したフォルダに切り替えます。

cd firebase_helloworld_functions

image

firebaseプロジェクト作成を開始します。

firebase init

image

プロジェクト作成を開始するために「Y」を入力します。
image

生成するプロジェクトの種類を聞かれるため「Functions」を選択(スペースキー押下)してエンターキーを押下します。
image

FirebaseProjectの追加について聞かれるため「Use an existing project」を選択してエンターキーを押下します。
image

表示されたプロジェクトの中から使用するプロジェクトを選択してエンターキーを押下します。
image

使用する言語を聞かれるので「TypeScript」を選択してエンターキーを押下します。他の言語でも構いませんが、このチュートリアルはTypeScript前提で進めます。
image

Lintについて何か聞かれるので「Y」を押下しておきます。
image

生成前の確認なので「Y」を押下して先に進めます。
image

プロジェクトの生成が始まるので数分間待ちます。
image

プロジェクトの生成が完了しました。
image

プロジェクトフォルダにファイル群が作成されていることを確認します。
image

生成されたファイル群から「functions/src/index.ts」を探してメモ帳で開きます。
image

「export const~」以降の行のコメントを解除します。
image

ソースを以下の状態にして保存します。これでソースの準備は完了です。
image

デプロイとブラウザでの動作確認

引き続きコマンドプロンプトでデプロイ操作を行います。

firebase deploy

image

デプロイ処理は数分~10分程度かかるので気長に待ちます。
image

「Deploy complete!」と表示されればデプロイ完了です。ブラウザのダッシュボードに戻ります。
image

デプロイまで完了しているため「完了」ボタンを押下します。
image

ダッシュボードにデプロイした「helloworld」関数が表示されているので選択します。
image

デプロイ直後のため呼び出し履歴はありませんが、情報を見ることができます。画面中央に関数のURLが記載されているため(「リクエスト」の下あり)、コピーして別タブで表示してみましょう。
image

「Hello from Firebase!」と表示されることが確認できれば完了です。
image

まとめ

スクリーンショットは多いのですが、少ない手順でFunctionsのデプロイが行えました。

GitHubで編集を提案

Discussion