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

AWS Step Functionsとは? • AWSのサービスを組み合わせて分散アプ リケーションを作ることができるサービス • GUIベースでAWSのサービス・API呼び出 すことができる • 並列処理やエラー処理も追加できる

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

試してみた

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

DEMO

Slide 9

Slide 9 text

SLACKの投稿

Slide 10

Slide 10 text

S3バケットの中身

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

END