- Published on
python cloud function/lambdaで複数のアクセスポイントを開発環境で作る方法
python cloud function/lambdaで複数のアクセスポイントを開発環境で作る方法を紹介します。 今回は、pythonのflaskを前提として紹介します。
google cloud functionでは、下記のようにしてエンドポインのサーバを立ち上げることができますが、 targetであるfunctionを一つしか設定できません。
そのため、複数のendpointを捌くことができません。
functions-framework --target hello --source main.py
そこで、複数のendpointを捌くことができるようにfunction_wrapperを利用します。 まずは、インストールします。
pip install functions_wrapper
次に、下記のようにapp_wrapを作ってあげます。
# main.py from flask import Flask from functions_wrapper import entrypoint app = Flask(__name__) @app.route("/") def home(): return "Hello World!" @app.route("/test") def test(): return "Hello Test!" app_wrap = lambda request: entrypoint(app, request)
最後に、起動する際は、下記のように複数のrequestを振り分けてくれるapp_wrapを対象に サーバを立ち上げれば完了です。
functions_framework --target app_wrap
参考: Run multiple endpoints on Google Cloud Functions and Amazon Lambda