Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
雲勉@オンライン【勉強会】今日から始めるStep Functions【初心者向け】
Search
Y.Sumikura
July 08, 2022
Technology
94
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
雲勉@オンライン【勉強会】今日から始めるStep Functions【初心者向け】
Y.Sumikura
July 08, 2022
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
330
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
190
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
270
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
270
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
390
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
13
5.3k
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
sumikurayurie1125
3
690
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
200
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
86
Other Decks in Technology
See All in Technology
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
240
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
540
制約理論(ToC)入門 2026版
recruitengineers
PRO
6
2k
Pavlokで始める電撃駆動開発
sgrsn
0
180
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
620
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
11
8.3k
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
340
AI時代の強いチームの作り方
yuukiyo
25
16k
ホームラボ紹介
y_sera15
0
110
PLATEAU で バーチャル花火大会
tatsuya1970
0
100
モバイルアプリ開発概論2026
recruitengineers
PRO
3
490
20260801_スクフェス大阪
kgnkhkr
2
1.2k
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Curious Case for Waylosing
cassininazir
1
450
Six Lessons from altMBA
skipperchong
29
4.4k
Are puppies a ranking factor?
jonoalderson
1
3.8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Utilizing Notion as your number one productivity tool
mfonobong
4
520
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Transcript
2022/07/07 雲勉@オンライン 今日から始めるStep Functions【初心者向け】
0.講師自己紹介 2 ▪ 朝枝 知之 (ASAEDA Tomoyuki) ▪ CI事業部 MSP開発セクション所属
▪ 2019年8月 入社 ▪ 前職:オンプレ環境でのWebサービス開発 ▪ 好きなAWSのサービス ▪ AWS Step Functions 及び連携する各サービス
アジェンダ 3 0. 自己紹介 1. AWS Step Functionsとは (19:10〜19:25) 2.
Step Functionsを使ってみよう (19:25〜19:45)
4 1. AWS Step Functions とは
AWS Step Functions について… 5 1. まったく知らない 2. 個人的に少し触ったことがあるくらい 3.
仕事でたくさん使っている
6 1. まったく知らない 2. 個人的に少し触ったことがある 3. 仕事でたくさん使っている ↓ 主に1の方に向けてお話しします AWS
Step Functions について…
AWS Step Functions とは 7 さまざまな AWS のサービスを組み合わせて アプリケーションを構築するための サーバーレス
オーケストレーション サービス オーケストレーション ≒ ワークフロー
AWS Step Functions とは 8 • ワークフローはステートマシンとして構築する • ワークフローの作成にはビジュアルエディタ Workflow
Studio による直感的な操作をサポート • ステートマシンは JSON ベースの Amazon States Language (ASL) で定義する • 多くのAWS サービスとの連携が可能 Workflow Studio ASL
Workflow Studio 9
Workflow Studio 10 • Step Functions のローコードのビジュアル ワークフロー デザイナー •
ドラッグアンドドロップを使用して以下を行う ◦ ワークフローの作成と編集 ◦ 各状態の入力と出力のフィルタリングまたは変換の制御 ◦ エラー処理の設定 • ASLのコードを自動生成 追加するアクションやフローをD&D 各状態の入出力の制御
ASL - Amazon States Language 11 Amazon States Language (ASL)
によるステートマシンの定義 手動でASLコードを書いてもいいが、現在は Workflow Studio で構築するのがわかりやすく間 違いもないのでオススメ
フロー制御 12 処理の分岐 並列実行 配列の反復処理 入力を次の出力としてパス 指定の時間待機 成功で実行を終了 失敗で実行を終了 これらを組み合わせることによりコード内でフロー制
御を省くことができ、ビジネスロジックの作成に集中で きる
他のAWSサービスとの連携 13 https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/connect-supported-services.html ◦ 最適化された(ネイティブな)統合:17サービス ◦ AWS SDK統合:200サービス以上
Step Functionsの開始方法 14 ◦ 他のAWSサービスから • API Gateway, EventBridge, CodePipeline
… ◦ AWS APIを呼び出す • StartExecution, StartSyncExecution ◦ AWSコンソールから手動で実行 この後のライブでは「AWSコンソールから手動 で実行」を使います
ユースケース 15 REST APIへの大量のリクエストが必要だがレート制限にかからないようにしたい 解決策:1分間に30回リクエストするようにする 1つのLambdaで処理する場合 リクエスト数が増えてくるとLambdaの制限時間内(15 分)に収まらなくなる Step Functions
を利用する場合 “Coice” “Wait” といったフロータスクを駆使して制限時 間を気にすることなく処理可能
アジェンダ 16 0. 自己紹介 1. AWS Step Functionsとは (19:10〜19:25) 2.
Step Functionsを使ってみよう (19:25〜19:45)
17 2. Step Functionsを使ってみよう
作業環境 18 AWSマネジメントコンソール Step Functions > Workflow Studio
やること 19 「DBにある日本語テキストを英語に翻訳し、元のレコードの新しいカラムに保存しなおす」という処理をほぼノーコード で作成します
20 Live
まとめ 21 ◦ ローコード、場合によってはノーコードでワークフローを構築できる ◦ フロー制御やリトライ、エラーハンドリングなどの付加価値を生まない作業を切り離すことが可 能 ◦ Workflow Studio
による直感的なワークフローの構築が可能 他にも様々なユースケースに対応できるなど数多くの特徴がありますが、 まずは Workflow Studio を使って気軽に始めてみましょう
22 Thank you!
23 Appendix • AWS Step Functions デベロッパーガイド https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/welcome.html • Step
Functions チュートリアル https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/tutorials.html • Step Functions のエラー処理 https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/concepts-error-handling.html • サーバーレスアプリケーションでエラーに対処する https://aws.amazon.com/jp/getting-started/hands-on/handle-serverless-application-errors-step-functions-lambda/