Azure Logic Apps には、従量課金プランと Standard プランがあります。まずはお手軽な従量課金プランで、Azure Logic Apps の基本的な仕組みを Azure CLI を通して理解していこうと思います。
簡単なワークフローを用意
HTTP トリガーがあって、アクションに HTTP を用意し https://inet-ip.info/json をリクエストするだけの、簡単な動作確認のために作ったサンプルです。
logic-app-cli.json
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"HTTP": {
"inputs": {
"method": "GET",
"uri": "https://inet-ip.info/json"
},
"runAfter": {},
"type": "Http"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {
"method": "GET",
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {}
}
Azure Logic Apps を検証
bash
# 環境変数をセットします
prefix=mnrlgapp
region=japaneast
# リソースグループを作成します
az group create \
--name ${prefix}-rg \
--location $region
# 上で作成したワークフロー JSON を指定してロジックアプリを作成します
az logic workflow create \
--resource-group ${prefix}-rg \
--location $region \
--name ${prefix} \
--definition logic-app-cli.json
# 後続のコマンドで利用するためロジックアプリの ID を取得します
logicappid=$(az logic workflow show \
--resource-group ${prefix}-rg \
--name ${prefix} \
--query id \
--output tsv)
# HTTP トリガーの URL を取得します
logicappurl=$(az rest \
--method post \
--url "https://management.azure.com$logicappid/triggers/manual/listCallbackUrl?api-version=2016-06-01" \
--query value \
--output tsv)
# HTTP トリガーの URL にアクセスしてロジックアプリを実行します ( 応答コードは 202 )
curl $logicappurl
# ロジックアプリの実行履歴を確認します
az rest \
--method get \
--url "https://management.azure.com$logicappid/triggers/manual/histories?api-version=2016-06-01" \
--query "value[].{status:properties.status, startTime:properties.startTime, name:name}" \
--output table
# 以下のような実行履歴が表示されます
Status StartTime Name
--------- ---------------------------- ---------------------------------
Succeeded 2023-04-07T23:01:32.5760729Z 08585206983928956513481494297CU24
# 検証環境を削除します
az group delete \
--name ${prefix}-rg \
--yes
参考