AzureLogicAppsでAPI wrapper
5512 ワード
GYAOのtsです。
我々のチームは、オールパブリッククラウドで、Microservice Architectureを採用した次期バックエンドを設計中です。
経緯
EmotionAPIやその他高機能なAPIはすでにAzureで提供されているが、それらのAPIを組み合わせたり、
非同期処理を噛ませたり、というのをシームレスに実現したいなと思い、色々探していたところLogicAppsを見つけた。Apache Camel好きなので、同じようなアプローチのこういったソリューションはとてもしっくり来る。Apache Camel + route デザイナ + α と言った感じでしょうか。取り合えずEmotion API wrapperを作ってみる
EmotionAPIに関してはこちらでも試してみましたが、面白いですね。
ハンズオン
作成
今回の最終形態
API wrapperなので、上記の通り。
下記のような、いたってシンプルな構成。
コンポーネントの追加は「ステップの追加」からポンポン追加できます。
name | 概要 |
---|---|
要求 | Http(s)のlisten |
HTTP | Http(s)のinvoke |
応答 | Http(s)のresponse |
各項目についてみていきます。
要求
urlをjsonの必須項目として設定。
{
"properties": {
"url": {
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
}
HTTP
name | 概要 |
---|---|
方法 | EmotionAPIへそのままPOSTする形にします。 |
URI | EmotionAPIのURIです。 |
ヘッダー | EmotionAPIのお決まりのヘッダーを追加します。(鍵等) |
本文 | 要求本文をそのままbodyとしてinvokeします。 |
urlをjsonの必須項目として設定。
{
"Ocp-Apim-Subscription-Key": "keyです",
"content-type": "application/json"
}
応答
状態コード、ヘッダー、本文すべて、http invokeの結果を引き継ぐ形に設定する。
実行
走らせてみる
test
成功ー。
Author And Source
この問題について(AzureLogicAppsでAPI wrapper), 我々は、より多くの情報をここで見つけました https://qiita.com/tstakano-yj/items/967edafec3a2be83e67f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .