一些在Logic App中使用Function App的筆記
- 在Logic App中使用Function App
n 如何將參數傳給Function App
u 假如Logic App的HTTP Trigger會產出一個字串Outpout(如:Condition_1),我想要組成如下的Json文件,我們想把這個Json當成傳入給下一個步驟的Function App(RuleEngine)的參數。
{"condition":"Condition_1"}
設定的方式為:
在Function RuleEngin的Request Body設定中,手動填上
{
"condition":"<PLACE HOLDER>"
}
由標點到<PLACE HOLDER>處,手動加上actionBody('<上一步驟的名稱>')
n 此Function App有一個Blob Input;會根據所傳入的condition值,讀取位於指定的Storage下的ruleengine/{condition}.json檔案
l 在Function App定義Run.csx如下
public class BlobInfo
{
public string condition { get; set; }
}
public async static Task<HttpResponseMessage>
Run(HttpRequestMessage req,
BlobInfo info,
string blobContents,
TraceWriter log)
{
//…省略…
}
l 在Function.json設定binding如下
{
"bindings": [
{
"name": "info",
"type": "httpTrigger",
"direction": "in"
},
{
"name": "blobContents",
"type": "blob",
"direction": "in",
"path": "ruleengine/{condition}.json",
"connection": "<YOUR CONNECTION>"
},
{
"name": "res",
"type": "http",
"direction": "out"
}
]
}
n 針對某一個Step的Output做Iteration
u 加入ForEach Action,假設Json文件內容為
{
handlers:[
{
"Name":"item1"
},
{
"Name":"item2"
}
]
}
則指定針對actionOutputs(<步驟名稱>)['body']['handlers']做Repeat
n 對每一個Array Element的Name屬性做Switch-Case
沒有留言:
張貼留言