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
540
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
1.1k
Amazon Rekognitionを使ったインターホンハック
miura55
0
74
Pythonでルンバをハックしてみた
miura55
0
150
あなたの知らないクラフトビールの世界
miura55
0
330
Storage Browser for Amazon S3を触ってみた + α
miura55
0
200
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
210
あのボタンでつながるSORACOM
miura55
0
130
Postman Flowsで作るAPI連携LINE Bot
miura55
0
380
Lambdaと共に歩んだAWS
miura55
3
830
Other Decks in Technology
See All in Technology
Practical Agentic AI in Software Engineering
uzyn
0
110
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
180
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
480
S3アクセス制御の設計ポイント
tommy0124
3
200
はじめてのOSS開発からみえたGo言語の強み
shibukazu
1
370
Agile PBL at New Grads Trainings
kawaguti
PRO
1
440
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
130
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
490
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
64k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
850
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
36
6.9k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
How GitHub (no longer) Works
holman
315
140k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Scaling GitHub
holman
463
140k
Code Reviewing Like a Champion
maltzj
525
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Practical Orchestrator
shlominoach
190
11k
Side Projects
sachag
455
43k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Into the Great Unknown - MozCon
thekraken
40
2k
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