【Firebase】Firebase Functionsをローカル環境サーバーで試す
Firebase

【Firebase】Firebase Functionsをローカル環境サーバーで試す

作成日:2022年02月21日
更新日:2022年02月21日

前回は、Firebase Functions を使用し、Hello World 関数を作成しました。

firebase-functions-basic

【Firebase】Firebase Functionsを使用する

今回は、Firebase Database からデータを取得する関数を Firebase Functions で作成し、ローカル環境サーバーで試します。

まずは、先日作成した functions フォルダの index.js を開きます。

firebase-adminをインポートします。

jsx
const admin = require("firebase-admin");

adminを初期化しましょう。

jsx
admin.initializeApp();

helloWorldgetBookへ変更します。

また、内を削除しましょう。

jsx
exports.getBook = functions.https.onRequest((request, response) => {});

adminfirestoreを使用します。

また、firestoredocには、単一データのパスを設定します。

image2

jsx
exports.getBook = functions.https.onRequest((request, response) => {
admin.firestore().doc("Books/vQgOyHmkudLWhI0fpK1z");
});

getを設定し、then/catch で処理します。

then には、データを返すようにします。

また catch には、Console.log でエラーを表示するようにします。

jsx
exports.getBook = functions.https.onRequest((request, response) => {
admin
.firestore()
.doc("Books/vQgOyHmkudLWhI0fpK1z")
.get()
.then((snapshot) => {
const data = snapshot.data();
response.send(data);
})
.catch((err) => console.log(err));
});

一通り完成したので、ローカル環境でサーバーを立ち上げます。

ターミナルの functions のディレクトリで、firebase serve --only functionsを実行します。

image3

サーバーが立ち上がりました。

functions[us-central1-getBook]:の後に書かれている URL をコピーします。

今開いているターミナルとは別のターミナルを開きます。

curl 〇〇を実行します。

〇〇は、先程コピーした URL を貼り付けましょう。

すると、

image4

データを取得することができました。

© 2024あずきぱんウェブスタジオ