Help us understand the problem. What is going on with this article?

【Firebase】Cloud FunctionsでHello world

本稿では、Cloud Functions for Firebaseを利用してHello worldを返すエンドポイントを実装します。
基本的には公式のチュートリアルに従います。

環境

  • GCPプロジェクトを作成済み
  • Node v10.19.0

Firebase CLIのインストール

$ npm install firebase-functions@latest firebase-admin@latest --save
$ npm install -g firebase-tools

Firebase SDK for Cloud Functionsの初期化

Firebaseツールを認証する。

$ firebase login

Firebaseプロジェクトルートに移動し、空のプロジェクトを作成する。

$ firebase init functions

Firebaseが紐づくGCPプロジェクトを決める方法を選択する。
今回は既にGCPが存在する想定のため、Use an existing projectを選択する。

? Please select an option: 
❯ Use an existing project 
  Create a new project 
  Add Firebase to an existing Google Cloud Platform project 
  Don't set up a default project 

Firebaseのプロジェクトを選択する。

? Select a default Firebase project for this directory: 
❯ hogehoge (hogehoge) 
  fugafuga (fugafuga) 

言語をJSかTSから選択できる。今回はJSを選択する。

? What language would you like to use to write Cloud Functions? 
❯ JavaScript 
  TypeScript 

ESLint使うか選択する。

? Do you want to use ESLint to catch probable bugs and enforce style?
N

依存関係をインストールするか選択する。

?  Do you want to install dependencies with npm now?
Y

全ての質問に答え終わると、空のプロジェクトができます。

Hello world

セットアップを終えると、package.jsonindex.jsが作成されていると思います。

package.jsonのenginesを8から10に書き換えます。
(今回はHello worldだけなので、デフォルトの8でも大丈夫です。)

  "engines": {
    "node": "10"
  }

index.jsは関数がコメントアウトされている状態なので、全て外します。

const functions = require('firebase-functions');

// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions

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

デプロイする。

$ firebase deploy --only functions

GCPコンソールから詳細を確認することができます。
a.png

https://us-central1-hogehoge.cloudfunctions.net/helloWorld にアクセスすると...
(hogehogeはGCPのプロジェクトID)

b.png

mako0715
GCPがだ〜いすき!
topgate
Google技術を中心に取り扱う技術者集団
https://www.topgate.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした