[demo]StepFunctions日次データ処理デモ

AWS

StepFuncitonsに慣れるため、デモでリソースを立ち上げました。

0. 概要

  • 毎日00:00にバッチ処理を開始
  • データベースから患者データを抽出(今回はデータベースからの抽出ではなく仮データ生成)
  • 患者データを加工(今回は簡単に小文字→大文字変換のみ)
  • 加工データをS3へアップロード
  • 処理が完了したら通知メールを送信

1. 構成

StepFunctionで以下を処理

工程AWSリソース
ジョブのスケジュール実行EventBridge
データベースからデータ抽出Lambda
データ加工Lambda
S3へのアップロードS3 / Lambda
メール通知SNS


フォルダ構成

(venv) amba:demo-test-stepfunctions akira_mba$ tree -L 2
.
├── eventbridge.tf
├── iam.tf
├── lambda
│   ├── extract_data.py
│   ├── extract_data.zip
│   ├── process_data.py
│   ├── process_data.zip
│   ├── send_notification.py
│   ├── send_notification.zip
│   ├── upload_to_s3.py
│   └── upload_to_s3.zip
├── lambda.tf
├── main.tf
├── output.json
├── s3.tf
├── sns.tf
├── stepfunctions.tf
├── terraform.tfstate
├── terraform.tfstate.backup
└── venv
    ├── bin
    ├── include
    ├── lib
    └── pyvenv.cfg

6 directories, 20 files
(venv) amba:demo-test-stepfunctions akira_mba$ 


Terraformのコードはこちら