Logic Apps とか Power Automate で使う関数

に公開

式関数のリファレンス ガイド - Azure Logic Apps | Microsoft Learn

特定日まで:

less(ticks(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 
     ticks(startOfDay(convertFromUtc('2022-12-31T00:00:00.0000000Z', 'Tokyo Standard Time'))))

日本時間 9:00 である:

and(equals(int(addSeconds(convertFromUtc(utcNow(), 'Tokyo Standard Time'), 5,'HH')), 9), 
    equals(int(addSeconds(convertFromUtc(utcNow(), 'Tokyo Standard Time'), 5,'mm')), 00))

日本時間 13:00 である:

and(equals(int(addSeconds(convertFromUtc(utcNow(), 'Tokyo Standard Time'), 5,'HH')), 13), 
    equals(int(addSeconds(convertFromUtc(utcNow(), 'Tokyo Standard Time'), 5,'mm')), 00))

平日 (月から金) である:

or(equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 1), 
   equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 2),
   equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 3),
   equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 4),
   equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 5))

週末 (土・日) である:

or(equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 6), 
   equals(dayOfWeek(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 0))

出力とか

"or": [
            {
                "equals": [
                    "@outputs('HTTP_2')['statusCode']",
                    404
                ]
            },
            {
                "equals": [
                    "@result('スコープ')[0]['status']",
                    "Succeeded"
                ]
           }
        ]

日付

convertFromUtc(utcNow(), 'Tokyo Standard Time', 'yyyyMMddHHmmss')

null だったらダミー値で埋めるとか

if(empty(outputs('作成')), 'dummy', outputs('作成'))

識別子

workflow().run.name

ほか参考

https://jpazinteg.github.io/blog/LogicApps/ScheduleTriggerStrattime/

第一 <ここに曜日を表す数値を入れる> 曜日

if(greaterOrEquals(sub(8, sub(dayOfWeek(startOfMonth(utcNow())), <ここに曜日を表す数値を入れる>)), 8), sub(sub(8, sub(dayOfWeek(startOfMonth(utcNow())), <ここに曜日を表す数値を入れる>)), 7), sub(8, sub(dayOfWeek(startOfMonth(utcNow())), <ここに曜日を表す数値を入れる>)))

最後の _ のみ Replace

@lastIndexOf(<文字列>,'_')


@{substring(<文字列>, 0, variables('LASTINDEXOF_'))}  
@   
@{substring(<文字列>, add(variables('LASTINDEXOF_'),1), sub(length(<文字列>),add(variables('LASTINDEXOF_'),1)))}"

Standard Logic Apps 限定

appSetting('<設定>') で環境変数が取れる

Ticks

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "contentVersion": "1.0.0.0",
        "triggers": {
            "TEST_AAA": {
                "type": "Request",
                "kind": "Http",
                "inputs": {
                    "method": "POST"
                }
            }
        },
        "actions": {
            "sub": {
                "runAfter": {
                    "example": [
                        "Succeeded"
                    ]
                },
                "type": "Compose",
                "inputs": "@sub(ticks(formatDateTime(variables('schema')[0]['status']?['statusChangeDate'], 'yyyy-MM-ddTHH:mm:ss')), ticks(formatDateTime(variables('schema')[0]['status']?['firstEvaluationDate'], 'yyyy-MM-ddTHH:mm:ss')))"
            },
            "example": {
                "runAfter": {
                    "Initialize_variables": [
                        "Succeeded"
                    ]
                },
                "type": "Compose",
                "inputs": "statusChangeDateのTicks:\n@{ticks(formatDateTime(variables('schema')[0]['status']?['statusChangeDate'], 'yyyy-MM-ddTHH:mm:ss'))}\n\n\n@{formatDateTime(variables('schema')[0]['status']?['statusChangeDate'], 'yyyy-MM-ddTHH:mm:ss')}\n\nfirstEvaluationDateのTicks: \n@{ ticks(formatDateTime(variables('schema')[0]['status']?['firstEvaluationDate'], 'yyyy-MM-ddTHH:mm:ss'))}\n\n\n@{formatDateTime(variables('schema')[0]['status']?['firstEvaluationDate'], 'yyyy-MM-ddTHH:mm:ss')}\n\n\n差分:\n@{sub(ticks(formatDateTime(variables('schema')[0]['status']?['statusChangeDate'], 'yyyy-MM-ddTHH:mm:ss')), ticks(formatDateTime(variables('schema')[0]['status']?['firstEvaluationDate'], 'yyyy-MM-ddTHH:mm:ss')))}"
            },
            "Initialize_variables": {
                "runAfter": {},
                "type": "InitializeVariable",
                "inputs": {
                    "variables": [
                        {
                            "name": "schema",
                            "type": "array",
                            "value": [
                                {
                                    "status": {
                                        "code": "Unhealthy",
                                        "statusChangeDate": "2025-10-14T02:45:36.4475895Z",
                                        "firstEvaluationDate": "2025-10-14T03:45:36.4475895Z"
                                    }
                                }
                            ]
                        }
                    ]
                }
            },
            "Condition": {
                "actions": {},
                "runAfter": {
                    "abs": [
                        "Succeeded"
                    ]
                },
                "else": {
                    "actions": {}
                },
                "expression": {
                    "and": [
                        {
                            "lessOrEquals": [
                                "@if(less(outputs('sub'),0), mul(outputs('sub'),-1), outputs('sub'))",
                                300000000
                            ]
                        }
                    ]
                },
                "type": "If"
            },
            "abs": {
                "runAfter": {
                    "sub": [
                        "Succeeded"
                    ]
                },
                "type": "Compose",
                "inputs": "@if(less(outputs('sub'),0), mul(outputs('sub'),-1), outputs('sub'))"
            }
        },
        "outputs": {},
        "parameters": {
            "TEST": {
                "defaultValue": "TEST1",
                "type": "String"
            },
            "$connections": {
                "type": "Object",
                "defaultValue": {}
            }
        }
    },
    "parameters": {
        "$connections": {
            "type": "Object",
            "value": {}
        }
    }
}

Discussion