こんにちは!データサイエンティストのウマたん(@statistics1012)です!
Google CloudのCloud Functionsという機能をご存知でしょうか?シンプルなPythonコードをCloud Functionsにデプロイして簡易的なAPIを作ることが可能なんです!
この記事ではそんなCloud Functionsの簡単な使い方を見ていきたいと思います!
ちなみにUdemyにて応用として「Google検索の順位を定期的にスプレッドシートに書き込んでいく処理をPythonで書いてCloud Functionsにデプロイしてみる」コースを出しているので興味がある人はチェックしてみてください!
PythonでGoogle検索順位を計測するプログラムを作ってCloudFunctionsにデプロイし定期実行しよう!
【時間】 | 3時間 |
---|---|
【レベル】 | 初級 |
Google Cloud PlatformというGoogleが提供する様々なプロダクト群の一部の機能を使ってGoogle検索の順位を定期的にスプレッドシートに書き込んでいくプログラムを作っていこう!
目次
Cloud Functionsとは?
それではCloud Functionsに関して簡単に確認していきましょう!
先ほども記事の冒頭でお伝えしましたが、改めてCloud Functionsとは「Googleが提供しているGoogle Cloudの機能の一部」です。
ちなみにGoogle Cloudは元々Google Cloud Platform略してGCPという名称で馴染が深かったのですが2022年に正式名称がGoogle Cloudに変更になりました。
とはいえ未だにGCPと呼ぶことも多いので、Google CloudとGCPは同じものを指しているんだなーと覚えておいてください。
そんなGoogle Cloudの数ある機能の中でも非常に簡単にコードをデプロイしてある程度までは無料で使えるのがCloud Functionsなのです。
実際に僕自身も様々な開発サービスでCloud Functionsを使っています。
APIを作ってサービス側にリクエストが投げられた時にCloud Functionsにデプロイしているコードが動いてレスポンスを返すような設計にしておいたり、Cloud Functionsにデプロイしたコードを定期実行するようにしておいたり、かなり多く利用しています。
しかしほぼ無料で使うことができているんです!スゴイ!!
Google Cloudに登録する方法
ということで実際にCloud Functionsを使っていきたいところなのですが、まずはGoogle Cloudへの登録が必要になります。
以下の手順に沿ってGoogle Cloudに登録をおこなっていきましょう!
現在のUIと若干違う可能性がありますが、基本的に順番に進んでいきクレジットカードを登録すれば利用開始できます。
STEP1:Google Cloudのページから、無料トライアルを押しましょう。
まずはGoogle Cloudのページから無料トライアルを押して登録を進めていきます。
そうすると、Google Cloudの無料アカウントの作成を求められますのでそのまま進みましょう!
ご自身の国を選びましょう!
STEP2:新しいお支払いプロファイルを作成するを押して必要な情報を入力
続いて必要な情報を入力していきます。
STEP3:クレジットカードの情報の登録
続いてクレジットカードの登録を行います。
注意書きに書いてあるように、ここでのクレジットカード登録はロボットでないことを確認するためのものであり、自動的にお金が請求されることはないので安心してください。
PythonのコードをCloud Functionsにデプロイする方法
これで準備が整ったのでCloud Functionsにデプロイしていきましょう!
Step1:Cloud Functionsを使えるようにする
実はGoogle Cloudに登録してもまだ最初はCloud Functionsが使える状態ではありません。
Cloud Functionsを使えるようにしていきましょう!
それでは早速GCPの上部検索画面からCloud Functionsを探してクリックしましょう!
Functionsの画面に遷移したらファンクションを作成をクリックして関数の作成に移りましょう!
この時APIの有効化を聞かれることがあるのでAPIを有効化してください。
続いて、構成を設定していきます。
関数名は好きな関数名で設定しましょう。リージョンは今回のケースではどこにしても問題ないのですが、東京を選ぶのが一般的です。
認証は未認証の呼び出しを許可にしておいてください。未認証の呼び出しを許可すると誰でもそのAPIを使える状態になります。
認証された特定のユーザーしかAPIを使用できないようにしたい場合は認証が必要にチェックを付けますが、今回は簡単のために未認証にしておきます。
ランタイム、ビルド、接続、セキュリティの設定はそのままで問題ございません。
今回のケースでは大丈夫ですが、処理によってはメモリ・CPUが足りないとエラーが起きる可能性があります。その場合はメモリ・CPUを上げるようにしてください。
Step2:コードの設定とデプロイ
続いてコードを記載する画面に移ります。
ランタイムをPython3.10にしておきましょう(最新のバージョンでも問題ないのですが、動作確認を済ませているPython3.10が望ましいです)。
そしてこのままコードの中身は変えずにデプロイボタンを押してください。
するとデプロイが始まります。
しばらく時間がたってデプロイが完了すると以下のように画面に遷移します。
赤枠で囲っているURLが外部から呼び出せるAPIになります。
このURLをブラウザに入れてみましょう!ブラウザにHello World!と表示されたと思います。
これでベースとなるCloud Functionsの使い方は完璧です!
独自のプログラムをデプロイしたい場合は、先ほどのmain.pyを修正すれば問題ありません。
またその際にrequirements.txtには利用するライブラリを記載しておきましょう!requirements.txtにライブラリを記載しないとエラーになってしまいます。
冒頭でもお伝えしましたが、応用として「Google検索の順位を定期的にスプレッドシートに書き込んでいく処理をPythonで書いてCloud Functionsにデプロイしてみる」コースを出しているので興味がある人はチェックしてみてください!
PythonでGoogle検索順位を計測するプログラムを作ってCloudFunctionsにデプロイし定期実行しよう!
【時間】 | 3時間 |
---|---|
【レベル】 | 初級 |
Google Cloud PlatformというGoogleが提供する様々なプロダクト群の一部の機能を使ってGoogle検索の順位を定期的にスプレッドシートに書き込んでいくプログラムを作っていこう!
またさらに複雑な関数としてTrackyというSEOサービスで使っているコードをCloud Functionsにデプロイしていく方法はスタアカの「Google Cloud FunctionsでAPIを作ってみよう!」コースで学べますのでこちらも興味のある方はチェックしてみてください!
Cloud Functions×Python まとめ
ここまでで、Cloud Functionsの簡単な使い方について解説してきました!
Cloud Functionsを使えば色んなプログラムをデプロイして他のサービスから呼び出すAPIにしたり定期実行したりすることが可能です。
無料で使えて非常に便利!ぜひ使ってみてください!
ちなみにpythonの勉強法については以下の記事で詳しくまとめてありますので、是非見てください!