Slide 1

Slide 1 text

AWS Step Functionsの新機能「Call third-party API」を試してみた KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • JAWS UG名古屋運営 • 三次元地図技術のスタートアップの エンジニア @k_miura_io koki.miura05

Slide 3

Slide 3 text

re:Invent 2023のアップデート • Amazon QはXのトレンド入りしたり、ニュースになって結構話題になった • BedrockがリリースしたことでAI系のサービスが充実した印象 • AIアプリケーションの開発をサポートするアップデートが多かった

Slide 4

Slide 4 text

Step Functionsの新機能 • Call third-party API • Bedrock API

Slide 5

Slide 5 text

Call third-party API それまでLambdaを使わないとできなかった外部API連携が Step Functionsだけで実現できる

Slide 6

Slide 6 text

【余談】実はいち早くキャッチアップしてた • AWS Community Builderの向けに re:Invent前 に紹介してもらった • AWSで何かしらアップデートあると不定期でオンラ インミーティングが開催される(もちろん英語で開催 時間は日本時間の深夜)

Slide 7

Slide 7 text

試してみた

Slide 8

Slide 8 text

今回のシナリオ News APIで取得した国内のヘッドラインニュースを Slackに投稿&レスポンスをS3に保管するワークフロー

Slide 9

Slide 9 text

DEMO

Slide 10

Slide 10 text

SLACKの投稿

Slide 11

Slide 11 text

S3バケットの中身

Slide 12

Slide 12 text

ワークフロー Lambda一切使わず実装!

Slide 13

Slide 13 text

POINT • APIのリクエストにはEventBridgeを使って APIの認証情報を登録する必要がある • よくあるヘッダーにAPIトークンをいれるタ イプのAPIであれば認証タイプをAPIキー に設定してヘッダーに登録する情報を入 れればOK

Slide 14

Slide 14 text

外部API呼び 出すときに使 われている IAMポリシー • Call third-party APIのステップを追加したステートマ シンのIAMロールを生成するとそのワークフローに 必要なAPIのエンドポイント、メソッドのアクセスを許 可するためのIAMポリシーが追加される • 何も知らずにあとから別のAPIを追加して実行する とアクセスエラーが出るので要注意! • ステートマシンの設定画面からIAMロールを作り直せ ばOK

Slide 15

Slide 15 text

ステートマシンのテンプレ もある • StripeのAPIを使った請求書 作成ワークフローをStep Functionsで完結するテンプ レートがある • 割と複雑なビジネスロジック がローコードで構築されて いるのでStep Functionsの ポテンシャルを感じる

Slide 16

Slide 16 text

まとめ • Step Functionsを使って外部APIと連携することができた • Lambdaを使わないサーバーレスなシステム開発の幅が広がる予感 • Step Functions側で作られているIAMロールでアクセス制限をかけているのでセ キュアな分、カスタムする際は要注意

Slide 17

Slide 17 text

超簡単なサンプル記事 https://bit.ly/3Rsoxxr

Slide 18

Slide 18 text

宣伝 https://bit.ly/3v9uibK

Slide 19

Slide 19 text

宣伝② https://bit.ly/3v3u2Lu

Slide 20

Slide 20 text

END