Slide 1

Slide 1 text

Postman Flowsで お⼿軽サーバレスサービス連携 PingCAP Developer Advocate 関⼝匡稔 @bohnen

Slide 2

Slide 2 text

関⼝匡稔 @bohnen PingCAP株式会社 Developer Advocate (⾒習い) Solution Architect (本業)

Slide 3

Slide 3 text

会社紹介 Our Mission エンジニアのみなさまへの価値提供によって ビジネスのスケール、スピード、アジリティに貢 献します NewSQL + HTAP  MySQL互換の分散型SQLデータベース グローバル 以上で採⽤ 3,000社

Slide 4

Slide 4 text

Postman Flows 複数のサービスを連携させ、 処理を実⾏させるノーコード ツール ● 簡単なVisual Scripting ● ループもできる処理構⽂ ● XML/JSONを⾃動パース ● Webhookとして公開できる

Slide 5

Slide 5 text

Postman Flowsのユースケース 本命の使い⽅ ● ビジネスプロセス実⾏ ● サービス連携 シェルのような感覚 ● 汎⽤Decorator ● バックエンドのサービ ス連携のプロトタイプ ● 簡単な動作確認 ● etc. 今回はコレ。便利です。 APIを介してLLMと接続 GPTsライクな処理も⾏けそ う サービス連携 プロトタイプ Visual LangChain

Slide 6

Slide 6 text

TiDB ServerlessのData API TiDB ① テーブル定義 ② API⽣成 ③ Postman連携 ChatGPTにお任せ 単純CRUDなら全⾃動 URLをimportするだけ

Slide 7

Slide 7 text

実装タイム!

Slide 8

Slide 8 text

サービス連携の例 〜 Momento Exchange Rate Publisher Order Executor (本来は)LPの価格に利益を乗せて顧客に提供する 価格はtopicsを使ってリアルタイ ムに同報通信 注文はRESTエンドポイントを呼び 出し 注文が実勢価格よりも一定以上 乖離しているとnothing(失効) 実際はLPに投げる LP(Liquidity Provider) 業者向けに価格を提供して、 その値段で注文を受け付け る業者 金融機関や取引所など ここの部分を追加 https://speakerdeck.com/bohnen/postman

Slide 9

Slide 9 text

ギャップを埋める TiDB Postman Momento REST API (API Key) ● Basic/Digest認証 ● パラメーター設定は SQL に合わせて Postman Flows ● 認証の設定 ● Webhookの生成 ● データの詰め替え Pub/Sub + Webhook ● 認証なし ● 来たメッセージをPOSTの Bodyに突っ込む ● なぜかapplication/jsonで はなくtextで入ってくる

Slide 10

Slide 10 text

Postman Flows での開発 ① API変数設定 ② Flows作成 ③ テスト 認証トークン設定 ポチポチ ログを⾒ながら Postman

Slide 11

Slide 11 text

認証 Env Varとし て設定済み データ詰め替え FQLの関数を利 用。AI支援もある Webhook Flowsはwebhookと して公開できる

Slide 12

Slide 12 text

例その2 〜 新刊情報をDBに保存 IT系出版社の直近一ヶ月の新刊情 報を取得 タイトル、著者、出版社、その 他まるっとJSON保存 OpenSearch APIを利用 レスポンスはRSS2.0 (XML) 属性が任意で扱いが 面倒

Slide 13

Slide 13 text

テーブル定義とPOST API TiDB URLは https://ndlsearch.ndl.go.jp/books/R100000002-I033282127 のような形で書誌IDが含まれている

Slide 14

Slide 14 text

国会図書館サーチ APIの呼び出し 取得件数分 ループ POST Bodyの 作成 TiDB APIコール

Slide 15

Slide 15 text

まとめ 〜 Flowsのメリット ● Postmanに統合されているのでAPIのデバッグが楽 ○ API機能の⽅でAPIの呼び出しエラーを修正できる ● データの取り回しが⾮常に楽 ○ XML/JSON関係無いのは良い ● 実際のデータに基づいてselect書けるのは良い ○ データの結果が出⼒ノードで確認できる ● FQLが強⼒ ○ jqっぽい

Slide 16

Slide 16 text

THANK YOU. https://pingcap.co.jp/tidb-cloud/ 是非試してみてください!