Google Cloud Functions を試してみた

Google Cloud Platform ( GCP ) のサーバレスコンピューティングサービス『 Google Cloud Functions 』を試してみました。
『 AWS Lambda 』『 Azue Functions 』は使ったことがあり、GCP はどうなのかと思ったことが動機です。

サンプルプログラムとして用意されている関数を作成して動かしただけですが、内容をブログとして書いてみます。

1. プロジェクトの作成

まずは、プロジェクトを作成します。

f:id:youichi-watanabe:20190114191530p:plain
プロジェクトを作成

プロジェクト名を入力します。

f:id:youichi-watanabe:20190114191900p:plain
新しいプロジェクト

ここではプロジェクト名を『 prj-test 』としておきます。

f:id:youichi-watanabe:20190114191953p:plain
プロジェクト名を入力して作成

2. Google Cloud Functions

次に、 Google Cloud Functions の関数を作成していきます。
Cloud Functions 』を選択します。

f:id:youichi-watanabe:20190114192156p:plain
Googel Cloud Functions

『APIを有効にする』ボタンを押下します。

f:id:youichi-watanabe:20190114192228p:plain
APIを有効にする

『関数を作成』ボタンを押下します。

f:id:youichi-watanabe:20190114192300p:plain
関数を作成

関数の設定画面に遷移します。
『その他』をクリックすると詳細オプション項目が表示されます。

f:id:youichi-watanabe:20190114192325p:plain
関数の設定
f:id:youichi-watanabe:20190114192423p:plain
詳細オプション

『割り当てられるメモリ』『トリガー』『ランタイム』『リージョン』で設定出来る値はそれぞれ次の通りです。

f:id:youichi-watanabe:20190114192458p:plain
割り当てられるメモリ
f:id:youichi-watanabe:20190114192530p:plain
トリガー
f:id:youichi-watanabe:20190114192632p:plain
ランタイム
f:id:youichi-watanabe:20190114192707p:plain
リージョン

ここでは、『割り当てられるメモリ』『リージョン』を次の通り設定し、関数を作成します。

f:id:youichi-watanabe:20190114192729p:plain
関数の設定

関数リストの画面に遷移します。
作成完了した関数にはチェックマークが付きます。関数名をクリックします。

f:id:youichi-watanabe:20190114192810p:plain
関数リスト

3. Cloud Console でテスト

『関数の詳細』画面に遷移します。

f:id:youichi-watanabe:20190114192841p:plain
全般
f:id:youichi-watanabe:20190114192857p:plain
トリガー
f:id:youichi-watanabe:20190114192911p:plain
ソース
f:id:youichi-watanabe:20190114192923p:plain
テスト

テストタブを選択して、 Cloud Console 上でテストすることが出来ます。
まずは、そのまま『関数をテスト』ボタンを押下して、空の JSON を POST してみます。
すると、アウトプットとして『 Hello World! 』が返って来ます。
このケースでは正しく動作しています。

f:id:youichi-watanabe:20190114193100p:plain
Cloud Console でテスト

例として次のような JSON を POST してみると、『 Hello Cloud Functions! 』が返って来ます。
このケースでも正しく動作しています。

f:id:youichi-watanabe:20190114193501p:plain
Cloud Console でテスト(req.body.message)

4. Postman でテスト

Postman でもテストしてみます。
『 GET 』『 POST 』両方のケースについて正しく動作しています。

f:id:youichi-watanabe:20190114193627p:plain
Postman でテスト(GET)
f:id:youichi-watanabe:20190114193844p:plain
Postman でテスト(POST)

5. 参考書籍

プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで

プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで

Google Cloud Platform エンタープライズ設計ガイド

Google Cloud Platform エンタープライズ設計ガイド

6. 参考リンク

cloud.google.com

cloud.google.com

www.getpostman.com