IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Google Cloud Functions を使って express アプリを動かしてみる

はじめに

Google Cloud Functions を使って express アプリを動かしてみる。

 

使ってみる

サンプル用のリポジトリを作成する。

  • mkdir pokemon-api
  • cd pokemon-api

 

npm init コマンドを実行する。

  • npm init -y

 

json データをダウンロードする。

 

express をインストールする。

  • npm install express

 

サーバーを作成する。

  • touch index.js

f:id:matt-note:20190711134326p:plain

 

ローカルでサーバーを動かして、localhost:4000/pokemons/1 にアクセスしてみる。

f:id:matt-note:20190711134425p:plain

-> JSON データを返すサーバーを作成できた。

 

GCP を設定する

新しいプロジェクトを作成する。

ここでのプロジェクト名は pokemon-api とした。

f:id:matt-note:20190711135014g:plain

 

Cloud Functions API を有効化する。

f:id:matt-note:20190711135817g:plain

 

Cloud Functions 用に index.js を編集する。以下のコードをファイルの末尾に追加する。

f:id:matt-note:20190711140043p:plain

 

gcloud コマンドでデプロイする。

デプロイ前にデプロイ先のプロジェクトを確認しておくと、安心してデプロイできる。

  • gcloud config list

f:id:matt-note:20190711142804p:plain

-> project でデプロイ先のプロジェクトがわかる。

 

プロジェクト名を変更する場合は、以下のようにする。

  • gcloud config set project <your_project_id>

 

デプロイ先が確認できたら、以下のコマンドでデプロイできる。

  • gcloud functions deploy pokemon-api --runtime nodejs8 --trigger-http --entry-point app

f:id:matt-note:20190711142955p:plain

-> この URL から API にアクセスできる。

 

f:id:matt-note:20190711143024p:plain

-> API サーバーを Cloud Functions にデプロイできた。