AWS LambdaでPython+Flask環境を作成する

AWS SAM + Lambda + Python + Flask の環境を作成する方法を調べたのでメモにします。 環境 $ docker --version Docker version 20.10.5, build 55c4c88 $ aws --version aws-cli/2.1.34 Python/3.8.8 Linux/5.4.0-52-generic exe/x86_64.ubuntu.20 prompt/off $ sam --version SAM CLI, version 1.21.1 SAMでプロジェクトの作成 sam initでプロジェクトを作成します。 Zip形式、Image形式のでどちらでも大丈夫です。 構成: . ├── README.md ├── hello_world │ ├── app.py │ ├── requirements.txt │ ├── static │ │ └── js │ │ └── script.js │ └── templates │ └── index.html ├── samconfig.toml └── template. [Read More]
AWS  Lambda  SAM  Python  Flask 

SAMでLambda関数にBasic認証をかける

AWS SAMで作成したLambda関数にBasic認証をかける方法についてのメモです。 マネジメントコンソールでの操作についての記事はいくつかありましたが、 SAM CLIのみで設定する方法が見つからなかったので試してみました。 環境 $ docker --version Docker version 20.10.5, build 55c4c88 $ aws --version aws-cli/2.1.34 Python/3.8.8 Linux/5.4.0-52-generic exe/x86_64.ubuntu.20 prompt/off $ sam --version SAM CLI, version 1.21.1 Lambda関数はzip形式で作成しました。 構成 SAMのHelloWorldのテンプレートで作成したディレクトリをベースに 下記の構成にしました。 $ tree . . ├── README.md ├── basic_auth_function │ ├── app.py │ └── requirements.txt ├── hello_world_function │ ├── app.py │ └── requirements.txt ├── samconfig.toml └── template.yaml Basic認証処理を行うLambda関数 Basic認証を行うLambda関数です。 ユーザー名、パスワードはテキトーです。 basic_auth_function/app.py: import json import base64 def lambda_handler(event, context): user_id = 'adminxx' password = 'passwordxx' auth_str = 'Basic ' + base64. [Read More]
AWS  Lambda  SAM  Python 

SAMでLambdaのアプリケーションを作成する

AWS SAM CLI でLambdaアプリケーションを作成したのでメモを残します。 環境 SAMは前提として、Docker、AWS CLIが必要です。 $ docker --version Docker version 20.10.5, build 55c4c88 $ aws --version aws-cli/2.1.34 Python/3.8.8 Linux/5.4.0-52-generic exe/x86_64.ubuntu.20 prompt/off $ sam --version SAM CLI, version 1.21.1 アプリケーションの作成 sam initでアプリケーションを作成します。 imageを選択する場合は、デプロイ時にECRにリポジトリを作成しておく必要があります。 $ sam init Which template source would you like to use? 1 - AWS Quick Start Templates 2 - Custom Template Location Choice: 1 What package type would you like to use? 1 - Zip (artifact is a zip uploaded to S3) 2 - Image (artifact is an image uploaded to an ECR image repository) Package type: 2 Which base image would you like to use? [Read More]
AWS  Lambda  SAM  Python