2021年10月22日金曜日

Python+Flask+AWSGI プログラムの作成

ここではPython + AWS Lambda + AWS API Gateway でREST APIの動作確認をするための簡単なPythonアプリを作成します。

利用環境

  • Windows 10 Pro
  • Python 3.9

必要なパッケージのインストール

アプリ開発端末に必要なPipパッケージをインストールします。
今回はFlaskとAWSGIを利用します。(他にも有用な組み合わせはあるようです)

アプリ用のフォルダを新規作成し、コマンドプロンプトでそこに移動します。
ここでpipパッケージをインストールしますが、パッケージのインストール先をカレントディレクトリにしておきます。
後々AWS Lambdaに登録する際、作成したPythonのファイルと一緒にpipパッケージをアップロードする必要があるからです。

パッケージのインストール先を指定するには「-t」を使います。

C:\Users\hoge>mkdir app01
C:\Users\hoge>cd app01
C:\Users\hoge\app01>python -m pip install AWSGI Flask -t ./

Pythonスクリプトの作成

AWS Lambdaで動作させるためにファイル名は「lambda_function.py」とし、関数「lambda_handler」を定義します。

import awsgi
from flask import (
    Flask,
    request,
    jsonify,
)

app = Flask(__name__)

@app.route('/')
def path_dev():
    name=request.args.get("name")
    return jsonify(message="Hello! " + name)

def lambda_handler(event, context):
    print("at lambda_handler")
    return awsgi.response(app, event, context, base64_content_types={"image/png"})

後はLambdaにアップロードして動作確認できればOKです。

参考

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

mbox方式からMaildir方式への変更

概要 CentOS7にPostfixとDovecotがをインストールしましたが、メールの保存形式が「mbox」方式のままです。 サーバのメールをクライアントPCで閲覧したい。(dovecot, imap) これを「Maildir」方式に変更します。 mbox と Ma...