このトピックでは、ワークフローを定義する方法について説明します。
論理的には、ワークフローには少なくとも 1 つのトリガーと実行されるアクションが含まれます。現在、ワークフローの定義には JSON 構文のみを使用できます。ワークフロー定義の最上位レイヤーは次のとおりです。
{
"schemaVersion": "${flow-schema-version}",
"triggers": { "${flow-trigger-definitions}" },
"actions": { "${flow-action-definitions}" }
}
フィールド | 必須 | 説明 |
schemaVersion | いいえ | ワークフローで使用されるスキーマのバージョン。 |
triggers | いいえ | ワークフローの 1 つ以上のトリガーを指定します。 |
actions | いいえ | ワークフローの実行時に実行される 1 つ以上のアクションを指定します。 |
schemaVersion
ワークフローで使用されるスキーマのバージョン。現在、ワークフローは 2018-12-12 バージョンのみをサポートしています。
triggers
すべてのワークフローはトリガーで開始されます。トリガーは、ワークフローをインスタンス化して開始するために呼び出すことができるコードを定義します。
"${trigger-name}": {
"type": "${trigger-type}",
"inputs": { "${trigger-inputs}" },
},
フィールド | タイプ | 説明 |
${trigger-name} | 文字列 | トリガーの名前 |
type | 文字列 | トリガーのタイプ。たとえば、 |
inputs | JSON オブジェクト | トリガーの入力パラメーター。 |
HTTP リクエストトリガーの例:
"request": {
"type": "Request",
"kind": "Http",
"inputs": {
"method": "${method-type}",
"schema": {
"type": "object",
"properties": {
"${property-name}": {
"type": "${property-type}"
}
},
"required": [ "${required-properties}" ]
}
}
}
inputs フィールドは、トリガーの入力パラメーターを定義します。
フィールド | タイプ | 説明 |
${method-type} | 文字列 | リクエストメソッド。有効な値: |
schema | JSON オブジェクト | 標準の JSON スキーマ形式に準拠する必要がある入力パラメーターのスキーマ。スキーマは、入力パラメーターの検証に使用されます。 |
actions
アクションは、特定のコネクタをいくつかのパラメーターを使用して実行するために行われます。
各アクションは、次の標準構文で定義されています。コネクタによっては、さらに設定項目が用意されている場合があります。詳細については、対応するコネクタの設定項目をご参照ください。
"${action-name}": {
"type": "HTTP",
"inputs": {
"uri": "https://example.com/api",
"method": "GET",
"headers": {
"User-Agent": "Logic Composer"
}
},
"runAfter": {}
}
フィールド | 必須 | タイプ | 説明 |
type | はい | 文字列 | アクションに対応するコネクタの名前。 |
inputs | はい | 整数、浮動小数点数、ブール値、または JSON オブジェクト | コネクタの入力パラメーター。詳細については、対応するコネクタの設定項目をご参照ください。 |
runAfter | はい | JSON オブジェクト | 現在のアクションを実行する前に完了する必要があるトリガーまたはアクションの名前と結果。 |
たとえば、次のアクションは、別のアクションが成功した後に応答を返します。
"Return a response": {
"type": "Response",
"inputs": {
"body": "@body('request API')"
},
"runAfter": {
"Request API": ["Succeeded"]
}
},