■ テキストファイルへの変換
cd /c/Users/ユーザー名/Documents/dockerTest/mvcappTXT
find ./ -name "*.py" -exec sh -c 'cp "$0" "${0%.py}.py.txt"' {} \;
■ リンクページ作成
cd /c/Users/ユーザー名/Documents/dockerTest/mvcappTXT
find ./ -name "*.txt" ! -path "./.aws-sam/*" | while read path; do
url_path="${path#./}"
echo "$url_path
"
done > index.html
■ dockeプロジェクト作成
1)管理者権限でPowerShellを起動
2)プロジェクトのディレクトリへ移動
--------------------------------------------------
cd C:\Users\ユーザー名\Documents\dockerTest\lambdatest\mvcapp
--------------------------------------------------
3)ローカルでAPIサーバを立ち上げ
sam local start-api
4)ブラウザからアクセス
http://localhost:3000/hello
■ dockeプロジェクト削除
--------------------------------------------------
Remove-Item -Recurse -Force .\mvcapp
--------------------------------------------------
■ AWSプロジェクトのローカル移行
1)zipでダウンロード
2)プロジェクトディレクトリ直下に「template.yaml」を作成
例)
プロジェクトルートディレクトリ\template.yaml
(内容)
--------------------------------------------------
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Lambda MVC App Template
Globals:
Function:
Timeout: 10
Runtime: python3.13 ★pythonバージョン
Resources:
MvcLambdaFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: mvc-lambda-function
Handler: lambda_function.lambda_handler
CodeUri: ./
# 本当は「mvcapp\env.json」から取得したいが上手くいかないため仮設定
Environment:
Variables:
DB_HOST: "DBのURL"
DB_PORT: "DBのポート番号"
DB_NAME: "DB名"
DB_USER: "DBユーザー"
DB_PASSWORD: "DBぱうわーど"
Events:
ApiPost:
Type: Api
Properties:
Path: /api
Method: post
--------------------------------------------------
3)ビルド
--------------------------------------------------
sam build
--------------------------------------------------
■ dockeでモジュール利用(例)RDS接続
1)プロジェクトのrequirements.txtにpymysqlを追加
--------------------------------------------------
cd プロジェクトルートディレクトリ/requirements.txt
requests
pymysql ★追加
--------------------------------------------------
2)プロジェクトディレクトリでビルド実施
--------------------------------------------------
cd プロジェクトルートディレクトリ\
sam build
--------------------------------------------------