😀

Azure Logic Apps の従量課金プランを Azure CLI で試してみた

に公開

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

参考

https://learn.microsoft.com/ja-jp/azure/logic-apps/quickstart-logic-apps-azure-cli

https://learn.microsoft.com/ja-jp/azure/logic-apps/sample-logic-apps-cli-script

https://learn.microsoft.com/ja-jp/cli/azure/logic?view=azure-cli-latest

https://learn.microsoft.com/ja-jp/rest/api/logic/

Discussion