1日1%成長する ~AWS Step Functions~
AWSの学習メモ
- AWSのblackbaltの動画を15分以上毎日見る
- 動画を簡単にまとめる
state抜粋 { "StartAt": "Parallel", "States": { "Parallel": { "Type": "Parallel", "End": true, ~ "Catch": [{ "ErrorEquals": ["States.ALL"], "Next": "Fallback", "ResultPath": "$.error" }] }, "Fallback": { "Type": "Pass", "End": true } } } => States.ALLはすべてのエラーに合致 => States.Timeoutはタイムアウト => States.TaskFailedはタスク実行失敗 => States.Permissionsは実行権限がない 実行 実行時のARNはユニークで、 実行ログからたどる事が可能。 また、ステーマシンの実行結果は画面で確認(Visual workflow) -> cloudwatch eventでルールに基づいて通知可能 -> 実行失敗で運用者に通知 課金形態は状態遷移1000会あたり$0.025となる。 リクエストサイズはmax 1MB。 AWS Step Functions localでローカルで開発できる。 dockerやjarパッケージで利用可能。 近しいサービス ・SQS(メッセージキューイング) サービス間のメッセージの管理に利用 使い分けは処理の追跡やサービス間のメッセージ受け渡しなど、 アプリ向け機能をマネージドで利用する場合はStep Functions ・SWF(simple workflow service) Deciderと呼ばれるプログラミングベースでワークフロー制御を行う java or rubyのAWS Flow Frameworkと併用するのが一般的 プログラミングベースなのでStepFunctionsと比較して複雑化する。 そのためまずはStepFunctionsで検討する ユースケース データプロセッシング:複数のデータストアを利用 eコマース:在庫追跡や注文処理 動画処理:サムネイルの生成、ビデオコーディング バッチ処理:ゲノム処理解析のような学術領域 ウェブアプリケーション:複雑なユーザ登録プロセス 管理者承認:管理者が承認した場合に限り処理を行う