Published on

python cloud function/lambdaで複数のアクセスポイントを開発環境で作る方法

Authors
  • avatar
    Name
    ssu
    Twitter

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