5分でわかる!Google Cloud Functions の使い方

クラウド
クラウド
スポンサーリンク

Google Cloud Functions は、完全にサーバーレスでアプリケーションを実行できるサービスです。サーバーの構築や保守、負荷対策などの管理が一切不要になるので「サーバーレスコンピューティング」とも呼ばれています。わずらわしいサーバー管理から解放されるのは魅力的ですね。そこで今回は、Google Cloud Functions(Python 3.7)をブラウザだけで簡単に使う手順をまとめてみました。

Google Cloud Platform の利用登録

Google Cloud Functions を使うには、まず初めに Google Cloud Platform の利用登録が必要になります。(Google Cloud Functions は Google Cloud Platform が提供するサービスのひとつです)登録用のGoogleアカウントを1つ用意しましょう。

Google Cloud Platform トップページの「無料トライアル」をクリックし、Googleアカウントでログインします。

Google Cloud Platform の無料トライアルの登録画面が表示されますので、住んでいる国を選択し、各種利用規約を確認したら「同意して続行」をクリックします。

Google Cloud Platform の無料トライアルの登録画面

次の画面で「住所」「名前」「電話番号」「クレジットカード番号」(これらの項目は必須です)を入力し、「無料トライアルを開始」をクリックします。

項目の入力と「無料トライアルを開始」をクリック

以上で登録完了です。しばらくすると Google Cloud Platform のコンソール(管理画面)が表示されます。

Google Cloud Platform のコンソール

プロジェクトの作成

Google Cloud Functions 用に新しいプロジェクトを作成します。(不要になったらプロジェクトを削除するだけで片付けができるので便利です。)

「プロジェクトを選択」(もしくは「My First Project」)をクリックします。

「新しいプロジェクト」をクリックします。

適当なプロジェクト名を入力して、「作成」をクリックします。

1分ほどでプロジェクトが作成されますので、作成したプロジェクトを選択します。(自動で選択されると思います)

Cloud Functions の有効化

左上のハンバーガー「≡」メニューの「Cloud Functions」をクリックします。

「API を有効にする」をクリックします。

1分ほどで Cloud Functions が有効になります。

関数(Functions)の作成

Cloud Functions で実行するアプリケーションとなる関数(Functions)を作成します。

「関数を作成」をクリックします。

適当な関数の名前を入力して、お好みのランタイム(プログラム言語)を選択します。2018年9月現在では「Node.js 6」「Node.js 8(ベータ版)」「Python 3.7(ベータ版)」から選択できます。(次につづきます)

関数のコードは後で変更しますので、とりあえずデフォルトのままで「その他」をクリックします。(次につづきます)

リージョン「asia-northeast1」(東京リージョン)を選択して「作成」をクリックすれば、関数の作成が開始します。※リージョンは後から変更できないので注意です。

関数の実行

1〜2分で関数が作成されますので、作成した関数名をクリックします。

「トリガー」タブを選択して表示されている URL をクリックすれば関数を実行できます。

デフォルトの関数を実行すると「Hello World!」と表示されると思います。

関数の変更

せっかくなので、オリジナルの関数に変更してみます。

「編集」をクリックします。

「main.py」のエリアに関数のコードを入力し、実行する関数を変更して「保存」をクリックします。(Python ランタイムでは「Flask(フラスク)」といフレームワークでHTTPリクエストを処理します)
参考資料:The Python Runtime|Cloud Functions Documentation

1〜2分でデプロイが完了します。コードにエラーがある場合(インデントの不備など)はデプロイに失敗することがあります。

 
余談ですが「is_prime」は素数を判定する関数です。以下の記事を参考にさせて頂きました。
参考資料:素数判定いろいろ - シンプルな判定と、素数の分布

おわりに

関数の戻り値を「return False」としたり、math モジュールを使うと Internal Server Error が発生するようです。まだ Cloud Functions 本体も Python3.7 ランタイムもベータ版なので色々試してから使うのがよいでしょう。

コメント

タイトルとURLをコピーしました