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
AWS Step Functionsの新機能「Call third-party API」を試してみた
Search
KMiura
December 18, 2023
Technology
0
470
AWS Step Functionsの新機能「Call third-party API」を試してみた
2023.12.18 「JAWS-UG 名古屋 2023年 AWS re:Inventの復習」
https://jawsug-nagoya.doorkeeper.jp/events/165969
KMiura
December 18, 2023
Tweet
Share
More Decks by KMiura
See All by KMiura
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
970
Amazon Rekognitionを使ったインターホンハック
miura55
0
40
Pythonでルンバをハックしてみた
miura55
0
89
あなたの知らないクラフトビールの世界
miura55
0
270
Storage Browser for Amazon S3を触ってみた + α
miura55
0
150
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
160
あのボタンでつながるSORACOM
miura55
0
96
Postman Flowsで作るAPI連携LINE Bot
miura55
0
330
Lambdaと共に歩んだAWS
miura55
3
700
Other Decks in Technology
See All in Technology
心に火を灯すヒントは自分の中にある/The clue to lighting a fire in your heart is within you.
bitkey
1
130
ClineにNext.jsのプロジェクト改善をお願いしてみた / 20250321_reacttokyo_LT
optim
1
980
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
150
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
920
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.5k
【ServiceNow SNUG Meetup LT deck】ServiceNow「検索性の進化」ZingからNow Assistまで
niwato
1
270
みんなで育てるNewsPicksのSLO
troter
4
1k
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
570
各所に分散しがちなRubyのバージョンを上手に管理する / use-dot-ruby-version
toshimaru
3
300
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
130
View Transition API
shirakaba
1
680
AWSにおけるサイバー攻撃の傾向と具体的な対策
yuobayashi
8
780
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Thoughts on Productivity
jonyablonski
69
4.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Documentation Writing (for coders)
carmenintech
69
4.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
600
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
101
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
AWS Step Functionsの新機能「Call third-party API」を試してみた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • JAWS UG名古屋運営 • 三次元地図技術のスタートアップの エンジニア
@k_miura_io koki.miura05
re:Invent 2023のアップデート • Amazon QはXのトレンド入りしたり、ニュースになって結構話題になった • BedrockがリリースしたことでAI系のサービスが充実した印象 • AIアプリケーションの開発をサポートするアップデートが多かった
Step Functionsの新機能 • Call third-party API • Bedrock API
Call third-party API それまでLambdaを使わないとできなかった外部API連携が Step Functionsだけで実現できる
【余談】実はいち早くキャッチアップしてた • AWS Community Builderの向けに re:Invent前 に紹介してもらった • AWSで何かしらアップデートあると不定期でオンラ インミーティングが開催される(もちろん英語で開催
時間は日本時間の深夜)
試してみた
今回のシナリオ News APIで取得した国内のヘッドラインニュースを Slackに投稿&レスポンスをS3に保管するワークフロー
DEMO
SLACKの投稿
S3バケットの中身
ワークフロー Lambda一切使わず実装!
POINT • APIのリクエストにはEventBridgeを使って APIの認証情報を登録する必要がある • よくあるヘッダーにAPIトークンをいれるタ イプのAPIであれば認証タイプをAPIキー に設定してヘッダーに登録する情報を入 れればOK
外部API呼び 出すときに使 われている IAMポリシー • Call third-party APIのステップを追加したステートマ シンのIAMロールを生成するとそのワークフローに 必要なAPIのエンドポイント、メソッドのアクセスを許
可するためのIAMポリシーが追加される • 何も知らずにあとから別のAPIを追加して実行する とアクセスエラーが出るので要注意! • ステートマシンの設定画面からIAMロールを作り直せ ばOK
ステートマシンのテンプレ もある • StripeのAPIを使った請求書 作成ワークフローをStep Functionsで完結するテンプ レートがある • 割と複雑なビジネスロジック がローコードで構築されて
いるのでStep Functionsの ポテンシャルを感じる
まとめ • Step Functionsを使って外部APIと連携することができた • Lambdaを使わないサーバーレスなシステム開発の幅が広がる予感 • Step Functions側で作られているIAMロールでアクセス制限をかけているのでセ キュアな分、カスタムする際は要注意
超簡単なサンプル記事 https://bit.ly/3Rsoxxr
宣伝 https://bit.ly/3v9uibK
宣伝② https://bit.ly/3v3u2Lu
END