最近都在玩 Azure Logic App ,玩的時候我在想可不可以透過 Azure Logic App 開發一個簡單的 API ,這時候我要有收資料,跟回傳資料的能力,後來玩一下竟然可以也..
這裡面 SAMPLE ,STEP 1. 我自己 POST 到 Azure Logic App 一段 JSON : {"IP":"163.13.202.199"} , STEP2 . 在 Azure Logic App 收到後我會把 IP Parse 出來,STEP 3. 將 IP 透過 GET 傳到網址 http://ip.taobao.com/outGetIpInfo?ip=[IP]&accessKey=alibaba-inc ,之後回拿到一個 JSON 如下 :
STEP4.我們把 data.city 的值拿出來後 Response 出去,我們就開始吧..
1. POST 到 Azure Logic Apps 一段 JSON : {"IP":"163.13.202.199"} ,這時候在 Azure Logic Apps 這邊我們要加入一個 Triggers : HTTP Request
這時候裡面輸入的 是 JSON Schema ,不知道這的朋友 可以參考我這篇文章 使用 NJsonSchema.CodeGeneration.CSharp 製作 JSON Schema + 驗證 JSON ,簡單的說我就是規範 輸入進來的東西一定要 IP 這屬性,並且是 string
2. 將第一步 拿到的 IP ,選擇 HTTP 的 Action , URI 的部分 輸入 http://ip.taobao.com/outGetIpInfo?ip=@{triggerBody()?['IP']}&accessKey=alibaba-inc
其中的意思就是帶入 第一步驟 triggerBody 中的 IP 這個的值
3. 取得 Step2 Response 的值,並且將 data.city 的值拿出來
BODY 的部分為 @{body('QUERYLOCATION')?['data']?['city']} , 這裡面的 QUERYLOCATION 是 STEP2 的 Action 名稱。
存檔後第一個步驟你回拿到一個網址,之後你可以對那網址 POST 資料
這樣就完成了,最後附上 全部的 Azure Logic Apps 程式碼
整體用下來,簡單可用性非常高,如果學會了真的可以打造出 serverless 的 service
reference :
https://docs.microsoft.com/zh-tw/azure/connectors/connectors-native-reqres