Azure Logic Apps でのトリガーとアクションの種類のスキーマ リファレンス ガイドSchema reference guide for trigger and action types in Azure Logic Apps

このリファレンスでは、ロジック アプリの基となるワークフロー定義でトリガーとアクションを識別するために使用される一般的な種類について説明します。ワークフロー定義については、ワークフロー定義言語で説明および検証されています。This reference describes the general types used for identifying triggers and actions in your logic app's underlying workflow definition, which is described and validated by the Workflow Definition Language. ロジック アプリで使用できる特定のコネクターのトリガーおよびアクションを見つけるには、コネクタの概要にある一覧を参照してください。To find specific connector triggers and actions that you can use in your logic apps, see the list under the Connectors overview.

トリガーの概要Triggers overview

すべてのワークフローにはトリガーが含まれています。トリガーには、ワークフローをインスタンス化して開始する呼び出しが定義されています。Every workflow includes a trigger, which defines the calls that instantiate and start the workflow. 一般的なトリガーのカテゴリを次に示します。Here are the general trigger categories:

  • ポーリング トリガーでは、定期的にサービスのエンドポイントをチェックすることができます。A polling trigger, which checks a service's endpoint at regular intervals

  • プッシュ トリガーでは、エンドポイントへのサブスクリプションを作成し、コールバック URL を指定して、特定のイベントが発生したかデータが使用可能になったときにエンドポイントからトリガーに通知できるようにすることができます。A push trigger, which creates a subscription to an endpoint and provides a callback URL so the endpoint can notify the trigger when the specified event happens or data is available. このトリガーは、起動するまでの間エンドポイントの応答を待機します。The trigger then waits for the endpoint's response before firing.

トリガーには次に示す最上位要素がありますが、一部は省略可能です。Triggers have these top-level elements, although some are optional:

"<trigger-name>": {
   "type": "<trigger-type>",
   "inputs": { "<trigger-inputs>" },
   "recurrence": { 
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>
   },
   "conditions": [ "<array-with-conditions>" ],
   "runtimeConfiguration": { "<runtime-config-options>" },
   "splitOn": "<splitOn-expression>",
   "operationOptions": "<operation-option>"
},

必須Required

Value 種類Type 説明Description
<trigger-name><trigger-name> stringString トリガーの名前The name for the trigger
<trigger-type><trigger-type> stringString トリガーの種類 ("Http" や "ApiConnection" など)The trigger type such as "Http" or "ApiConnection"
<trigger-inputs><trigger-inputs> JSON オブジェクトJSON Object トリガーのビヘイビアーを定義する入力The inputs that define the trigger's behavior
<time-unit><time-unit> stringString トリガーの起動間隔を表す時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<number-of-time-units><number-of-time-units> 整数Integer トリガーの起動間隔を頻度に基づいて指定する値。頻度は、トリガーが再び起動するまで待機する時間の単位数です。A value that specifies how often the trigger fires based on the frequency, which is the number of time units to wait until the trigger fires again

間隔の最小値と最大値は次のとおりです。Here are the minimum and maximum intervals:

- Month: 1 から 16 か月- Month: 1-16 months
- Day: 1 から 500 日- Day: 1-500 days
- Hour: 1 から 12,000 時間- Hour: 1-12,000 hours
- Minute: 1 から 72,000 分- Minute: 1-72,000 minutes
- Second: 1 から 9,999,999 秒- Second: 1-9,999,999 seconds

たとえば、間隔が 6 で頻度が "Month" の場合、6 か月ごとの繰り返しになります。For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

省略可能Optional

Value 種類Type 説明Description
<array-with-conditions><array-with-conditions> ArrayArray ワークフローを実行するかどうかを決定する 1 つまたは複数の条件を含む配列。An array that contains one or more conditions that determine whether to run the workflow. トリガーでのみ使用できます。Available only for triggers.
<runtime-config-options><runtime-config-options> JSON オブジェクトJSON Object 実行時のトリガーのビヘイビアーは、runtimeConfigurationプロパティを設定することによって変更できます。You can change trigger runtime behavior by setting runtimeConfiguration properties. 詳細については、「ランタイム構成の設定」を参照してください。For more information, see Runtime configuration settings.
<splitOn-expression><splitOn-expression> stringString 配列を返すトリガーの場合、処理のために配列の項目を複数のワークフロー インスタンスに分割、つまりバッチ解除する式を指定できます。For triggers that return an array, you can specify an expression that splits or debatches array items into multiple workflow instances for processing.
<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

トリガーの種類の一覧Trigger types list

各トリガーの種類には、トリガーの動作を定義するさまざまなインターフェイスと入力があります。Each trigger type has a different interface and inputs that define the trigger's behavior.

組み込みのトリガーBuilt-in triggers

トリガーの種類Trigger type 説明Description
HTTPHTTP エンドポイントをチェックまたはポーリングします。Checks or polls any endpoint. このエンドポイントは特定のトリガー コントラクトに準拠する必要があり、そのためには、"202" 非同期パターンを使用するか、配列を返す必要があります。This endpoint must conform to a specific trigger contract either by using a "202" asynchronous pattern or by returning an array.
HTTPWebhookHTTPWebhook ロジック アプリ用の呼び出し可能なエンドポイントを作成しますが、登録または登録解除を行うために指定された URL を呼び出します。Creates a callable endpoint for your logic app but calls the specified URL to register or unregister.
RecurrenceRecurrence 定義されているスケジュールに基づいて呼び出されます。Fires based on a defined schedule. 今後このトリガーを呼び出す日時を設定できます。You can set a future date and time for firing this trigger. 頻度に基づいて、ワークフローを実行する時間数および日数を指定することもできます。Based on the frequency, you can also specify times and days for running your workflow.
RequestRequest ロジック アプリ用の呼び出し可能なエンドポイントを作成します。"手動" トリガーとも呼ばれます。Creates a callable endpoint for your logic app and is also known as a "manual" trigger. 例として、「HTTP エンドポイントを通じてワークフローを呼び出し、トリガーし、入れ子にする」をご覧ください。For example, see Call, trigger, or nest workflows with HTTP endpoints.

マネージド API トリガーManaged API triggers

トリガーの種類Trigger type 説明Description
ApiConnectionApiConnection Microsoft マネージド API を使用して、エンドポイントのチェックまたはポーリングを行います。Checks or polls an endpoint by using Microsoft-managed APIs.
ApiConnectionWebhookApiConnectionWebhook 登録または登録解除を行う Microsoft マネージド API を呼び出して、ロジック アプリ用の呼び出し可能なエンドポイントを作成します。Creates a callable endpoint for your logic app by calling Microsoft-managed APIs to subscribe and unsubscribe.

トリガー - 詳細なリファレンスTriggers - Detailed reference

APIConnection トリガーAPIConnection trigger

このトリガーでは、Microsoft マネージド API を使用してエンドポイントをチェックまたはポーリングし、このトリガーのパラメーターを、エンドポイントに基づいて異なるパラメーターにすることができます。This trigger checks or polls an endpoint by using Microsoft-managed APIs so the parameters for this trigger can differ based on the endpoint. このトリガー定義の多くのセクションは省略可能です。Many sections in this trigger definition are optional. このトリガーのビヘイビアーは、セクションが含まれるかどうかによって異なります。The trigger's behavior depends on whether or not sections are included.

"<APIConnection_trigger_name>": {
   "type": "ApiConnection",
   "inputs": {
      "host": {
         "connection": {
            "name": "@parameters('$connections')['<connection-name>']['connectionId']"
         }
      },
      "method": "<method-type>",
      "path": "/<api-operation>",
      "retryPolicy": { "<retry-behavior>" },
      "queries": { "<query-parameters>" }
   },
   "recurrence": { 
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>
   },
   "runtimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-runs-queue>
      }
   },
   "splitOn": "<splitOn-expression>",
   "operationOptions": "<operation-option>"
}

必須Required

Value 種類Type 説明Description
<APIConnection_trigger_name><APIConnection_trigger_name> stringString トリガーの名前The name for the trigger
<connection-name><connection-name> stringString ワークフローに使用するマネージド API への接続の名前The name for the connection to the managed API that the workflow uses
<method-type><method-type> stringString マネージド API と通信するための HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、"DELETE"The HTTP method for communicating with the managed API: "GET", "PUT", "POST", "PATCH", "DELETE"
<api-operation><api-operation> stringString 呼び出す対象の API 操作The API operation to call
<time-unit><time-unit> stringString トリガーの起動間隔を表す時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<number-of-time-units><number-of-time-units> 整数Integer トリガーの起動間隔を頻度に基づいて指定する値。頻度は、トリガーが再び起動するまで待機する時間の単位数です。A value that specifies how often the trigger fires based on the frequency, which is the number of time units to wait until the trigger fires again

間隔の最小値と最大値は次のとおりです。Here are the minimum and maximum intervals:

- Month: 1 から 16 か月- Month: 1-16 months
- Day: 1 から 500 日- Day: 1-500 days
- Hour: 1 から 12,000 時間- Hour: 1-12,000 hours
- Minute: 1 から 72,000 分- Minute: 1-72,000 minutes
- Second: 1 から 9,999,999 秒- Second: 1-9,999,999 seconds

たとえば、間隔が 6 で頻度が "Month" の場合、6 か月ごとの繰り返しになります。For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

省略可能Optional

Value 種類Type 説明Description
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<query-parameters><query-parameters> JSON オブジェクトJSON Object API 呼び出しに含める任意のクエリ パラメーター。Any query parameters to include with the API call. たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を呼び出しに追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.
<max-runs><max-runs> 整数Integer 既定では、ワークフロー インスタンスは、既定の制限に達するまで同時に、または並行して実行されます。By default, workflow instances run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「トリガーのコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change trigger concurrency.
<max-runs-queue><max-runs-queue> 整数Integer ワークフローで既に最大数のインスタンスが実行されている場合 (最大数は runtimeConfiguration.concurrency.runs プロパティに基づいて変更可能)、新たな実行は、既定の制限に達するまでこのキューに入れられます。When your workflow is already running the maximum number of instances, which you can change based on the runtimeConfiguration.concurrency.runs property, any new runs are put into this queue up to the default limit. 既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.
<splitOn-expression><splitOn-expression> stringString 配列を返すトリガーの場合、使用する配列をこの式で参照すると、"for each" ループを使わずに、配列の項目ごとにワークフローを作成して実行することができます。For triggers that return arrays, this expression references the array to use so that you can create and run a workflow instance for each array item, rather than use a "for each" loop.

たとえば、@triggerbody()?['value'] という式は、トリガー本文の内容の中に返される配列の項目を表します。For example, this expression represents an item in the array returned within the trigger's body content: @triggerbody()?['value']

<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

OutputsOutputs

要素Element 種類Type 説明Description
headersheaders JSON オブジェクトJSON Object 応答のヘッダーThe headers from the response
bodybody JSON オブジェクトJSON Object 応答の本文The body from the response
status codestatus code 整数Integer 応答の状態コードThe status code from the response

Example

このトリガー定義では、Office 365 Outlook アカウントの受信トレイ内の電子メールを毎日チェックします。This trigger definition checks for email every day inside the inbox for an Office 365 Outlook account:

"When_a_new_email_arrives": {
   "type": "ApiConnection",
   "inputs": {
      "host": {
         "connection": {
            "name": "@parameters('$connections')['office365']['connectionId']"
         }
      },
      "method": "get",
      "path": "/Mail/OnNewEmail",
      "queries": {
          "fetchOnlyWithAttachment": false,
          "folderPath": "Inbox",
          "importance": "Any",
          "includeAttachments": false
      }
   },
   "recurrence": {
      "frequency": "Day",
      "interval": 1
   }
}

ApiConnectionWebhook トリガーApiConnectionWebhook trigger

このトリガーは、Microsoft マネージド API を使用してエンドポイントにサブスクリプション要求を送信し、エンドポイントからの応答の送信先となるコールバック URL を指定して、エンドポイントの応答を待機します。This trigger sends a subscription request to an endpoint by using a Microsoft-managed API, provides a callback URL to where the endpoint can send a response, and waits for the endpoint to respond. 詳細については、エンドポイントのサブスクリプションに関する説明を参照してください。For more information, see Endpoint subscriptions.

"<ApiConnectionWebhook_trigger_name>": {
   "type": "ApiConnectionWebhook",
   "inputs": {
      "body": {
          "NotificationUrl": "@{listCallbackUrl()}"
      },
      "host": {
         "connection": {
            "name": "@parameters('$connections')['<connection-name>']['connectionId']"
         }
      },
      "retryPolicy": { "<retry-behavior>" },
      "queries": "<query-parameters>"
   },
   "runTimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-run-queue>
      }
   },
   "splitOn": "<splitOn-expression>",
   "operationOptions": "<operation-option>"
}

必須Required

Value 種類Type 説明Description
<connection-name><connection-name> stringString ワークフローに使用するマネージド API への接続の名前The name for the connection to the managed API that the workflow uses
<body-content><body-content> JSON オブジェクトJSON Object マネージド API にペイロードとして送信するメッセージの内容Any message content to send as payload to the managed API

省略可能Optional

Value 種類Type 説明Description
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<query-parameters><query-parameters> JSON オブジェクトJSON Object API 呼び出しに含める任意のクエリ パラメーターAny query parameters to include with the API call

たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を呼び出しに追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<max-runs><max-runs> 整数Integer 既定では、ワークフロー インスタンスは、既定の制限に達するまで同時に、または並行して実行されます。By default, workflow instances run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「トリガーのコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change trigger concurrency.
<max-runs-queue><max-runs-queue> 整数Integer ワークフローで既に最大数のインスタンスが実行されている場合 (最大数は runtimeConfiguration.concurrency.runs プロパティに基づいて変更可能)、新たな実行は、既定の制限に達するまでこのキューに入れられます。When your workflow is already running the maximum number of instances, which you can change based on the runtimeConfiguration.concurrency.runs property, any new runs are put into this queue up to the default limit. 既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.
<splitOn-expression><splitOn-expression> stringString 配列を返すトリガーの場合、使用する配列をこの式で参照すると、"for each" ループを使わずに、配列の項目ごとにワークフローを作成して実行することができます。For triggers that return arrays, this expression references the array to use so that you can create and run a workflow instance for each array item, rather than use a "for each" loop.

たとえば、@triggerbody()?['value'] という式は、トリガー本文の内容の中に返される配列の項目を表します。For example, this expression represents an item in the array returned within the trigger's body content: @triggerbody()?['value']

<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

Example

このトリガー定義では、Office 365 Outlook API への登録を行い、API エンドポイントに対してコールバック URL を指定した後、新しい電子メールが到着してエンドポイントが応答するのを待機します。This trigger definition subscribes to the Office 365 Outlook API, provides a callback URL to the API endpoint, and waits for the endpoint to respond when a new email arrives.

"When_a_new_email_arrives_(webhook)": {
   "type": "ApiConnectionWebhook",
   "inputs": {
      "body": {
         "NotificationUrl": "@{listCallbackUrl()}" 
      },
      "host": {
         "connection": {
            "name": "@parameters('$connections')['office365']['connectionId']"
         }
      },
      "path": "/MailSubscription/$subscriptions",
      "queries": {
          "folderPath": "Inbox",
          "hasAttachment": "Any",
          "importance": "Any"
      }
   },
   "splitOn": "@triggerBody()?['value']"
}

HTTP トリガーHTTP trigger

このトリガーは、指定された繰り返しスケジュールに基づいて、指定されたエンドポイントをチェックまたはポーリングします。This trigger checks or polls the specified endpoint based on the specified recurrence schedule. エンドポイントの応答によって、ワークフローが実行されるかどうかが決定します。The endpoint's response determines whether the workflow runs.

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "<method-type>",
      "uri": "<endpoint-URL>",
      "headers": { "<header-content>" },
      "body": "<body-content>",
      "authentication": { "<authentication-method>" },
      "retryPolicy": { "<retry-behavior>" },
      "queries": "<query-parameters>"
   },
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>
   },
   "runtimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-runs-queue>
      }
   },
   "operationOptions": "<operation-option>"
}

必須Required

Value 種類Type 説明Description
<method-type><method-type> stringString 指定されたエンドポイントのポーリングに使用する HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、"DELETE"The HTTP method to use for polling the specified endpoint: "GET", "PUT", "POST", "PATCH", "DELETE"
<endpoint-URL><endpoint-URL> stringString ポーリング対象エンドポイントの HTTP または HTTPS の URLThe HTTP or HTTPS URL for the endpoint to poll

文字列の最大サイズ: 2 KBMaximum string size: 2 KB

<time-unit><time-unit> stringString トリガーの起動間隔を表す時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<number-of-time-units><number-of-time-units> 整数Integer トリガーの起動間隔を頻度に基づいて指定する値。頻度は、トリガーが再び起動するまで待機する時間の単位数です。A value that specifies how often the trigger fires based on the frequency, which is the number of time units to wait until the trigger fires again

間隔の最小値と最大値は次のとおりです。Here are the minimum and maximum intervals:

- Month: 1 から 16 か月- Month: 1-16 months
- Day: 1 から 500 日- Day: 1-500 days
- Hour: 1 から 12,000 時間- Hour: 1-12,000 hours
- Minute: 1 から 72,000 分- Minute: 1-72,000 minutes
- Second: 1 から 9,999,999 秒- Second: 1-9,999,999 seconds

たとえば、間隔が 6 で頻度が "Month" の場合、6 か月ごとの繰り返しになります。For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

省略可能Optional

Value 種類Type 説明Description
<header-content><header-content> JSON オブジェクトJSON Object 要求で送信するヘッダーThe headers to send with the request

要求の言語と種類を設定する場合の例を次に示します。For example, to set the language and type for a request:

"headers": { "Accept-Language": "en-us", "Content-Type": "application/json" }

<body-content><body-content> stringString ペイロードとして要求で送信するメッセージの内容The message content to send as payload with the request
<authentication-method><authentication-method> JSON オブジェクトJSON Object 要求で使用する認証の方法。The method the request uses for authentication. 詳細については、「Scheduler 送信認証」を参照してください。For more information, see Scheduler Outbound Authentication. Scheduler 以外に、authority プロパティがサポートされています。Beyond Scheduler, the authority property is supported. 指定しない場合の既定値は https://login.windows.net ですが、https://login.windows\-ppe.net など、別の値を使用できます。When not specified, the default value is https://login.windows.net, but you can use a different value, such ashttps://login.windows\-ppe.net.
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<query-parameters><query-parameters> JSON オブジェクトJSON Object 要求に含める任意のクエリ パラメーターAny query parameters to include with the request

たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を要求に追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the request.

<max-runs><max-runs> 整数Integer 既定では、ワークフロー インスタンスは、既定の制限に達するまで同時に、または並行して実行されます。By default, workflow instances run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「トリガーのコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change trigger concurrency.
<max-runs-queue><max-runs-queue> 整数Integer ワークフローで既に最大数のインスタンスが実行されている場合 (最大数は runtimeConfiguration.concurrency.runs プロパティに基づいて変更可能)、新たな実行は、既定の制限に達するまでこのキューに入れられます。When your workflow is already running the maximum number of instances, which you can change based on the runtimeConfiguration.concurrency.runs property, any new runs are put into this queue up to the default limit. 既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.
<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

OutputsOutputs

要素Element 種類Type 説明Description
headersheaders JSON オブジェクトJSON Object 応答のヘッダーThe headers from the response
bodybody JSON オブジェクトJSON Object 応答の本文The body from the response
status codestatus code 整数Integer 応答の状態コードThe status code from the response

受信要求の要件Requirements for incoming requests

エンドポイントがロジック アプリと適切に連携するためには、特定のトリガー パターンまたはコントラクトに準拠し、以下のプロパティを認識する必要があります。To work well with your logic app, the endpoint must conform to a specific trigger pattern or contract, and recognize these properties:

ResponseResponse 必須Required 説明Description
status codeStatus code はいYes 状態コード "200 OK" によって実行が開始されます。The "200 OK" status code starts a run. その他のすべての状態コードでは実行は開始されません。Any other status code doesn't start a run.
Retry-after ヘッダーRetry-after header いいえNo ロジック アプリがエンドポイントを再度ポーリングするまでの秒数The number of seconds until your logic app polls the endpoint again
Location ヘッダーLocation header いいえNo 次のポーリング間隔で呼び出す URL です。The URL to call at the next polling interval. 指定されていない場合は、元の URL が使われます。If not specified, the original URL is used.

さまざまな要求の動作の例Example behaviors for different requests

status codeStatus code 再試行までの時間Retry after 動作Behavior
200200 {なし}{none} ワークフローを実行し、定義済みの繰り返しの後に、まだデータがあるかどうかを再確認します。Run the workflow, then check again for more data after the defined recurrence.
200200 10 秒10 seconds ワークフローを実行し、10 秒後に、まだデータがあるかどうかを再確認します。Run the workflow, then check again for more data after 10 seconds.
202202 60 秒60 seconds ワークフローをトリガーしません。Don't trigger the workflow. 次の試行は、定義済みの繰り返しに従って 1 分後に行われます。The next attempt happens in one minute, subject to the defined recurrence. 定義済みの繰り返しが 1 分未満の場合は、retry-after ヘッダーが優先されます。If the defined recurrence is less than one minute, the retry-after header takes precedence. それ以外の場合、定義済みの繰り返しが使用されます。Otherwise, the defined recurrence is used.
400400 {なし}{none} 正しくない要求です。ワークフローを実行しないでください。Bad request, don't run the workflow. retryPolicy が定義されていない場合は、既定のポリシーが使用されます。If no retryPolicy is defined, then the default policy is used. 再試行回数に達すると、定義済みの繰り返しの後に、トリガーはデータがあるかどうかを再確認します。After the number of retries has been reached, the trigger checks again for data after the defined recurrence.
500500 {なし}{none} サーバー エラーです。ワークフローを実行しないでください。Server error, don't run the workflow. retryPolicy が定義されていない場合は、既定のポリシーが使用されます。If no retryPolicy is defined, then the default policy is used. 再試行回数に達すると、定義済みの繰り返しの後に、トリガーはデータがあるかどうかを再確認します。After the number of retries has been reached, the trigger checks again for data after the defined recurrence.

HTTPWebhook トリガーHTTPWebhook trigger

このトリガーを使用すると、指定したエンドポイントの URL を呼び出してサブスクリプションを登録できるエンドポイントを作成することで、ロジック アプリを呼び出し可能にすることができます。This trigger makes your logic app callable by creating an endpoint that can register a subscription by calling the specified endpoint URL. ワークフロー内にこのトリガーを作成すると、送信要求からサブスクリプションを登録する呼び出しを行うことができます。When you create this trigger in your workflow, an outgoing request makes the call to register the subscription. そのようにして、トリガーはイベントのリッスンを開始できます。That way, the trigger can start listening for events. 操作によってこのトリガーが無効になったときは、送信要求においてサブスクリプションを取り消す呼び出しが自動的に行われます。When an operation makes this trigger invalid, an outgoing request automatically makes the call to cancel the subscription. 詳細については、エンドポイントのサブスクリプションに関する説明を参照してください。For more information, see Endpoint subscriptions.

HTTPWebhook トリガーに非同期制限を指定することもできます。You can also specify asynchronous limits on an HTTPWebhook trigger. トリガーのビヘイビアーは、どのセクションを使用し、どのセクションを省略するかによって異なります。The trigger's behavior depends on the sections that you use or omit.

"HTTP_Webhook": {
   "type": "HttpWebhook",
   "inputs": {
      "subscribe": {
         "method": "<method-type>",
         "uri": "<endpoint-subscribe-URL>",
         "headers": { "<header-content>" },
         "body": "<body-content>",
         "authentication": { "<authentication-method>" },
         "retryPolicy": { "<retry-behavior>" }
         },
      },
      "unsubscribe": {
         "method": "<method-type>",
         "url": "<endpoint-unsubscribe-URL>",
         "headers": { "<header-content>" },
         "body": "<body-content>",
         "authentication": { "<authentication-method>" }
      }
   },
   "runTimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-runs-queue>
      }
   },
   "operationOptions": "<operation-option>"
}

<method-type> などの一部の値は、"subscribe" オブジェクトと "unsubscribe" オブジェクトの両方に使用できます。Some values, such as <method-type>, are available for both the "subscribe" and "unsubscribe" objects.

必須Required

Value 種類Type 説明Description
<method-type><method-type> stringString サブスクリプション要求に使用する HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、または "DELETE"The HTTP method to use for the subscription request: "GET", "PUT", "POST", "PATCH", or "DELETE"
<endpoint-subscribe-URL><endpoint-subscribe-URL> stringString サブスクリプション要求の送信先であるエンドポイント URLThe endpoint URL where to send the subscription request

省略可能Optional

Value 種類Type 説明Description
<method-type><method-type> stringString 取り消し要求に使用する HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、または "DELETE"The HTTP method to use for the cancellation request: "GET", "PUT", "POST", "PATCH", or "DELETE"
<endpoint-unsubscribe-URL><endpoint-unsubscribe-URL> stringString 取り消し要求の送信先であるエンドポイント URLThe endpoint URL where to send the cancellation request
<body-content><body-content> stringString サブスクリプションまたは取り消しの要求で送信するメッセージの内容Any message content to send in the subscription or cancellation request
<authentication-method><authentication-method> JSON オブジェクトJSON Object 要求で使用する認証の方法。The method the request uses for authentication. 詳細については、「Scheduler 送信認証」を参照してください。For more information, see Scheduler Outbound Authentication.
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<max-runs><max-runs> 整数Integer 既定では、ワークフロー インスタンスは既定の制限に達するまですべて同時に、または並行して実行されます。By default, workflow instances all run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「トリガーのコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change trigger concurrency.
<max-runs-queue><max-runs-queue> 整数Integer ワークフローで既に最大数のインスタンスが実行されている場合 (最大数は runtimeConfiguration.concurrency.runs プロパティに基づいて変更可能)、新たな実行は、既定の制限に達するまでこのキューに入れられます。When your workflow is already running the maximum number of instances, which you can change based on the runtimeConfiguration.concurrency.runs property, any new runs are put into this queue up to the default limit. 既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.
<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

OutputsOutputs

要素Element 種類Type 説明Description
headersheaders JSON オブジェクトJSON Object 応答のヘッダーThe headers from the response
bodybody JSON オブジェクトJSON Object 応答の本文The body from the response
status codestatus code 整数Integer 応答の状態コードThe status code from the response

Example

このトリガーでは、指定したエンドポイントへのサブスクリプションを作成し、一意のコールバック URL を指定して、新たに公開される技術情報記事を待機します。This trigger creates a subscription to the specified endpoint, provides a unique callback URL, and waits for newly published technology articles.

"HTTP_Webhook": {
   "type": "HttpWebhook",
   "inputs": {
      "subscribe": {
         "method": "POST",
         "uri": "https://pubsubhubbub.appspot.com/subscribe",
         "body": {
            "hub.callback": "@{listCallbackUrl()}",
            "hub.mode": "subscribe",
            "hub.topic": "https://pubsubhubbub.appspot.com/articleCategories/technology"
         },
      },
      "unsubscribe": {
         "method": "POST",
         "url": "https://pubsubhubbub.appspot.com/subscribe",
         "body": {
            "hub.callback": "@{workflow().endpoint}@{listCallbackUrl()}",
            "hub.mode": "unsubscribe",
            "hub.topic": "https://pubsubhubbub.appspot.com/articleCategories/technology"
         }
      }
   }
}

Recurrence トリガーRecurrence trigger

このトリガーは、指定した繰り返しスケジュールに基づいて実行され、定期実行ワークフローを作成するための簡単な方法として利用できます。This trigger runs based on the specified recurrence schedule and provides an easy way for creating a regularly running workflow.

"Recurrence": {
   "type": "Recurrence",
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>,
      "startTime": "<start-date-time-with-format-YYYY-MM-DDThh:mm:ss>",
      "timeZone": "<time-zone>",
      "schedule": {
         // Applies only when frequency is Day or Week. Separate values with commas.
         "hours": [ <one-or-more-hour-marks> ], 
         // Applies only when frequency is Day or Week. Separate values with commas.
         "minutes": [ <one-or-more-minute-marks> ], 
         // Applies only when frequency is Week. Separate values with commas.
         "weekDays": [ "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday" ] 
      }
   },
   "runtimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-runs-queue>
      }
   },
   "operationOptions": "<operation-option>"
}

必須Required

Value 種類Type 説明Description
<time-unit><time-unit> stringString トリガーの起動間隔を表す時間の単位: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<number-of-time-units><number-of-time-units> 整数Integer トリガーの起動間隔を頻度に基づいて指定する値。頻度は、トリガーが再び起動するまで待機する時間の単位数です。A value that specifies how often the trigger fires based on the frequency, which is the number of time units to wait until the trigger fires again

間隔の最小値と最大値は次のとおりです。Here are the minimum and maximum intervals:

- Month: 1 から 16 か月- Month: 1-16 months
- Day: 1 から 500 日- Day: 1-500 days
- Hour: 1 から 12,000 時間- Hour: 1-12,000 hours
- Minute: 1 から 72,000 分- Minute: 1-72,000 minutes
- Second: 1 から 9,999,999 秒- Second: 1-9,999,999 seconds

たとえば、間隔が 6 で頻度が "Month" の場合、6 か月ごとの繰り返しになります。For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

省略可能Optional

Value 種類Type 説明Description
<start-date-time-with-format-YYYY-MM-DDThh:mm:ss><start-date-time-with-format-YYYY-MM-DDThh:mm:ss> stringString 次の形式の開始日時:The start date and time in this format:

タイム ゾーンを指定する場合は YYYY-MM-DDThh:mm:ssYYYY-MM-DDThh:mm:ss if you specify a time zone

または-or-

タイム ゾーンを指定しない場合は YYYY-MM-DDThh:mm:ssZYYYY-MM-DDThh:mm:ssZ if you don't specify a time zone

たとえば、2017 年 9 月 18 日午後 2 時の場合は、「2017-09-18T14:00:00」と指定し、"太平洋標準時" などのタイム ゾーンを指定します。タイム ゾーンを指定しない場合は、「2017-09-18T14:00:00Z」と指定します。So for example, if you want September 18, 2017 at 2:00 PM, then specify "2017-09-18T14:00:00" and specify a time zone such as "Pacific Standard Time", or specify "2017-09-18T14:00:00Z" without a time zone.

注: この開始時刻には、最大で 49 年先の時刻を指定できます。また、UTC の日付と時刻の形式 (ただし、UTC オフセットを除く) で日付と時刻に関する ISO 8601 規格に従っている必要があります。Note: This start time has a maximum of 49 years in the future and must follow the ISO 8601 date time specification in UTC date time format, but without a UTC offset. タイム ゾーンを指定しなかった場合は、末尾にスペースを入れず、アルファベットの "Z" を追加してください。If you don't specify a time zone, you must add the letter "Z" at the end without any spaces. この "Z" は、同等の航海時間を表します。This "Z" refers to the equivalent nautical time.

単純なスケジュールでは、開始時刻と最初の実行時刻が一致するのに対して、複雑なスケジュールでは、トリガーが作動するのは開始時刻以降となります。For simple schedules, the start time is the first occurrence, while for complex schedules, the trigger doesn't fire any sooner than the start time. 開始日時の詳細については、定期的に実行されるタスクの作成とスケジュールに関するページを参照してください。For more information about start dates and times, see Create and schedule regularly running tasks.

<time-zone><time-zone> stringString 開始時刻を指定したときに限り適用されます。このトリガーに UTC オフセットを指定することはできないためです。Applies only when you specify a start time because this trigger doesn't accept UTC offset. 適用するタイム ゾーンを指定してください。Specify the time zone that you want to apply.
<one-or-more-hour-marks><one-or-more-hour-marks> 整数または整数配列Integer or integer array frequency に "Day" または "Week" を指定した場合、ワークフローを実行する時刻として 0 ~ 23 の 1 つまたは複数の整数をコンマ区切りで指定できます。If you specify "Day" or "Week" for frequency, you can specify one or more integers from 0 to 23, separated by commas, as the hours of the day when you want to run the workflow.

たとえば "10"、"12"、"14" を指定した場合、時刻のマークとして 10 AM、12 PM、2 PM が取得されます。For example, if you specify "10", "12" and "14", you get 10 AM, 12 PM, and 2 PM as the hour marks.

<one-or-more-minute-marks><one-or-more-minute-marks> 整数または整数配列Integer or integer array frequency に "Day" または "Week" を指定した場合、ワークフローを実行する時刻の分として 0 ~ 59 の 1 つまたは複数の整数をコンマ区切りで指定できます。If you specify "Day" or "Week" for frequency, you can specify one or more integers from 0 to 59, separated by commas, as the minutes of the hour when you want to run the workflow.

たとえば上の例で指定した時を使用し、分の要素に「30」を指定した場合、実行時刻は 10:30 AM、12:30 PM、2:30 PM となります。For example, you can specify "30" as the minute mark and using the previous example for hours of the day, you get 10:30 AM, 12:30 PM, and 2:30 PM.

weekDaysweekDays 文字列または文字列配列String or string array frequency に "Week" を指定した場合、ワークフローを実行する 1 日または複数の日 ("Monday"、"Tuesday"、"Wednesday"、"Thursday"、"Friday"、"Saturday"、および "Sunday") をコンマ区切りで指定できますIf you specify "Week" for frequency, you can specify one or more days, separated by commas, when you want to run the workflow: "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", and "Sunday"
<max-runs><max-runs> 整数Integer 既定では、ワークフロー インスタンスは既定の制限に達するまですべて同時に、または並行して実行されます。By default, workflow instances all run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「トリガーのコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change trigger concurrency.
<max-runs-queue><max-runs-queue> 整数Integer ワークフローで既に最大数のインスタンスが実行されている場合 (最大数は runtimeConfiguration.concurrency.runs プロパティに基づいて変更可能)、新たな実行は、既定の制限に達するまでこのキューに入れられます。When your workflow is already running the maximum number of instances, which you can change based on the runtimeConfiguration.concurrency.runs property, any new runs are put into this queue up to the default limit. 既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.
<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

例 1Example 1

次の基本的な Recurrence トリガーは、毎日実行されます。This basic recurrence trigger runs daily:

"Recurrence": {
   "type": "Recurrence",
   "recurrence": {
      "frequency": "Day",
      "interval": 1
   }
}

例 2Example 2

トリガーを起動する開始日時を指定できます。You can specify a start date and time for firing the trigger. 次の Recurrence トリガーは、指定した日に開始され、毎日起動します。This recurrence trigger starts on the specified date and then fires daily:

"Recurrence": {
   "type": "Recurrence",
   "recurrence": {
      "frequency": "Day",
      "interval": 1,
      "startTime": "2017-09-18T00:00:00Z"
   }
}

例 3Example 3

次の Recurrence トリガーは、2017 年 9 月 9 日午後 2 時に開始され、毎週月曜日の太平洋標準時の午前 10 時 30 分、午後 12 時 30 分、および午後 2 時 30 分に起動します。This recurrence trigger starts on September 9, 2017 at 2:00 PM, and fires weekly every Monday at 10:30 AM, 12:30 PM, and 2:30 PM Pacific Standard Time:

"Recurrence": {
   "type": "Recurrence",
   "recurrence": {
      "frequency": "Week",
      "interval": 1,
      "schedule": {
         "hours": [ 10, 12, 14 ],
         "minutes": [ 30 ],
         "weekDays": [ "Monday" ]
      },
      "startTime": "2017-09-07T14:00:00",
      "timeZone": "Pacific Standard Time"
   }
}

このトリガーの詳細と例については、定期的に実行されるタスクの作成とスケジュールに関するページをご覧ください。For more information plus examples for this trigger, see Create and schedule regularly running tasks.

Request トリガーRequest trigger

このトリガーを使用すると、受信要求を受け入れることができるエンドポイントを作成して、ロジック アプリを呼び出し可能にすることができます。This trigger makes your logic app callable by creating an endpoint that can accept incoming requests. このトリガーには、トリガーが受信要求から受信するペイロード、つまり入力を記述および検証する JSON スキーマを指定します。For this trigger, provide a JSON schema that describes and validates the payload or inputs that the trigger receives from the incoming request. そのスキーマを使用すると、ワークフロー内の後続のアクションから、より簡単にトリガーのプロパティを参照することもできます。The schema also makes trigger properties easier to reference from later actions in the workflow.

このトリガーを呼び出すには、listCallbackUrl API を使用する必要があります。このトリガーについては、Workflow Service REST API の説明を参照してください。To call this trigger, you must use the listCallbackUrl API, which is described in the Workflow Service REST API. このトリガーを HTTP エンドポイントとして使用する方法については、「HTTP エンドポイントを通じてワークフローを呼び出し、トリガーし、入れ子にする」をご覧ください。To learn how to use this trigger as an HTTP endpoint, see Call, trigger, or nest workflows with HTTP endpoints.

"manual": {
   "type": "Request",
   "kind": "Http",
   "inputs": {
      "method": "<method-type>",
      "relativePath": "<relative-path-for-accepted-parameter>",
      "schema": {
         "type": "object",
         "properties": { 
            "<property-name>": {
               "type": "<property-type>"
            }
         },
         "required": [ "<required-properties>" ]
      }
   },
   "runTimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-run-queue>
      },
   },
   "operationOptions": "<operation-option>"
}

必須Required

Value 種類Type 説明Description
<property-name><property-name> stringString ペイロードを記述する JSON スキーマのプロパティの名前The name of a property in the JSON schema, which describes the payload
<property-type><property-type> stringString プロパティの型The property's type

省略可能Optional

Value 種類Type 説明Description
<method-type><method-type> stringString 受信要求でのロジック アプリの呼び出しに使用する必要があるメソッド: "GET"、"PUT"、"POST"、"PATCH"、"DELETE"The method that incoming requests must use to call your logic app: "GET", "PUT", "POST", "PATCH", "DELETE"
<relative-path-for-accepted-parameter><relative-path-for-accepted-parameter> stringString 使用しているエンドポイントの URL で受け入れ可能なパラメーターの相対パスThe relative path for the parameter that your endpoint's URL can accept
<required-properties><required-properties> ArrayArray 値が必要な 1 つ以上のプロパティOne or more properties that require values
<max-runs><max-runs> 整数Integer 既定では、ワークフロー インスタンスは既定の制限に達するまですべて同時に、または並行して実行されます。By default, workflow instances all run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「トリガーのコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change trigger concurrency.
<max-runs-queue><max-runs-queue> 整数Integer ワークフローで既に最大数のインスタンスが実行されている場合 (最大数は runtimeConfiguration.concurrency.runs プロパティに基づいて変更可能)、新たな実行は、既定の制限に達するまでこのキューに入れられます。When your workflow is already running the maximum number of instances, which you can change based on the runtimeConfiguration.concurrency.runs property, any new runs are put into this queue up to the default limit. 既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.
<operation-option><operation-option> stringString operationOptions プロパティを設定して既定のビヘイビアーを変更できます。You can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

Example

このトリガーでは、受信要求から HTTP POST メソッドを使用してこのトリガーを呼び出す必要があることを指定し、受信要求からの入力を検証するスキーマを含めています。This trigger specifies that an incoming request must use the HTTP POST method to call the trigger and includes a schema that validates input from the incoming request:

"manual": {
   "type": "Request",
   "kind": "Http",
   "inputs": {
      "method": "POST",
      "schema": {
         "type": "object",
         "properties": {
            "customerName": {
               "type": "String"
            },
            "customerAddress": { 
               "type": "Object",
               "properties": {
                  "streetAddress": {
                     "type": "string"
                  },
                  "city": {
                     "type": "string"
                  }
               }
            }
         }
      }
   }
}

トリガーの条件Trigger conditions

トリガーのみですが、どのトリガーにも、ワークフローを実行するかどうかを決める条件を表した 1 つまたは複数の式を含む配列を追加できます。For any trigger, and only triggers, you can include an array that contains one or more expressions for conditions that determine whether the workflow should run. ワークフロー内のトリガーに conditions プロパティを追加するには、ロジック アプリをコード ビュー エディターで開きます。To add the conditions property to a trigger in your workflow, open your logic app in the code view editor.

たとえば、Web サイトから内部サーバー エラーが返されたときに限ってトリガーが起動するように指定する場合は、次のように conditions プロパティ内のトリガーの状態コードを参照します。For example, you can specify that a trigger fires only when a website returns an internal server error by referencing the trigger's status code in the conditions property:

"Recurrence": {
   "type": "Recurrence",
   "recurrence": {
      "frequency": "Hour",
      "interval": 1
   },
   "conditions": [ {
      "expression": "@equals(triggers().code, 'InternalServerError')"
   } ]
}

既定では、"200 OK" の応答を受信した後に限り、トリガーが起動します。By default, a trigger fires only after getting a "200 OK" response. 式でトリガーの状態コードを参照すると、トリガーの既定のビヘイビアーが置き換えられます。When an expression references a trigger's status code, the trigger's default behavior is replaced. そのため、状態コード "200" と "201" など、複数の状態コードに対してトリガーを起動させるには、この式を条件として含める必要があります。So, if you want the trigger to fire for more than one status code, such as the "200" and "201" status code, you must include this expression as your condition:

@or(equals(triggers().code, 200),equals(triggers().code, 201))

複数の実行をトリガーするTrigger multiple runs

トリガーによって返される配列をロジック アプリが処理する場合、"for each" ループに時間がかかりすぎて、配列の各項目を処理できないことがあります。If your trigger returns an array for your logic app to process, sometimes a "for each" loop might take too long to process each array item. この場合は、トリガーで SplitOn プロパティを使用すると、配列を "バッチ解除" できます。Instead, you can use the SplitOn property in your trigger to debatch the array. バッチ解除すると、配列の項目が分割されて、配列の項目ごとに実行される新しいワークフロー インスタンスが開始されます。Debatching splits up the array items and starts a new workflow instance that runs for each array item. このアプローチが役立つのは、たとえば、エンドポイントをポーリングするときに、ポーリング間隔のたびに複数の新しい項目が返される場合です。This approach is useful, for example, when you want to poll an endpoint that might return multiple new items between polling intervals. SplitOn が 1 つのロジック アプリ実行で処理できる配列項目の最大数については、制限と構成に関するページをご覧ください。For the maximum number of array items that SplitOn can process in a single logic app run, see Limits and configuration.

注意

同期応答パターンでは SplitOn を使用できません。You can't use SplitOn with a synchronous response pattern. SplitOn を使用して、応答アクションを含むワークフローは、非同期で実行して、すぐに 202 ACCEPTED 応答を送信します。Any workflow that uses SplitOn and includes a response action runs asynchronously and immediately sends a 202 ACCEPTED response.

トリガーの Swagger ファイルに、配列であるペイロードが記述されている場合、SplitOn プロパティが自動的にトリガーに追加されます。If your trigger's Swagger file describes a payload that is an array, the SplitOn property is automatically added to your trigger. それ以外の場合は、バッチ解除する配列を含む応答ペイロード内にこのプロパティを追加します。Otherwise, add this property inside the response payload that has the array you want to debatch.

Example

たとえば、次の応答を返す API があるとします。Suppose you have an API that returns this response:

{
   "Status": "Succeeded",
   "Rows": [ 
      { 
         "id": 938109380,
         "name": "customer-name-one"
      },
      {
         "id": 938109381,
         "name": "customer-name-two"
      }
   ]
}

ロジック アプリで必要なのは Rows 内の配列の内容だけであるため、次の例のようなトリガーを作成できます。Your logic app only needs the content from the array in Rows, so you can create a trigger like this example:

"HTTP_Debatch": {
   "type": "Http",
    "inputs": {
        "uri": "https://mydomain.com/myAPI",
        "method": "GET"
    },
   "recurrence": {
      "frequency": "Second",
      "interval": 1
    },
    "splitOn": "@triggerBody()?.Rows"
}

注意

SplitOn コマンドを使う場合、配列の外側にあるプロパティを取得することはできません。If you use the SplitOn command, you can't get the properties that are outside the array. つまり、この例では、API から返される応答で status プロパティを取得できません。So for this example, you can't get the status property in the response returned from the API.

Rowsプロパティが存在しない場合のエラーを回避するために、この例では ? 演算子を使用しています。To avoid a failure if the Rows property doesn't exist, this example uses the ? operator.

これで、このワークフロー定義では、@triggerBody().name を使用して name の値 (最初の実行から "customer-name-one"、2 番目の実行から "customer-name-two") を取得できます。Your workflow definition can now use @triggerBody().name to get the name values, which are "customer-name-one" from the first run and "customer-name-two" from the second run. つまり、トリガーの出力は次の例のようになります。So, your trigger outputs look like these examples:

{
   "body": {
      "id": 938109380,
      "name": "customer-name-one"
   }
}
{
   "body": {
      "id": 938109381,
      "name": "customer-name-two"
   }
}

アクションの概要Actions overview

Azure Logic Apps には、さまざまなアクションの種類があります。アクションの種類ごとに異なる入力を使用して、アクションの固有のビヘイビアーを定義します。Azure Logic Apps provides various action types - each with different inputs that define an action's unique behavior.

アクションには以下の最上位要素がありますが、一部は省略可能です。Actions have these high-level elements, though some are optional:

"<action-name>": {
   "type": "<action-type>",
   "inputs": { 
      "<input-name>": { "<input-value>" },
      "retryPolicy": "<retry-behavior>" 
   },
   "runAfter": { "<previous-trigger-or-action-status>" },
   "runtimeConfiguration": { "<runtime-config-options>" },
   "operationOptions": "<operation-option>"
},

必須Required

Value 種類Type 説明Description
<action-name><action-name> stringString アクションの名前The name for the action
<action-type><action-type> stringString アクションの種類 ("Http" や "ApiConnection" など)The action type, for example, "Http" or "ApiConnection"
<input-name><input-name> stringString アクションのビヘイビアーを定義する入力の名前The name for an input that defines the action's behavior
<input-value><input-value> 各種Various 文字列、整数、JSON オブジェクトなどを入力値にすることができますThe input value, which can be a string, integer, JSON object, and so on
<previous-trigger-or-action-status><previous-trigger-or-action-status> JSON オブジェクトJSON Object 現在のこのアクションを実行する前に直ちに実行しなければならない、トリガーまたはアクションの名前と結果の状態The name and resulting status for the trigger or action that must run immediately before this current action can run

省略可能Optional

Value 種類Type 説明Description
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「再試行ポリシー」を参照してください。For more information, see Retry policies.
<runtime-config-options><runtime-config-options> JSON オブジェクトJSON Object 一部のアクションについては、runtimeConfiguration プロパティを設定してアクションのビヘイビアーを実行時に変更できます。For some actions, you can change the action's behavior at run time by setting runtimeConfiguration properties. 詳細については、「ランタイム構成の設定」を参照してください。For more information, see Runtime configuration settings.
<operation-option><operation-option> stringString 一部のアクションについては、operationOptions プロパティを設定して既定のビヘイビアーを変更できます。For some actions, you can change the default behavior by setting the operationOptions property. 詳細については、「操作のオプション」を参照してください。For more information, see Operation options.

アクションの種類の一覧Action types list

よく使用するアクションの種類をいくつか示します。Here are some commonly used action types:

組み込みアクションBuilt-in actions

アクションの種類Action type 説明Description
作成Compose さまざまな種類を持つ可能性がある複数の入力から、単一の出力を作成します。Creates a single output from inputs, which can have various types.
JavaScript コードの実行Execute JavaScript Code 特定の条件に適合する JavaScript コード スニペットを実行します。Run JavaScript code snippets that fit within specific criteria. コードの要件と詳細については、「Add and run code snippets with inline code」(インライン コードを使用してコード スニペットを追加および実行する) を参照してください。For code requirements and more information, see Add and run code snippets with inline code.
FunctionFunction Azure 関数を呼び出します。Calls an Azure Function.
HTTPHTTP HTTP エンドポイントを呼び出します。Calls an HTTP endpoint.
JoinJoin 配列内のすべての項目から 1 個の文字列を作成します。それらの項目は指定した区切り文字を使って区切ります。Creates a string from all the items in an array and separates those items with a specified delimiter character.
Parse JSONParse JSON JSON のコンテンツ内にあるプロパティから、ユーザー フレンドリなトークンを作成します。Creates user-friendly tokens from properties in JSON content. その後はロジック アプリ内にトークンを含めることで、それらのプロパティを参照できます。You can then reference those properties by including the tokens in your logic app.
QueryQuery 条件またはフィルターに基づいて別の配列内の項目から配列を作成します。Creates an array from items in another array based on a condition or filter.
ResponseResponse 受信する呼び出しまたは要求に対する応答を作成します。Creates a response to an incoming call or request.
SelectSelect 指定したマップに基づいて別の配列の項目を変換することによって、JSON オブジェクトの配列を作成します。Creates an array with JSON objects by transforming items from another array based on the specified map.
TableTable 配列から CSV または HTML のテーブルを作成します。Creates a CSV or HTML table from an array.
TerminateTerminate アクティブに実行中のワークフローを停止します。Stops an actively running workflow.
WaitWait 指定した期間、または指定した日付と時刻まで、ワークフローを一時停止します。Pauses your workflow for a specified duration or until the specified date and time.
WorkflowWorkflow ワークフローを別のワークフローの中に入れ子にします。Nests a workflow inside another workflow.

マネージド API アクションManaged API actions

アクションの種類Action type 説明Description
ApiConnectionApiConnection Microsoft マネージド APIを使用して HTTP エンドポイントを呼び出します。Calls an HTTP endpoint by using a Microsoft-managed API.
ApiConnectionWebhookApiConnectionWebhook HTTP Webhook と同様に動作しますが、Microsoft マネージド API を使用します。Works like HTTP Webhook but uses a Microsoft-managed API.

ワークフローを制御するアクションControl workflow actions

これらのアクションでは、ワークフローの実行を制御し、他のアクションを含めることができます。These actions help you control workflow execution and include other actions. ワークフローを制御するアクションの外側から、そのワークフロー制御アクションの内部にあるアクションを直接参照できます。From outside a control workflow action, you can directly reference actions inside that control workflow action. たとえば、スコープの内部で Http アクションを使用している場合、ワークフロー内のどこからでも @body('Http') 式を参照できます。For example, if you have an Http action inside a scope, you can reference the @body('Http') expression from anywhere in the workflow. ただし、ワークフロー制御アクションの内部に存在するアクションは、同じワークフロー制御構造体の中にある他のアクションの "後に実行" することしかできません。However, actions that exist inside a control workflow action can only "run after" other actions that are in the same control workflow structure.

アクションの種類Action type 説明Description
ForEachForEach 配列内のすべての項目に対して同じアクションをループ実行します。Run the same actions in a loop for every item in an array.
IfIf 指定した条件が true であるか false であるかに基づいて、アクションを実行します。Run actions based on whether the specified condition is true or false.
ScopeScope 一連のアクションから得られるグループの状態に基づいて、アクションを実行します。Run actions based on the group status from a set of actions.
SwitchSwitch 式、オブジェクト、またはトークンの値が、各ケースによって指定された値と一致する場合、ケース別に構成されたアクションを実行します。Run actions organized into cases when values from expressions, objects, or tokens match the values specified by each case.
UntilUntil 指定した条件が true になるまで、アクションをループ実行します。Run actions in a loop until the specified condition is true.

アクション - 詳細なリファレンスActions - Detailed reference

APIConnection アクションAPIConnection action

HTTP 要求を Microsoft マネージド API に送信するアクションです。このアクションには、API およびパラメーターに関する情報と、有効な接続への参照が必要です。This action sends an HTTP request to a Microsoft-managed API and requires information about the API and parameters plus a reference to a valid connection.

"<action-name>": {
   "type": "ApiConnection",
   "inputs": {
      "host": {
         "connection": {
            "name": "@parameters('$connections')['<api-name>']['connectionId']"
         },
         "<other-action-specific-input-properties>"        
      },
      "method": "<method-type>",
      "path": "/<api-operation>",
      "retryPolicy": "<retry-behavior>",
      "queries": { "<query-parameters>" },
      "<other-action-specific-properties>"
    },
    "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<action-name><action-name> stringString コネクタによって指定されるアクションの名前The name of the action provided by the connector
<api-name><api-name> stringString 接続に使用される Microsoft マネージド API の名前The name of the Microsoft-managed API that is used for the connection
<method-type><method-type> stringString API を呼び出すための HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、または "DELETE"The HTTP method for calling the API: "GET", "PUT", "POST", "PATCH", or "DELETE"
<api-operation><api-operation> stringString 呼び出す対象の API 操作The API operation to call

省略可能Optional

Value 種類Type 説明Description
<other-action-specific-input-properties><other-action-specific-input-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他の入力プロパティAny other input properties that apply to this specific action
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<query-parameters><query-parameters> JSON オブジェクトJSON Object API 呼び出しに含める任意のクエリ パラメーター。Any query parameters to include with the API call.

たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を呼び出しに追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<other-action-specific-properties><other-action-specific-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他のプロパティAny other properties that apply to this specific action

Example

この定義は、Office 365 Outlook コネクタのメールの送信アクションを記述しています。このアクションは、Microsoft マネージド API です。This definition describes the Send an email action for Office 365 Outlook connector, which is a Microsoft-managed API:

"Send_an_email": {
   "type": "ApiConnection",
   "inputs": {
      "body": {
         "Body": "Thank you for your membership!",
         "Subject": "Hello and welcome!",
         "To": "Sophie.Owen@contoso.com"
      },
      "host": {
         "connection": {
            "name": "@parameters('$connections')['office365']['connectionId']"
         }
      },
      "method": "POST",
      "path": "/Mail"
    },
    "runAfter": {}
}

APIConnectionWebhook アクションAPIConnectionWebhook action

このアクションは、Microsoft マネージド API を使用して HTTP 経由でエンドポイントにサブスクリプション要求を送信し、エンドポイントからの応答の送信先となるコールバック URL を指定して、エンドポイントの応答を待機します。This action sends a subscription request over HTTP to an endpoint by using a Microsoft-managed API, provides a callback URL to where the endpoint can send a response, and waits for the endpoint to respond. 詳細については、エンドポイントのサブスクリプションに関する説明を参照してください。For more information, see Endpoint subscriptions.

"<action-name>": {
   "type": "ApiConnectionWebhook",
   "inputs": {
      "subscribe": {
         "method": "<method-type>",
         "uri": "<api-subscribe-URL>",
         "headers": { "<header-content>" },
         "body": "<body-content>",
         "authentication": { "<authentication-method>" },
         "retryPolicy": "<retry-behavior>",
         "queries": { "<query-parameters>" },
         "<other-action-specific-input-properties>"
      },
      "unsubscribe": {
         "method": "<method-type>",
         "uri": "<api-unsubscribe-URL>",
         "headers": { "<header-content>" },
         "body": "<body-content>",
         "authentication": { "<authentication-method>" },
         "<other-action-specific-properties>"
      },
   },
   "runAfter": {}
}

<method-type> などの一部の値は、"subscribe" オブジェクトと "unsubscribe" オブジェクトの両方に使用できます。Some values, such as <method-type>, are available for both the "subscribe" and "unsubscribe" objects.

必須Required

Value 種類Type 説明Description
<action-name><action-name> stringString コネクタによって指定されるアクションの名前The name of the action provided by the connector
<method-type><method-type> stringString エンドポイントの登録または登録解除に使用する HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、または "DELETE"The HTTP method to use for subscribing or unsubscribing from an endpoint: "GET", "PUT", "POST", "PATCH", or "DELETE"
<api-subscribe-URL><api-subscribe-URL> stringString API への登録に使用する URIThe URI to use for subscribing to the API

省略可能Optional

Value 種類Type 説明Description
<api-unsubscribe-URL><api-unsubscribe-URL> stringString API からの登録解除に使用する URIThe URI to use for unsubscribing from the API
<header-content><header-content> JSON オブジェクトJSON Object 要求で送信するヘッダーAny headers to send in the request

言語と種類を要求に設定する場合の例を次に示します。For example, to set the language and type on a request:

"headers": { "Accept-Language": "en-us", "Content-Type": "application/json" }

<body-content><body-content> JSON オブジェクトJSON Object 要求で送信するメッセージの内容Any message content to send in the request
<authentication-method><authentication-method> JSON オブジェクトJSON Object 要求で使用する認証の方法。The method the request uses for authentication. 詳細については、「Scheduler 送信認証」を参照してください。For more information, see Scheduler Outbound Authentication.
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<query-parameters><query-parameters> JSON オブジェクトJSON Object API 呼び出しに含める任意のクエリ パラメーターAny query parameters to include with the API call

たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を呼び出しに追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<other-action-specific-input-properties><other-action-specific-input-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他の入力プロパティAny other input properties that apply to this specific action
<other-action-specific-properties><other-action-specific-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他のプロパティAny other properties that apply to this specific action

ApiConnectionWebhook アクションに対する制限も、HTTP 非同期制限と同じ方法で指定できます。You can also specify limits on an ApiConnectionWebhook action in the same way as HTTP asynchronous limits.

作成アクションCompose action

このアクションでは、複数の入力から単一の出力を作成します。入力には式も含みます。This action creates a single output from multiple inputs, including expressions. 出力と入力の両方に、Azure Logic Apps でネイティブにサポートされている任意の型 (配列、JSON オブジェクト、XML、バイナリなど) を使用できます。Both the output and inputs can have any type that Azure Logic Apps natively supports, such as arrays, JSON objects, XML, and binary. このアクションの出力を他のアクションで使用できます。You can then use the action's output in other actions.

"Compose": {
   "type": "Compose",
   "inputs": "<inputs-to-compose>",
   "runAfter": {}
},

必須Required

Value 種類Type 説明Description
<inputs-to-compose><inputs-to-compose> AnyAny 単一の出力を作成するための入力The inputs for creating a single output

例 1Example 1

このアクション定義では、abcdefg に後続のスペースと値 1234 を結合します。This action definition merges abcdefg with a trailing space and the value 1234:

"Compose": {
   "type": "Compose",
   "inputs": "abcdefg 1234",
   "runAfter": {}
},

このアクションで作成される出力は次のようになります。Here is the output that this action creates:

abcdefg 1234

例 2Example 2

このアクション定義では、abcdefg が格納された文字列型の変数と、1234 が格納された整数型の変数を結合します。This action definition merges a string variable that contains abcdefg and an integer variable that contains 1234:

"Compose": {
   "type": "Compose",
   "inputs": "@{variables('myString')}@{variables('myInteger')}",
   "runAfter": {}
},

このアクションで作成される出力は次のようになります。Here is the output that this action creates:

"abcdefg1234"

JavaScript コードの実行アクションExecute JavaScript Code action

このアクションは、JavaScript コード スニペットを実行し、後続のアクションが参照できる Result トークンを使用して結果を返します。This action runs a JavaScript code snippet and returns the results through a Result token that later actions can reference.

"Execute_JavaScript_Code": {
   "type": "JavaScriptCode",
   "inputs": {
      "code": "<JavaScript-code-snippet>",
      "explicitDependencies": {
         "actions": [ <previous-actions> ],
         "includeTrigger": true
      }
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<JavaScript-code-snippet><JavaScript-code-snippet> 多様Varies 実行する JavaScript コード。The JavaScript code that you want to run. コードの要件と詳細については、「Add and run code snippets with inline code」(インライン コードを使用してコード スニペットを追加および実行する) を参照してください。For code requirements and more information, see Add and run code snippets with inline code.

コード スニペットは、code 属性で、読み取り専用の workflowContext オブジェクトを入力として使用できます。In the code attribute, your code snippet can use the read-only workflowContext object as input. このオブジェクトには、トリガーおよびワークフロー内の前のアクションからの結果へのアクセスをコードに提供するサブプロパティがあります。This object has subproperties that give your code access to the results from the trigger and previous actions in your workflow. workflowContext オブジェクトの詳細については、「Reference trigger and action results in your code」(コード内でトリガーとアクションの結果を参照する) を参照してください。For more information about the workflowContext object, see Reference trigger and action results in your code.

場合により必須Required in some cases

explicitDependencies 属性は、トリガー、前のアクション、またはその両方からの結果を依存関係としてコード スニペットに明示的に含めることを指定します。The explicitDependencies attribute specifies that you want to explicitly include results from the trigger, previous actions, or both as dependencies for your code snippet. 依存関係の追加の詳細については、インライン コードへのパラメーターの追加に関する記事を参照してください。For more information about adding these dependencies, see Add parameters for inline code.

includeTrigger 属性には、true または false を指定できます。For the includeTrigger attribute, you can specify true or false values.

Value 種類Type 説明Description
<previous-actions><previous-actions> 文字列配列String array 指定したアクション名の配列。An array with your specified action names. ワークフロー定義に示されるアクション名を使用し、アクション名ではスペース (" ") ではなくアンダースコア () を使用します。Use the action names that appear in your workflow definition where action names use underscores (), not spaces (" ").

例 1Example 1

このアクションは、ロジック アプリの名前を取得して、結果として "Hello world from <logic-app-name>" というテキストを返すコードを実行します。This action runs code that gets your logic app's name and returns the text "Hello world from <logic-app-name>" as the result. この例では、コードは読み取り専用の workflowContext オブジェクトを介して workflowContext.workflow.name プロパティにアクセスすることで、ワークフローの名前を参照します。In this example, the code references the workflow's name by accessing the workflowContext.workflow.name property through the read-only workflowContext object. workflowContext オブジェクトの使用方法の詳細については、「Reference trigger and action results in your code」(コード内でトリガーとアクションの結果を参照する) を参照してください。For more information about using the workflowContext object, see Reference trigger and action results in your code.

"Execute_JavaScript_Code": {
   "type": "JavaScriptCode",
   "inputs": {
      "code": "var text = \"Hello world from \" + workflowContext.workflow.name;\r\n\r\nreturn text;"
   },
   "runAfter": {}
}

例 2Example 2

このアクションは、Office 365 Outlook アカウントに新しい電子メールが届くとトリガーされるロジック アプリでコードを実行します。This action runs code in a logic app that triggers when a new email arrives in an Office 365 Outlook account. このロジック アプリでは、受信した電子メールの内容と承認要求を転送する、承認メールの送信アクションも使用します。The logic app also uses a send approval email action that forwards the content from the received email along with a request for approval.

このコードは、トリガーの Body プロパティから電子メール アドレスを抽出し、それらの電子メール アドレスと承認アクションの SelectedOption プロパティ値を返します。The code extracts email addresses from the trigger's Body property and returns those email addresses along with the SelectedOption property value from the approval action. このアクションは、承認メールの送信アクションを依存関係として explicitDependencies > actions 属性に明示的に含めます。The action explicitly includes the send approval email action as a dependency in the explicitDependencies > actions attribute.

"Execute_JavaScript_Code": {
   "type": "JavaScriptCode",
   "inputs": {
      "code": "var re = /(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\r\n\r\nvar email = workflowContext.trigger.outputs.body.Body;\r\n\r\nvar reply = workflowContext.actions.Send_approval_email_.outputs.body.SelectedOption;\r\n\r\nreturn email.match(re) + \" - \" + reply;\r\n;",
      "explicitDependencies": {
         "actions": [
            "Send_approval_email_"
         ]
      }
   },
   "runAfter": {}
}

Function アクションFunction action

あらかじめ作成した Azure 関数を呼び出すアクションです。This action calls a previously created Azure function.

"<Azure-function-name>": {
   "type": "Function",
   "inputs": {
     "function": {
        "id": "<Azure-function-ID>"
      },
      "method": "<method-type>",
      "headers": { "<header-content>" },
      "body": { "<body-content>" },
      "queries": { "<query-parameters>" } 
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<Azure-function-ID><Azure-function-ID> stringString 呼び出す対象である Azure 関数を表すリソース ID。The resource ID for the Azure function you want to call. この値の形式は次のとおりです。Here is the format for this value:

"/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group>/providers/Microsoft.Web/sites/<Azure-function-app-name>/functions/<Azure-function-name>""/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group>/providers/Microsoft.Web/sites/<Azure-function-app-name>/functions/<Azure-function-name>"

<method-type><method-type> stringString 関数を呼び出すために使用する HTTP メソッド: "GET"、"PUT"、"POST"、"PATCH"、または "DELETE"The HTTP method to use for calling the function: "GET", "PUT", "POST", "PATCH", or "DELETE"

指定しない場合、既定のメソッドは "POST" です。If not specified, the default is the "POST" method.

省略可能Optional

Value 種類Type 説明Description
<header-content><header-content> JSON オブジェクトJSON Object 呼び出しで送信するヘッダーAny headers to send with the call

言語と種類を要求に設定する場合の例を次に示します。For example, to set the language and type on a request:

"headers": { "Accept-Language": "en-us", "Content-Type": "application/json" }

<body-content><body-content> JSON オブジェクトJSON Object 要求で送信するメッセージの内容Any message content to send in the request
<query-parameters><query-parameters> JSON オブジェクトJSON Object API 呼び出しに含める任意のクエリ パラメーターAny query parameters to include with the API call

たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を呼び出しに追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<other-action-specific-input-properties><other-action-specific-input-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他の入力プロパティAny other input properties that apply to this specific action
<other-action-specific-properties><other-action-specific-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他のプロパティAny other properties that apply to this specific action

ロジック アプリを保存すると、参照される関数に対する以下のチェックが Logic Apps エンジンによって実行されます。When you save your logic app, the Logic Apps engine performs these checks on the referenced function:

  • 使用するワークフローからその関数にアクセスできる必要があります。Your workflow must have access to the function.

  • ワークフローでは、標準 HTTP トリガーまたは汎用 JSON webhook トリガーだけを使用できます。Your workflow can use only a standard HTTP trigger or generic JSON webhook trigger.

    トリガーの URL が Logic Apps エンジンによって取得され、キャッシュされます。その URL が実行時に使用されます。The Logic Apps engine gets and caches the trigger's URL, which is used at runtime. ただし、キャッシュされた URL がいずれかの操作によって無効化された場合、Function アクションは実行時に失敗します。However, if any operation invalidates the cached URL, the Function action fails at runtime. この問題を解決するには、ロジック アプリをもう一度保存して、ロジック アプリによってトリガーの URL の取得とキャッシュが再度行われるようにします。To fix this issue, save the logic app again so that the logic app gets and caches the trigger URL again.

  • 関数にルートを定義することはできません。The function can't have any route defined.

  • 使用できる承認レベルは、"function" と "anonymous" だけです。Only "function" and "anonymous" authorization levels are allowed.

Example

このアクション定義では、あらかじめ作成した "GetProductID" 関数を呼び出します。This action definition calls the previously created "GetProductID" function:

"GetProductID": {
   "type": "Function",
   "inputs": {
     "function": {
        "id": "/subscriptions/<XXXXXXXXXXXXXXXXXXXX>/resourceGroups/myLogicAppResourceGroup/providers/Microsoft.Web/sites/InventoryChecker/functions/GetProductID"
      },
      "method": "POST",
      "headers": { 
          "x-ms-date": "@utcnow()"
       },
      "body": { 
          "Product_ID": "@variables('ProductID')"
      }
   },
   "runAfter": {}
}

HTTP アクションHTTP action

指定されたエンドポイントに要求を送信し、応答を調べて、ワークフローを実行する必要があるかどうかを判断するアクションです。This action sends a request to the specified endpoint and checks the response to determine whether the workflow should run.

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "<method-type>",
      "uri": "<HTTP-or-HTTPS-endpoint-URL>"
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<method-type><method-type> stringString 要求を送信するために使用するメソッド: "GET"、"PUT"、"POST"、"PATCH"、または "DELETE"The method to use for sending the request: "GET", "PUT", "POST", "PATCH", or "DELETE"
<HTTP-or-HTTPS-endpoint-URL><HTTP-or-HTTPS-endpoint-URL> stringString 呼び出す対象である HTTP または HTTPS エンドポイント。The HTTP or HTTPS endpoint to call. 文字列の最大サイズ: 2 KBMaximum string size: 2 KB

省略可能Optional

Value 種類Type 説明Description
<header-content><header-content> JSON オブジェクトJSON Object 要求で送信するヘッダーAny headers to send with the request

言語と種類を設定する場合の例を次に示します。For example, to set the language and type:

"headers": { "Accept-Language": "en-us", "Content-Type": "application/json" }

<body-content><body-content> JSON オブジェクトJSON Object 要求で送信するメッセージの内容Any message content to send in the request
<retry-behavior><retry-behavior> JSON オブジェクトJSON Object 状態コード 408、429、5XX の断続的なエラーと接続の例外に対する再試行ビヘイビアーをカスタマイズします。Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. 詳細については、「Retry policies (再試行ポリシー)」をご覧ください。For more information, see Retry policies.
<query-parameters><query-parameters> JSON オブジェクトJSON Object 要求に含める任意のクエリ パラメーターAny query parameters to include with the request

たとえば、"queries": { "api-version": "2018-01-01" } オブジェクトでは ?api-version=2018-01-01 を呼び出しに追加します。For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<other-action-specific-input-properties><other-action-specific-input-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他の入力プロパティAny other input properties that apply to this specific action
<other-action-specific-properties><other-action-specific-properties> JSON オブジェクトJSON Object この特定のアクションに適用するその他のプロパティAny other properties that apply to this specific action

Example

このアクション定義では、指定したエンドポイントに要求を送信して、最新のニュースを取得します。This action definition gets the latest news by sending a request to the specified endpoint:

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "https://mynews.example.com/latest"
   }
}

Join アクションJoin action

配列内のすべての項目から 1 個の文字列を作成するアクションです。それらの項目は指定した区切り文字を使って区切ります。This action creates a string from all the items in an array and separates those items with the specified delimiter character.

"Join": {
   "type": "Join",
   "inputs": {
      "from": <array>,
      "joinWith": "<delimiter>"
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<array><array> ArrayArray ソース項目を渡す配列または式。The array or expression that provides the source items. 式を指定する場合は、その式を二重引用符で囲みます。If you specify an expression, enclose that expression with double quotes.
<delimiter><delimiter> 1 文字の文字列Single character string 文字列内の各項目を区切る文字The character that separates each item in the string

Example

あらかじめ作成した "myIntegerArray" という変数があり、次の整数型配列が格納されているとします。Suppose you have a previously created "myIntegerArray" variable that contains this integer array:

[1,2,3,4]

このアクション定義では、式の中で variables() 関数を使用してこの変数から値を取得し、コンマで区切ったそれらの値を含む "1,2,3,4" という文字列を作成します。This action definition gets the values from the variable by using the variables() function in an expression and creates this string with those values, which are separated by a comma: "1,2,3,4"

"Join": {
   "type": "Join",
   "inputs": {
      "from": "@variables('myIntegerArray')",
      "joinWith": ","
   },
   "runAfter": {}
}

Parse JSON アクションParse JSON action

JSON コンテンツのプロパティからユーザー フレンドリなフィールドまたはトークンを作成するアクションです。This action creates user-friendly fields or tokens from the properties in JSON content. 作成したトークンをロジック アプリ内でプロパティの代わりに使用して、それらのプロパティにアクセスできます。You can then access those properties in your logic app by using the tokens instead. たとえば、Azure Service Bus や Azure Cosmos DB といったサービスからの JSON 出力を使用する場合、このアクションをロジック アプリに追加することで、その出力に含まれるデータをより簡単に参照できます。For example, when you want to use JSON output from services such as Azure Service Bus and Azure Cosmos DB, you can include this action in your logic app so that you can more easily reference the data in that output.

"Parse_JSON": {
   "type": "ParseJson",
   "inputs": {
      "content": "<JSON-source>",
         "schema": { "<JSON-schema>" }
      },
      "runAfter": {}
},

必須Required

Value 種類Type 説明Description
<JSON-source><JSON-source> JSON オブジェクトJSON Object 解析する対象の JSON コンテンツThe JSON content you want to parse
<JSON-schema><JSON-schema> JSON オブジェクトJSON Object 基になる JSON コンテンツを記述する JSON スキーマ。ソースの JSON コンテンツを解析するために、アクションによって使用されます。The JSON schema that describes the underlying the JSON content, which the action uses for parsing the source JSON content.

ヒント: Logic Apps デザイナーで、スキーマを指定するかサンプル ペイロードを入力すると、アクションによるスキーマの作成が可能になります。Tip: In Logic Apps Designer, you can either provide the schema or provide a sample payload so that the action can generate the schema.

Example

このアクション定義により、ワークフローで使用できる以下のトークンが作成されますが、これらを使用できるのは、Parse JSON アクションに続いて実行されるアクション内に限ります。This action definition creates these tokens that you can use in your workflow but only in actions that run following the Parse JSON action:

FirstNameLastNameEmailFirstName, LastName, and Email

"Parse_JSON": {
   "type": "ParseJson",
   "inputs": {
      "content": {
         "Member": {
            "Email": "Sophie.Owen@contoso.com",
            "FirstName": "Sophie",
            "LastName": "Owen"
         }
      },
      "schema": {
         "type": "object",
         "properties": {
            "Member": {
               "type": "object",
               "properties": {
                  "Email": {
                     "type": "string"
                  },
                  "FirstName": {
                     "type": "string"
                  },
                  "LastName": {
                     "type": "string"
                  }
               }
            }
         }
      }
   },
   "runAfter": { }
},

この例では、アクションによる解析の対象である JSON コンテンツを "content" プロパティで指定しています。In this example, the "content" property specifies the JSON content for the action to parse. スキーマを生成するためのサンプル ペイロードとして、次の JSON コンテンツを指定することもできます。You can also provide this JSON content as the sample payload for generating the schema.

"content": {
   "Member": { 
      "FirstName": "Sophie",
      "LastName": "Owen",
      "Email": "Sophie.Owen@contoso.com"
   }
},

"schema" プロパティでは、JSON コンテンツを記述するために使用される JSON スキーマを指定します。The "schema" property specifies the JSON schema used for describing the JSON content:

"schema": {
   "type": "object",
   "properties": {
      "Member": {
         "type": "object",
         "properties": {
            "FirstName": {
               "type": "string"
            },
            "LastName": {
               "type": "string"
            },
            "Email": {
               "type": "string"
            }
         }
      }
   }
}

クエリ アクションQuery action

指定された条件またはフィルターに基づいて、別の配列内の項目から配列を作成するアクションです。This action creates an array from items in another array based on a specified condition or filter.

"Filter_array": {
   "type": "Query",
   "inputs": {
      "from": <array>,
      "where": "<condition-or-filter>"
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<array><array> ArrayArray ソース項目を渡す配列または式。The array or expression that provides the source items. 式を指定する場合は、その式を二重引用符で囲みます。If you specify an expression, enclose that expression with double quotes.
<condition-or-filter><condition-or-filter> stringString ソース配列内の項目をフィルター処理するために使用される条件The condition used for filtering items in the source array

メモ:条件を満たす値がない場合は、アクションによって空の配列が作成されます。Note: If no values satisfy the condition, then the action creates an empty array.

Example

このアクション定義では、指定した値 2 より大きい値を持つ配列を作成します。This action definition creates an array that has values greater than the specified value, which is two:

"Filter_array": {
   "type": "Query",
   "inputs": {
      "from": [ 1, 3, 0, 5, 4, 2 ],
      "where": "@greater(item(), 2)"
   }
}

応答アクションResponse action

HTTP 要求に対する応答のペイロードを作成するアクションです。This action creates the payload for the response to an HTTP request.

"Response" {
    "type": "Response",
    "kind": "http",
    "inputs": {
        "statusCode": 200,
        "headers": { <response-headers> },
        "body": { <response-body> }
    },
    "runAfter": {}
},

必須Required

Value 種類Type 説明Description
<response-status-code><response-status-code> 整数Integer 受信要求に送信される HTTP 状態コード。The HTTP status code that is sent to the incoming request. 既定のコードは "200 OK" ですが、2xx、4xx、または 5xx で始まる任意の有効な状態コードを使用できます。3xxx で始まるコードは使用できません。The default code is "200 OK", but the code can be any valid status code that starts with 2xx, 4xx, or 5xx, but not with 3xxx.

省略可能Optional

Value 種類Type 説明Description
<response-headers><response-headers> JSON オブジェクトJSON Object 応答に含める 1 つまたは複数のヘッダーOne or more headers to include with the response
<response-body><response-body> 各種Various 応答本文。文字列、JSON オブジェクト、または先行アクションからのバイナリ コンテンツとすることができます。The response body, which can be a string, JSON object, or even binary content from a previous action

Example

このアクション定義では、指定した状態コード、メッセージ本文、メッセージ ヘッダーを使用して、HTTP 要求への応答を作成します。This action definition creates a response to an HTTP request with the specified status code, message body, and message headers:

"Response": {
   "type": "Response",
   "inputs": {
      "statusCode": 200,
      "body": {
         "ProductID": 0,
         "Description": "Organic Apples"
      },
      "headers": {
         "x-ms-date": "@utcnow()",
         "content-type": "application/json"
      }
   },
   "runAfter": {}
}

制限事項Restrictions

他のアクションとは異なり、Response アクションには特別な制限があります。Unlike other actions, the Response action has special restrictions:

  • ワークフローで Response アクションを使用できるのは、ワークフローが HTTP 要求トリガーで始まる場合だけです。つまり、ワークフローは HTTP 要求によってトリガーされる必要があります。Your workflow can use the Response action only when the workflow starts with an HTTP request trigger, meaning your workflow must be triggered by an HTTP request.

  • Response アクションはワークフロー内のどの位置でも使用できます。例外は、Foreach ループ、Until ループ、順次ループ、並列分岐です。Your workflow can use the Response action anywhere except inside Foreach loops, Until loops, including sequential loops, and parallel branches.

  • 元の HTTP 要求でワークフローの応答が取得されるのは、Response アクションに必要なすべてのアクションが、HTTP 要求のタイムアウト期限内に終了した場合だけです。The original HTTP request gets your workflow's response only when all actions required by the Response action are finished within the HTTP request timeout limit.

    ただし、ワークフローが、入れ子になったワークフローとして別のロジック アプリを呼び出す場合、親ワークフローは、入れ子になったワークフローが終了するまで時間がどれだけ経過しても関係なく、入れ子になったワークフローが終了するまで待機します。However, if your workflow calls another logic app as a nested workflow, the parent workflow waits until the nested workflow finishes, no matter how much time passes before the nested workflow finishes.

  • ワークフローで Response アクションと同期応答パターンを使用している場合は、同時にトリガー定義で splitOn コマンドを使用することはできません。理由は、そのコマンドによって複数の実行が作成されるからです。When your workflow uses the Response action and a synchronous response pattern, the workflow can't also use the splitOn command in the trigger definition because that command creates multiple runs. PUT メソッドを使用する場合は、これに該当しているかどうかを確認し、該当している場合は、"bad request (無効な要求)" 応答を返します。Check for this case when the PUT method is used, and if true, return a "bad request" response.

    そうでない場合、ワークフローで splitOn コマンドと Response アクションを使用すると、ワークフローは非同期で実行され、"202 ACCEPTED" 応答が直ちに返されます。Otherwise, if your workflow uses the splitOn command and a Response action, the workflow runs asynchronously and immediately returns a "202 ACCEPTED" response.

  • ワークフローの実行が Response アクションに達したとき、受信要求が既に応答を受信している場合は、Response アクションは競合を理由に "Failed" とマークされます。When your workflow's execution reaches the Response action, but the incoming request has already received a response, the Response action is marked as "Failed" due to the conflict. その結果、ロジック アプリの実行も "Failed" 状態にマークされます。And as a result, your logic app run is also marked with "Failed" status.

選択アクションSelect action

指定したマップに基づいて別の配列の項目を変換することによって、JSON オブジェクトの配列を作成するアクションです。This action creates an array with JSON objects by transforming items from another array based on the specified map. 主力配列とソース配列は常に同じ数の項目を持ちます。The output array and source array always have the same number of items. 出力配列内のオブジェクトの数は変更できませんが、それらのオブジェクト全体にプロパティとプロパティの値を追加または削除できます。Although you can't change the number of objects in the output array, you can add or remove properties and their values across those objects. select プロパティには、ソース配列内の項目を変換するためのマップを定義する、キーと値のペアを少なくとも 1 つ指定します。The select property specifies at least one key-value pair that define the map for transforming items in the source array. キーと値のペアは、出力配列内のすべてのオブジェクトのプロパティとその値を表します。A key-value pair represents a property and its value across all the objects in the output array.

"Select": {
   "type": "Select",
   "inputs": {
      "from": <array>,
      "select": { 
          "<key-name>": "<expression>",
          "<key-name>": "<expression>"        
      }
   },
   "runAfter": {}
},

必須Required

Value 種類Type 説明Description
<array><array> ArrayArray ソース項目を渡す配列または式。The array or expression that provides the source items. 式は必ず二重引用符で囲みます。Make sure you enclose an expression with double quotes.

メモ:ソース配列が空の場合、アクションによって空の配列が作成されます。Note: If the source array is empty, the action creates an empty array.

<key-name><key-name> stringString <expression> の結果に割り当てられたプロパティ名The property name assigned to the result from <expression>

出力配列内のすべてのオブジェクトに新しいプロパティを追加するには、そのプロパティの <key-name> と、プロパティ値を表す <expression> を指定します。To add a new property across all objects in the output array, provide a <key-name> for that property and an <expression> for the property value.

あるプロパティを配列内のすべてのオブジェクトから削除するには、そのプロパティの <key-name> を省略します。To remove a property from all objects in the array, omit the <key-name> for that property.

<expression><expression> stringString ソース配列の項目を変換し、結果を <key-name> に代入する式The expression that transforms the item in the source array and assigns the result to <key-name>

Select アクションでは、出力として配列が作成されます。この出力を使用するアクションは、配列を受け入れるか、配列をコンシューマー アクションで受け入れられる型に変換する必要があります。The Select action creates an array as output, so any action that wants to use this output must either accept an array, or you must convert the array into the type that the consumer action accepts. たとえば、出力配列を文字列に変換する場合は、その配列を Compose アクションに渡し、Compose アクションからの出力を他のアクション内で参照することができます。For example, to convert the output array to a string, you can pass that array to the Compose action, and then reference the output from the Compose action in your other actions.

Example

このアクション定義では、整数の配列から JSON オブジェクトの配列を作成します。This action definition creates a JSON object array from an integer array. アクションはソース配列を反復処理し、式 @item() を使用して各整数値を取得すると、各値を各 JSON オブジェクトの "number" プロパティに割り当てます。The action iterates through the source array, gets each integer value by using the @item() expression, and assigns each value to the "number" property in each JSON object:

"Select": {
   "type": "Select",
   "inputs": {
      "from": [ 1, 2, 3 ],
      "select": { 
         "number": "@item()" 
      }
   },
   "runAfter": {}
},

このアクションで作成される配列は次のようになります。Here is the array that this action creates:

[ { "number": 1 }, { "number": 2 }, { "number": 3 } ]

この配列出力を他のアクション内で使用するには、この出力を Compose アクションに渡します。To use this array output in other actions, pass this output into a Compose action:

"Compose": {
   "type": "Compose",
   "inputs": "@body('Select')",
   "runAfter": {
      "Select": [ "Succeeded" ]
   }
},

Compose アクションからの出力を他のアクション内で使用できます。たとえば、Office 365 Outlook - メールの送信アクションで次のように使用します。You can then use the output from the Compose action in your other actions, for example, the Office 365 Outlook - Send an email action:

"Send_an_email": {
   "type": "ApiConnection",
   "inputs": {
      "body": {
         "Body": "@{outputs('Compose')}",
         "Subject": "Output array from Select and Compose actions",
         "To": "<your-email@domain>"
      },
      "host": {
         "connection": {
            "name": "@parameters('$connections')['office365']['connectionId']"
         }
      },
      "method": "post",
      "path": "/Mail"
   },
   "runAfter": {
      "Compose": [ "Succeeded" ]
   }
},

テーブル アクションTable action

配列から CSV または HTML のテーブルを作成します。This action creates a CSV or HTML table from an array. JSON オブジェクトを含む配列の場合、このアクションによって、オブジェクトのプロパティ名から列ヘッダーが自動的に作成されます。For arrays with JSON objects, this action automatically creates the column headers from the objects' property names. 他のデータ型を含む配列の場合、列ヘッダーと値をユーザーが指定する必要があります。For arrays with other data types, you must specify the column headers and values. たとえば、この配列には "ID" と "Product_Name" というプロパティが含まれます。これらのプロパティを、このアクションで列ヘッダーと名前として使用できます。For example, this array includes the "ID" and "Product_Name" properties that this action can use for the column header names:

[ {"ID": 0, "Product_Name": "Apples"}, {"ID": 1, "Product_Name": "Oranges"} ]

"Create_<CSV | HTML>_table": {
   "type": "Table",
   "inputs": {
      "format": "<CSV | HTML>",
      "from": <array>,
      "columns": [ 
         {
            "header": "<column-name>",
            "value": "<column-value>"
         },
         {
            "header": "<column-name>",
            "value": "<column-value>"
         } 
      ]
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<CSV または HTML><CSV or HTML> stringString 作成するテーブルの形式The format for the table you want to create
<array><array> ArrayArray テーブルのソース項目を渡す配列または式The array or expression that provides the source items for the table

メモ:ソース配列が空の場合、アクションによって空のテーブルが作成されます。Note: If the source array is empty, the action creates an empty table.

省略可能Optional

列ヘッダーと値を指定またはカスタマイズするには、columns 配列を使用します。To specify or customize column headers and values, use the columns array. ヘッダー名が同じ header-value のペアが複数ある場合、それらのペアの値は、そのヘッダー名の下の同じ列に表示されます。When header-value pairs have the same header name, their values appear in the same column under that header name. そうでない場合、一意のヘッダーごとに一意の列が定義されます。Otherwise, each unique header defines a unique column.

Value 種類Type 説明Description
<column-name><column-name> stringString 列のヘッダー名The header name for a column
<column-value><column-value> AnyAny その列に含まれる値The value in that column

例 1Example 1

あらかじめ作成した "myItemArray" という変数があり、現在は次の配列が格納されているとします。Suppose you have a previously created "myItemArray" variable that currently contains this array:

[ {"ID": 0, "Product_Name": "Apples"}, {"ID": 1, "Product_Name": "Oranges"} ]

このアクション定義では、"myItemArray" 変数から CSV テーブルを作成します。This action definition creates a CSV table from the "myItemArray" variable. from プロパティで使用している式によって、variables() 関数を使用して "myItemArray" から配列が取得されます。The expression used by the from property gets the array from "myItemArray" by using the variables() function:

"Create_CSV_table": {
   "type": "Table",
   "inputs": {
      "format": "CSV",
      "from": "@variables('myItemArray')"
   },
   "runAfter": {}
}

このアクションで作成される CSV テーブルは次のようになります。Here is the CSV table that this action creates:

ID,Product_Name 
0,Apples 
1,Oranges 

例 2Example 2

このアクション定義では、"myItemArray" 変数から HTML テーブルを作成します。This action definition creates an HTML table from the "myItemArray" variable. from プロパティで使用している式によって、variables() 関数を使用して "myItemArray" から配列が取得されます。The expression used by the from property gets the array from "myItemArray" by using the variables() function:

"Create_HTML_table": {
   "type": "Table",
   "inputs": {
      "format": "HTML",
      "from": "@variables('myItemArray')"
   },
   "runAfter": {}
}

このアクションで作成される HTML テーブルは次のようになります。Here is the HTML table that this action creates:

idIDProduct_NameProduct_Name
00ApplesApples
11OrangesOranges

例 3Example 3

このアクション定義では、"myItemArray" 変数から HTML テーブルを作成します。This action definition creates an HTML table from the "myItemArray" variable. ただし、この例では、既定の列ヘッダー名を "Stock_ID" と "Description" でオーバーライドし、"Description" 列の値に "Organic" という単語を追加します。However, this example overrides the default column header names with "Stock_ID" and "Description", and adds the word "Organic" to the values in the "Description" column.

"Create_HTML_table": {
   "type": "Table",
   "inputs": {
      "format": "HTML",
      "from": "@variables('myItemArray')",
      "columns": [ 
         {
            "header": "Stock_ID",
            "value": "@item().ID"
         },
         {
            "header": "Description",
            "value": "@concat('Organic ', item().Product_Name)"
         }
      ]
    },
   "runAfter": {}
},

このアクションで作成される HTML テーブルは次のようになります。Here is the HTML table that this action creates:

Stock_IDStock_ID説明Description
00Organic ApplesOrganic Apples
11Organic OrangesOrganic Oranges

終了アクションTerminate action

このアクションは、ワークフロー インスタンスの実行を停止し、進行中のすべてのアクションをキャンセルし、残りのアクションをすべてスキップして、指定された状態を返します。This action stops the run for a workflow instance, cancels any actions in progress, skips any remaining actions, and returns the specified status. たとえば、エラー状態のロジック アプリを完全に終了する必要があるときに、Terminate アクションを使用できます。For example, you can use the Terminate action when your logic app must exit completely from an error state. このアクションは、既に完了しているアクションには影響しません。また、順次ループを含めて、Foreach ループと Until ループの内部には指定できません。This action doesn't affect already completed actions and can't appear inside Foreach and Until loops, including sequential loops.

"Terminate": {
   "type": "Terminate",
   "inputs": {
       "runStatus": "<status>",
       "runError": {
            "code": "<error-code-or-name>",
            "message": "<error-message>"
       }
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<status><status> stringString 実行に関して返す状態: "Failed"、"Cancelled"、または "Succeeded"The status to return for the run: "Failed", "Cancelled", or "Succeeded"

省略可能Optional

"runStatus" オブジェクトのプロパティは、"runStatus" プロパティが "Failed" 状態に設定されている場合にのみ適用されます。The properties for the "runStatus" object apply only when the "runStatus" property is set to "Failed" status.

Value 種類Type 説明Description
<error-code-or-name><error-code-or-name> stringString コード、またはエラーの名前The code or name for the error
<error-message><error-message> stringString エラーとアプリ ユーザーが実行できる対処について説明したメッセージまたはテキストThe message or text that describes the error and any actions the app user can take

Example

このアクション定義では、ワークフローの実行を停止し、実行の状態を "Failed" に設定して、状態、エラー コード、およびエラー メッセージを返します。This action definition stops a workflow run, sets the run status to "Failed", and returns the status, an error code, and an error message:

"Terminate": {
    "type": "Terminate",
    "inputs": {
        "runStatus": "Failed",
        "runError": {
            "code": "Unexpected response",
            "message": "The service received an unexpected response. Please try again."
        }
   },
   "runAfter": {}
}

待機アクションWait action

指定の期間または指定の時刻まで (両方は不可)、ワークフローの実行を一時停止するアクションです。This action pauses workflow execution for the specified interval or until the specified time, but not both.

指定の期間Specified interval

"Delay": {
   "type": "Wait",
   "inputs": {
      "interval": {
         "count": <number-of-units>,
         "unit": "<interval>"
      }
   },
   "runAfter": {}
},

指定の時刻Specified time

"Delay_until": {
   "type": "Wait",
   "inputs": {
      "until": {
         "timestamp": "<date-time-stamp>"
      }
   },
   "runAfter": {}
},

必須Required

Value 種類Type 説明Description
<number-of-units><number-of-units> 整数Integer Delay アクションで待機する単位数For the Delay action, the number of units to wait
<interval><interval> stringString Delay アクションで待機する期間: "Second"、"Minute"、"Hour"、"Day"、"Week"、"Month"For the Delay action, the interval to wait: "Second", "Minute", "Hour", "Day", "Week", "Month"
<date-time-stamp><date-time-stamp> stringString Delay Until アクションで実行を再開する日時。For the Delay Until action, the date and time to resume execution. この値には UTC の日付と時刻の形式を指定する必要があります。This value must use the UTC date time format.

例 1Example 1

このアクション定義では、ワークフローを 15 分間一時停止します。This action definition pauses the workflow for 15 minutes:

"Delay": {
   "type": "Wait",
   "inputs": {
      "interval": {
         "count": 15,
         "unit": "Minute"
      }
   },
   "runAfter": {}
},

例 2Example 2

このアクション定義では、ワークフローを指定時刻まで一時停止します。This action definition pauses the workflow until the specified time:

"Delay_until": {
   "type": "Wait",
   "inputs": {
      "until": {
         "timestamp": "2017-10-01T00:00:00Z"
      }
   },
   "runAfter": {}
},

ワークフロー アクションWorkflow action

あらかじめ作成した別のロジック アプリを呼び出すアクションです。つまり、他のロジック アプリのワークフローを挿入して再利用することができます。This action calls another previously created logic app, which means you can include and reuse other logic app workflows. 子または入れ子になったロジック アプリからの出力を、入れ子になったロジック アプリに続くアクション内で使用することもできます (ただし、子ロジック アプリから応答が返される場合に限る)。You can also use the outputs from the child or nested logic app in actions that follow the nested logic app, provided that the child logic app returns a response.

呼び出そうとしているトリガーへのアクセスが Logic Apps エンジンによってチェックされます。そのトリガーにアクセスできることを確認してください。The Logic Apps engine checks access to the trigger you want to call, so make sure you can access that trigger. また、入れ子になったロジック アプリは、以下の条件を満たす必要があります。Also, the nested logic app must meet these criteria:

  • 入れ子になったロジック アプリをトリガー (RequestHTTP トリガーなど) によって呼び出し可能にしますA trigger makes the nested logic app callable, such as a Request or HTTP trigger

  • 親ロジック アプリと同じ Azure サブスクリプションThe same Azure subscription as your parent logic app

  • 入れ子になったロジック アプリからの出力を親ロジック アプリ内で使用するには、入れ子になったロジック アプリに Response アクションが必要ですTo use the outputs from the nested logic app in your parent logic app, the nested logic app must have a Response action

"<nested-logic-app-name>": {
   "type": "Workflow",
   "inputs": {
      "body": { "<body-content" },
      "headers": { "<header-content>" },
      "host": {
         "triggerName": "<trigger-name>",
         "workflow": {
            "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group>/providers/Microsoft.Logic/<nested-logic-app-name>"
         }
      }
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<nested-logic-app-name><nested-logic-app-name> stringString 呼び出す対象のロジック アプリの前The name for the logic app you want to call
<trigger-name><trigger-name> stringString 入れ子になったロジック アプリ内の、呼び出す対象のトリガーの名前The name for the trigger in the nested logic app you want to call
<Azure-subscription-ID><Azure-subscription-ID> stringString 入れ子になったロジック アプリの Azure サブスクリプション IDThe Azure subscription ID for the nested logic app
<Azure-resource-group><Azure-resource-group> stringString 入れ子になったロジック アプリの Azure リソース グループ名The Azure resource group name for the nested logic app
<nested-logic-app-name><nested-logic-app-name> stringString 呼び出す対象のロジック アプリの前The name for the logic app you want to call

省略可能Optional

Value 種類Type 説明Description
<header-content><header-content> JSON オブジェクトJSON Object 呼び出しで送信するヘッダーAny headers to send with the call
<body-content><body-content> JSON オブジェクトJSON Object 呼び出しで送信するメッセージの内容Any message content to send with the call

OutputsOutputs

このアクションの出力は、入れ子になったロジック アプリの Response アクションに応じて異なります。This action's outputs vary based on the nested logic app's Response action. 入れ子になったロジック アプリに Response アクションが含まれていない場合、出力は空です。If the nested logic app doesn't include a Response action, the outputs are empty.

Example

このワークフロー アクション定義では、"Start_search" アクションが正常に完了した後、"Get_product_information" という名前の別のロジック アプリを呼び出して、指定した入力を渡します。After the "Start_search" action finishes successfully, this workflow action definition calls another logic app named "Get_product_information", which passes in the specified inputs:

"actions": {
   "Start_search": { <action-definition> },
   "Get_product_information": {
      "type": "Workflow",
      "inputs": {
         "body": {
            "ProductID": "24601",
         },
         "host": {
            "id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/InventoryManager-RG/providers/Microsoft.Logic/Get_product_information",
            "triggerName": "Find_product"
         },
         "headers": {
            "content-type": "application/json"
         }
      },
      "runAfter": { 
         "Start_search": [ "Succeeded" ]
      }
   }
},

ワークフローを制御するアクションの詳細Control workflow action details

Foreach アクションForeach action

このループ アクションでは、配列を反復処理し、配列の各項目に対してアクションを実行します。This looping action iterates through an array and performs actions on each array item. 既定では、"for each" ループはループの最大数まで並行して実行されます。By default, the "for each" loop runs in parallel up to a maximum number of loops. この最大値については、制限と構成に関するセクションを参照してください。"for each" ループを作成する方法については、こちらを参照してくださいFor this maximum, see Limits and config. Learn how to create "for each" loops.

"For_each": {
   "type": "Foreach",
   "actions": { 
      "<action-1>": { "<action-definition-1>" },
      "<action-2>": { "<action-definition-2>" }
   },
   "foreach": "<for-each-expression>",
   "runAfter": {},
   "runtimeConfiguration": {
      "concurrency": {
         "repetitions": <count>
      }
    },
    "operationOptions": "<operation-option>"
}

必須Required

Value 種類Type 説明Description
<action-1...n><action-1...n> stringString 配列の各項目に対して実行するアクションの名前The names of the actions that run on each array item
<action-definition-1...n><action-definition-1...n> JSON オブジェクトJSON Object 実行するアクションの定義The definitions of the actions that run
<for-each-expression><for-each-expression> stringString 指定した配列内の各項目を参照する式The expression that references each item in the specified array

省略可能Optional

Value 種類Type 説明Description
<count><count> 整数Integer 既定では、"for each" ループの反復処理は、既定の制限に達するまでは同時に (並行して) 実行されます。By default, the "for each" loop iterations run at the same time, or in parallel up to the default limit. この制限を変更するには、新しい <count> 値を設定します。「"for each" のコンカレンシーを変更する」を参照してください。To change this limit by setting a new <count> value, see Change "for each" loop concurrency.
<operation-option><operation-option> stringString "for each" ループを並行してではなく順次実行するには、<operation-option> を Sequential に設定するか、<count> を 1 に設定します。両方を設定することはできません。To run a "for each" loop sequentially, rather than in parallel, set either <operation-option> to Sequential or <count> to 1, but not both. 詳細については、「"for each" ループを順次実行する」を参照してください。For more information, see Run "for each" loops sequentially.

Example

この "for each" ループでは、配列の項目ごとに、受信メールに付いていた添付ファイルを含む電子メールを送信します。This "for each" loop sends an email for each item in the array, which contains attachments from an incoming email. このループでは、添付ファイルのレビュー担当者に、添付ファイルを含む電子メールを送信します。The loop sends an email, including the attachment, to a person who reviews the attachment.

"For_each": {
   "type": "Foreach",
   "actions": {
      "Send_an_email": {
         "type": "ApiConnection",
         "inputs": {
            "body": {
               "Body": "@base64ToString(items('For_each')?['Content'])",
               "Subject": "Review attachment",
               "To": "Sophie.Owen@contoso.com"
                },
            "host": {
               "connection": {
                  "id": "@parameters('$connections')['office365']['connectionId']"
               }
            },
            "method": "post",
            "path": "/Mail"
         },
         "runAfter": {}
      }
   },
   "foreach": "@triggerBody()?['Attachments']",
   "runAfter": {}
}

トリガーからの出力として渡される配列のみを指定するには、この式でトリガー本文から <array-name> 配列を取得します。To specify only an array that is passed as output from the trigger, this expression gets the <array-name> array from the trigger body. 配列が存在しない場合のエラーを回避するために、式では ? 演算子を使用しています。To avoid a failure if the array doesn't exist, the expression uses the ? operator:

@triggerBody()?['<array-name>']

If アクションIf action

このアクションは条件付きステートメントです。条件を表す式を評価し、条件が true であるか false であるかに基づいて、異なる分岐を実行します。This action, which is a conditional statement, evaluates an expression that represents a condition and runs a different branch based on whether the condition is true or false. 条件が true の場合、条件は "Succeeded" 状態とマークされます。If the condition is true, the condition is marked with "Succeeded" status. 条件付きステートメントを作成する方法については、こちらを参照してくださいLearn how to create conditional statements.

"Condition": {
   "type": "If",
   "expression": { "<condition>" },
   "actions": {
      "<action-1>": { "<action-definition>" }
   },
   "else": {
      "actions": {
        "<action-2>": { "<action-definition" }
      }
   },
   "runAfter": {}
}
Value 種類Type 説明Description
<condition><condition> JSON オブジェクトJSON Object 評価する条件 (式にすることもできます)The condition, which can be an expression, to evaluate
<action-1><action-1> JSON オブジェクトJSON Object <condition> が true と評価された場合に実行するアクションThe action to run when <condition> evaluates to true
<action-definition><action-definition> JSON オブジェクトJSON Object アクションの定義The definition for the action
<action-2><action-2> JSON オブジェクトJSON Object <condition> が false と評価された場合に実行するアクションThe action to run when <condition> evaluates to false

actions オブジェクトまたは else オブジェクト内のアクションで取得される状態は、次のとおりです。The actions in the actions or else objects get these statuses:

  • "Succeeded": 実行して成功した場合"Succeeded" when they run and succeed
  • "Failed": 実行して失敗した場合"Failed" when they run and fail
  • "Skipped": それぞれの分岐が実行されない場合"Skipped" when the respective branch doesn't run

Example

この条件では、整数型の変数が 0 より大きい値を持つときに、ワークフローが Web サイトをチェックすることを指定しています。This condition specifies that when the integer variable has a value greater than zero, the workflow checks a website. 変数が 0 以下の場合、ワークフローは別の Web サイトをチェックします。If the variable is zero or less, the workflow checks a different website.

"Condition": {
   "type": "If",
   "expression": {
      "and": [ {
         "greater": [ "@variables('myIntegerVariable')", 0 ] 
      } ]
   },
   "actions": { 
      "HTTP - Check this website": {
         "type": "Http",
         "inputs": {
         "method": "GET",
            "uri": "http://this-url"
         },
         "runAfter": {}
      }
   },
   "else": {
      "actions": {
         "HTTP - Check this other website": {
            "type": "Http",
            "inputs": {
               "method": "GET",
               "uri": "http://this-other-url"
            },
            "runAfter": {}
         }
      }
   },
   "runAfter": {}
}

条件で式を使用する方法How conditions use expressions

条件で式を使用する方法の例を次に示します。Here are some examples that show how you can use expressions in conditions:

JSONJSON 結果Result
"expression": "@parameters('<hasSpecialAction>')""expression": "@parameters('<hasSpecialAction>')" ブール式の場合に限り、値が true と評価されれば条件が満たされます。For Boolean expressions only, the condition passes for any value that evaluates to true.

他の型をブール値に変換するには、empty() または equals() 関数を使用します。To convert other types to Boolean, use these functions: empty() or equals().

"expression": "@greater(actions('<action>').output.value, parameters('<threshold>'))""expression": "@greater(actions('<action>').output.value, parameters('<threshold>'))" 比較関数の場合、<action> からの出力が <threshold> の値よりも大きい場合にのみ、アクションが実行されます。For comparison functions, the action runs only when the output from <action> is more than the <threshold> value.
"expression": "@or(greater(actions('<action>').output.value, parameters('<threshold>')), less(actions('<same-action>').output.value, 100))""expression": "@or(greater(actions('<action>').output.value, parameters('<threshold>')), less(actions('<same-action>').output.value, 100))" ロジック関数の場合、入れ子になったブール式を作成すると、<action> からの出力が <threshold> の値より大きいか 100 を下回る場合にのみ、アクションが実行されます。For logic functions and creating nested Boolean expressions, the action runs when the output from <action> is more than the <threshold> value or under 100.
"expression": "@equals(length(actions('<action>').outputs.errors), 0))""expression": "@equals(length(actions('<action>').outputs.errors), 0))" 配列に項目が存在するかどうかを確認するには、配列関数を使用できます。You can use array functions for checking whether the array has any items. アクションは errors 配列が空のときに実行されます。The action runs when the errors array is empty.

スコープ アクションScope action

アクションをスコープとして論理的にグループ化するアクションです。スコープ内のアクションの実行が終了すると、スコープ独自の状態が取得されます。This action logically groups actions into scopes, which get their own status after the actions in that scope finish running. その後はスコープの状態を使用して、他のアクションを実行するかどうかを判断できます。You can then use the scope's status to determine whether other actions run. スコープを作成する方法については、こちらを参照してくださいLearn how to create scopes.

"Scope": {
   "type": "Scope",
   "actions": {
      "<inner-action-1>": {
         "type": "<action-type>",
         "inputs": { "<action-inputs>" },
         "runAfter": {}
      },
      "<inner-action-2>": {
         "type": "<action-type>",
         "inputs": { "<action-inputs>" },
         "runAfter": {}
      }
   }
}

必須Required

Value 種類Type 説明Description
<inner-action-1...n><inner-action-1...n> JSON オブジェクトJSON Object スコープ内部で実行される 1 つ以上のアクションOne or more actions that run inside the scope
<action-inputs><action-inputs> JSON オブジェクトJSON Object 各アクションの入力The inputs for each action

switch アクションSwitch action

このアクションは switch ステートメントとも呼ばれます。他のアクションをケースとして整理し、既定のケース (存在する場合) を除く各ケースに値を割り当てるアクションです。This action, also known as a switch statement, organizes other actions into cases, and assigns a value to each case, except for the default case if one exists. ワークフローを実行すると、Switch アクションによって、式、オブジェクト、またはトークンの値が、各ケースに指定した値と比較されます。When your workflow runs, the Switch action compares the value from an expression, object, or token against the values specified for each case. 一致するケースが Switch アクションによって見つかった場合、ワークフローはそのケースに対してのみ実行されます。If the Switch action finds a matching case, your workflow runs only the actions for that case. Switch アクションが実行されるたびに、一致するケースが 1 つだけ存在するか、一致が存在しないかのどちらかになります。Each time the Switch action runs, either only one matching case exists or no matches exist. 一致が存在しない場合、Switch アクションの既定のアクションが実行されます。If no matches exist, the Switch action runs the default actions. switch ステートメントを作成する方法については、こちらを参照してくださいLearn how to create switch statements.

"Switch": {
   "type": "Switch",
   "expression": "<expression-object-or-token>",
   "cases": {
      "Case": {
         "actions": {
           "<action-name>": { "<action-definition>" }
         },
         "case": "<matching-value>"
      },
      "Case_2": {
         "actions": {
           "<action-name>": { "<action-definition>" }
         },
         "case": "<matching-value>"
      }
   },
   "default": {
      "actions": {
         "<default-action-name>": { "<default-action-definition>" }
      }
   },
   "runAfter": {}
}

必須Required

Value 種類Type 説明Description
<expression-object-or-token><expression-object-or-token> 多様Varies 評価する対象の式、JSON オブジェクト、またはトークンThe expression, JSON object, or token to evaluate
<action-name><action-name> stringString 一致するケースがある場合に実行するアクションの名前The name of the action to run for the matching case
<action-definition><action-definition> JSON オブジェクトJSON Object 一致するケースがある場合に実行するアクションの定義The definition for the action to run for the matching case
<matching-value><matching-value> 多様Varies 評価された結果と比較する値The value to compare with the evaluated result

省略可能Optional

Value 種類Type 説明Description
<default-action-name><default-action-name> stringString 一致するケースが存在しないときに実行する既定のアクションの名前The name of the default action to run when no matching case exists
<default-action-definition><default-action-definition> JSON オブジェクトJSON Object 一致するケースが存在しないときに実行するアクションの定義The definition for the action to run when no matching case exists

Example

このアクション定義では、承認要求の電子メールに応答した担当者が、"承認" オプションを選択したか、それとも "拒否" オプションを選択したかを評価します。This action definition evaluates whether the person responding to the approval request email selected the "Approve" option or the "Reject" option. この選択に基づいて、Switch アクションとして、一致するケースのアクションが実行されます。つまり、異なる文章を使用した別の電子メールを応答者に送信します。Based on this choice, the Switch action runs the actions for the matching case, which is to send another email to the responder but with different wording in each case.

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
            "Send_an_email": { 
               "type": "ApiConnection",
               "inputs": {
                  "Body": "Thank you for your approval.",
                  "Subject": "Response received", 
                  "To": "Sophie.Owen@contoso.com"
               },
               "host": {
                  "connection": {
                     "name": "@parameters('$connections')['office365']['connectionId']"
                  }
               },
               "method": "post",
               "path": "/Mail"
            },
            "runAfter": {}
         },
         "case": "Approve"
      },
      "Case_2": {
         "actions": {
            "Send_an_email_2": { 
               "type": "ApiConnection",
               "inputs": {
                  "Body": "Thank you for your response.",
                  "Subject": "Response received", 
                  "To": "Sophie.Owen@contoso.com"
               },
               "host": {
                  "connection": {
                     "name": "@parameters('$connections')['office365']['connectionId']"
                  }
               },
               "method": "post",
               "path": "/Mail"
            },
            "runAfter": {}     
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": { 
         "Send_an_email_3": { 
            "type": "ApiConnection",
            "inputs": {
               "Body": "Please respond with either 'Approve' or 'Reject'.",
               "Subject": "Please respond", 
               "To": "Sophie.Owen@contoso.com"
            },
            "host": {
               "connection": {
                  "name": "@parameters('$connections')['office365']['connectionId']"
               }
            },
            "method": "post",
            "path": "/Mail"
         },
         "runAfter": {} 
      }
   },
   "runAfter": {
      "Send_approval_email": [ 
         "Succeeded"
      ]
   }
}

Until アクションUntil action

このループ アクションには、指定した条件が true になるまで実行されるアクションが含まれています。This loop action contains actions that run until the specified condition is true. ループでは、他のすべてのアクションが実行された後に、最後のステップとして条件をチェックします。The loop checks the condition as the last step after all other actions have run. "actions" オブジェクトには複数のアクションを含めることができます。アクションには、少なくとも 1 つの制限を定義する必要があります。You can include more than one action in the "actions" object, and the action must define at least one limit. "until" ループを作成する方法については、こちらを参照してくださいLearn how to create "until" loops.

 "Until": {
   "type": "Until",
   "actions": {
      "<action-name>": {
         "type": "<action-type>",
         "inputs": { "<action-inputs>" },
         "runAfter": {}
      },
      "<action-name>": {
         "type": "<action-type>",
         "inputs": { "<action-inputs>" },
         "runAfter": {}
      }
   },
   "expression": "<condition>",
   "limit": {
      "count": <loop-count>,
      "timeout": "<loop-timeout>"
   },
   "runAfter": {}
}
Value 種類Type 説明Description
<action-name><action-name> stringString ループ内で実行するアクションの名前The name for the action you want to run inside the loop
<action-type><action-type> stringString 実行するアクションの種類The action type you want to run
<action-inputs><action-inputs> 各種Various アクションを実行するための入力The inputs for the action to run
<condition><condition> stringString ループ内のすべてのアクションの実行が終了した後に評価する条件または式The condition or expression to evaluate after all the actions in the loop finish running
<loop-count><loop-count> 整数Integer アクションで実行できる最大ループ回数に対する制限。The limit on the most number of loops that the action can run. count の既定値は 60 です。The default count value is 60.
<loop-timeout><loop-timeout> stringString ループを実行できる最長時間に対する制限。The limit on the longest time that the loop can run. timeout の既定値は PT1H です。これは、必須の ISO 8601 フォーマットです。The default timeout value is PT1H, which is the required ISO 8601 format.

Example

このループ アクション定義では、以下のいずれかの条件が満たされるまで、指定した URL に HTTP 要求を送信します。This loop action definition sends an HTTP request to the specified URL until one of these conditions is met:

  • 要求に対して状態コード "200 OK" の応答が返される。The request gets a response with the "200 OK" status code.
  • ループの実行回数が 60 回に達する。The loop has run 60 times.
  • ループの実行時間が 1 時間に達する。The loop has run for one hour.
 "Run_until_loop_succeeds_or_expires": {
    "type": "Until",
    "actions": {
        "HTTP": {
            "type": "Http",
            "inputs": {
                "method": "GET",
                "uri": "http://myurl"
            },
            "runAfter": {}
        }
    },
    "expression": "@equals(outputs('HTTP')['statusCode'], 200)",
    "limit": {
        "count": 60,
        "timeout": "PT1H"
    },
    "runAfter": {}
}

Webhook とサブスクリプションWebhooks and subscriptions

Webhook ベースのトリガーとアクションでは、エンドポイントの定期的なチェックは行わず、代わりに特定のイベントやエンドポイントのデータを待機します。Webhook-based triggers and actions don't regularly check endpoints, but wait for specific events or data at those endpoints instead. それらのトリガーとアクションでは、エンドポイントからの応答の送信先となるコールバック URL を指定することで、エンドポイントを登録します。These triggers and actions subscribe to the endpoints by providing a callback URL where the endpoint can send responses.

subscribe 呼び出しは、ワークフローに何らかの変更があったとき (たとえば、資格情報が更新されたときや、トリガーまたはアクションの入力パラメーターが変更されたとき) に行われます。The subscribe call happens when the workflow changes in any way, for example, when credentials are renewed, or when the input parameters change for a trigger or action. この呼び出しでは、標準の HTTP アクションと同じパラメーターを使用します。This call uses the same parameters as standard HTTP actions.

unsubscribe 呼び出しは、以下のような操作によってトリガーまたはアクションが無効になると、自動的に行われます。The unsubscribe call automatically happens when an operation makes the trigger or action invalid, for example:

  • トリガーを削除または無効にする。Deleting or disabling the trigger.
  • ワークフローを削除または無効にする。Deleting or disabling the workflow.
  • サブスクリプションを削除または無効にする。Deleting or disabling the subscription.

これらの呼び出しをサポートするために、@listCallbackUrl() 式により、トリガーまたはアクション用の一意の "コールバック URL" が返されます。To support these calls, the @listCallbackUrl() expression returns a unique "callback URL" for the trigger or action. この URL は、サービスの REST API を使用するエンドポイントの一意識別子を表します。This URL represents a unique identifier for the endpoints that use the service's REST API. この関数のパラメーターは、webhook トリガーまたはアクションと同じです。The parameters for this function are the same as the webhook trigger or action.

非同期の継続時間を変更するChange asynchronous duration

トリガーとアクションの両方について、limit.timeout プロパティを追加することにより、非同期パターンの継続時間を特定の期間に制限できます。For both triggers and actions, you can limit the duration for the asynchronous pattern to a specific time interval by adding the limit.timeout property. そうすれば、特定の期間が経過した時点でアクションが終了していない場合、アクションの状態は ActionTimedOut コードを使って Cancelled としてマークされます。That way, if the action hasn't finished when the interval lapses, the action's status is marked as Cancelled with the ActionTimedOut code. timeout プロパティには ISO 8601 形式を使用します。The timeout property uses ISO 8601 format.

"<trigger-or-action-name>": {
   "type": "Workflow | Webhook | Http | ApiConnectionWebhook | ApiConnection",
   "inputs": {},
   "limit": {
      "timeout": "PT10S"
   },
   "runAfter": {}
}

実行時の構成設定Runtime configuration settings

トリガーまたはアクションの定義で runtimeConfiguration プロパティを使用して、トリガーとアクションの既定の実行時ビヘイビアーを変更できます。You can change the default runtime behavior for triggers and actions with these runtimeConfiguration properties in the trigger or action definition.

プロパティProperty 種類Type 説明Description トリガーまたはアクションTrigger or action
runtimeConfiguration.concurrency.runs 整数Integer 同時に、または並行して実行できるワークフロー インスタンスの数に対する既定の制限を変更します。Change the default limit on the number of workflow instances that can run at the same time, or in parallel. この値を使用して、バックエンド システムが受信する要求の数を制限できます。This value can help limit the number of requests that backend systems receive.

runs プロパティを 1 に設定すると、operationOptions プロパティを SingleInstance に設定したのと同じように機能します。Setting the runs property to 1 works the same way as setting the operationOptions property to SingleInstance. いずれか一方のプロパティを設定できます。両方を設定することはできません。You can set either property, but not both.

既定の制限を変更するには、「トリガーのコンカレンシーを変更する」または「インスタンスを順次トリガーする」を参照してください。To change the default limit, see Change trigger concurrency or Trigger instances sequentially.

すべてのトリガーAll triggers
runtimeConfiguration.concurrency.maximumWaitingRuns 整数Integer ワークフローが最大数の同時実行インスタンスを既に実行しているときに実行を待機できるワークフロー インスタンスの数に対する既定の制限を変更します。Change the default limit on the number of workflow instances that can wait to run when your workflow is already running the maximum concurrent instances. concurrency.runs プロパティでコンカレンシーの制限を変更できます。You can change the concurrency limit in the concurrency.runs property.

既定の制限を変更するには、「実行待機の制限を変更する」を参照してください。To change the default limit, see Change waiting runs limit.

すべてのトリガーAll triggers
runtimeConfiguration.concurrency.repetitions 整数Integer 同時に (並行して) 実行できる "for each" ループ繰り返し回数に対する既定の制限を変更します。Change the default limit on the number of "for each" loop iterations that can run at the same time, or in parallel.

repetitions プロパティを 1 に設定すると、operationOptions プロパティを SingleInstance に設定したのと同じように機能します。Setting the repetitions property to 1 works the same way as setting the operationOptions property to SingleInstance. いずれか一方のプロパティを設定できます。両方を設定することはできません。You can set either property, but not both.

既定の制限を変更するには、「"for each" のコンカレンシーを変更する」、または「"for each" ループを順次実行する」を参照してください。To change the default limit, see Change "for each" concurrency or Run "for each" loops sequentially.

アクション:Action:

ForeachForeach

runtimeConfiguration.paginationPolicy.minimumItemCount 整数Integer 改ページ位置の自動修正をサポートし、これが有効になっている特定のアクションの場合、この値により、取得する結果の最小数を指定します。For specific actions that support and have pagination turned on, this value specifies the minimum number of results to retrieve.

改ページ位置の自動修正を有効にするには、改ページ位置の自動修正によるデータ、アイテム、または結果の一括取得に関する記事を参照してくださいTo turn on pagination, see Get bulk data, items, or results by using pagination

アクション:多様Action: Varied
runtimeConfiguration.secureData.properties ArrayArray 多くのトリガーおよびアクションでは、これらの設定により、ロジック アプリの実行履歴から入力と出力のどちらかまたは両方が非表示になります。On many triggers and actions, these settings hide inputs, outputs, or both from the logic app's run history.

このデータをセキュリティで保護するには、実行履歴からの入力と出力の非表示に関するページを参照してください。To secure this data, see Hide inputs and outputs from run history.

ほとんどのトリガーとアクションMost triggers and actions
runtimeConfiguration.staticResult JSON オブジェクトJSON Object 静的結果をサポートし、その設定が有効になっているアクションの場合、staticResult オブジェクトには以下の属性があります。For actions that support and have the static result setting turned on, the staticResult object has these attributes:

- name。現在のアクションの静的結果の定義名を参照します。この名前は、ロジック アプリ ワークフローの definition 属性の staticResults 属性内に表示されます。- name, which references the current action's static result definition name, which appears inside the staticResults attribute in your logic app workflow's definition attribute. 詳細については、静的結果 - ワークフロー定義言語のスキーマ参照に関するページを参照してください。For more information, see Static results - Schema reference for Workflow Definition Language.

- staticResultOptions。現在のアクションに対して静的結果が Enabled であるかどうかを指定します。- staticResultOptions, which specifies whether static results are Enabled or not for the current action.

静的結果を有効にするには、「静的な結果を設定してモック データでロジック アプリをテストする」を参照してください。To turn on static results, see Test logic apps with mock data by setting up static results

アクション:多様Action: Varied

操作オプションOperation options

トリガーまたはアクションの定義で operationOptions プロパティを使用して、トリガーとアクションの既定のビヘイビアーを変更できます。You can change the default behavior for triggers and actions with the operationOptions property in trigger or action definition.

操作オプションOperation option 種類Type 説明Description トリガーまたはアクションTrigger or action
DisableAsyncPattern stringString HTTP ベースのアクションを非同期に実行するのではなく、同期的に実行します。Run HTTP-based actions synchronously, rather than asynchronously.

このオプションを設定するには、「アクションを同期的に実行する」を参照してください。To set this option, see Run actions synchronously.

アクション:Actions:

ApiConnection,ApiConnection,
HTTPHTTP,
応答Response

OptimizedForHighThroughput stringString 5 分あたりのアクション実行回数に対する既定の制限上限に変更します。Change the default limit on the number of action executions per 5 minutes to the maximum limit.

このオプションを設定するには、「高スループット モードで実行する」を参照してください。To set this option, see Run in high throughput mode.

すべてのアクションAll actions
Sequential stringString "for each" ループの反復処理を、すべて同時に並行して実行するのではなく、一度に 1 つずつ実行します。Run "for each" loop iterations one at a time, rather than all at the same time in parallel.

このオプションは、runtimeConfiguration.concurrency.repetitions プロパティを 1 に設定したのと同じように機能します。This option works the same way as setting the runtimeConfiguration.concurrency.repetitions property to 1. いずれか一方のプロパティを設定できます。両方を設定することはできません。You can set either property, but not both.

このオプションを設定するには、「"for each" ループを順次実行する」を参照してください。To set this option, see Run "for each" loops sequentially.

アクション:Action:

ForeachForeach

SingleInstance stringString 各ロジック アプリ インスタンスのトリガーを順次実行し、直前のアクティブな実行が終了するまで待機してから、次のロジック アプリ インスタンスをトリガーします。Run the trigger for each logic app instance sequentially and wait for the previously active run to finish before triggering the next logic app instance.

このオプションは、runtimeConfiguration.concurrency.runs プロパティを 1 に設定したのと同じように機能します。This option works the same way as setting the runtimeConfiguration.concurrency.runs property to 1. いずれか一方のプロパティを設定できます。両方を設定することはできません。You can set either property, but not both.

このオプションを設定するには、「インスタンスを順次トリガーする」を参照してください。To set this option, see Trigger instances sequentially.

すべてのトリガーAll triggers

トリガーのコンカレンシーを変更するChange trigger concurrency

既定では、ロジック アプリ インスタンスは、既定の制限に達するまでは (同時に並行して) 実行されます。By default, logic app instances run at the same time (concurrently or in parallel) up to the default limit. そのため、先行するワークフロー インスタンスの実行が終了する前に、各トリガー インスタンスが起動します。So, each trigger instance fires before the preceding workflow instance finishes running. この制限を使用して、バックエンド システムが受信する要求の数を制限できます。This limit helps control the number of requests that backend systems receive.

既定の制限を変更するには、コード ビュー エディターまたは Logic Apps デザイナーのどちらを使用してもかまいません。コンカレンシーの設定をデザイナーから変更すると、基になるトリガー定義において runtimeConfiguration.concurrency.runs プロパティの追加または更新が行われるからです (または、その逆も行われます)。To change the default limit, you can use either the code view editor or Logic Apps Designer because changing the concurrency setting through the designer adds or updates the runtimeConfiguration.concurrency.runs property in the underlying trigger definition and vice versa. このプロパティは、並行して実行できるワークフロー インスタンスの最大数を制御します。This property controls the maximum number of workflow instances that can run in parallel. コンカレンシー制御を使用する場合の考慮事項のいくつかを次に示します。Here are some considerations when you use the concurrency control:

  • コンカレンシーが有効になっている間は、実行時間の長いロジック アプリ インスタンスによって、新しいロジック アプリ インスタンスが待機状態になることがあります。While concurrency is enabled, a long-running logic app instance might cause new logic app instances to enter a waiting state. この状態により、Azure Logic Apps で新しいインスタンスが作成されなくなります。この状態は、同時実行の数が、指定された同時実行の最大数よりも少ない場合でも発生します。This state prevents Azure Logic Apps from creating new instances and happens even when the number of concurrent runs is less than the specified maximum number of concurrent runs.

    • この状態を中断するには、"まだ実行されている" インスタンスのうち最も古いものを取り消します。To interrupt this state, cancel the earliest instances that are still running.

      1. ロジック アプリのメニューで、 [概要] を選択します。On your logic app's menu, select Overview.

      2. [実行履歴] セクションで、次の例のように、まだ実行されているインスタンスのうち最も古いものを選択します。In the Runs history section, select the earliest instance that is still running, for example:

        最も古い実行中インスタンスの選択

        ヒント

        まだ実行されているインスタンスだけを表示するには、 [すべて] の一覧を開き、 [実行中] を選択します。To view only instances that are still running, open the All list, and select Running.

      3. [ロジック アプリの実行] で、 [実行の取り消し] を選択します。Under Logic app run, select Cancel run.

        最も古い実行中インスタンスの検索

    • この可能性を回避するには、これらの実行を保持する可能性のある任意のアクションにタイムアウトを追加します。To work around this possibility, add a timeout to any action that might hold up these runs. コード エディターで作業している場合は、「非同期の継続時間を変更する」を参照してください。If you're working in the code editor, see Change asynchronous duration. それ以外の場合で、デザイナーを使用している場合は、次の手順に従います。Otherwise, if you're using the designer, follow these steps:

      1. ロジック アプリのタイムアウトを追加するアクションで、右上隅にある省略記号 ( [...] ) ボタンを選択し、 [設定] を選択します。In your logic app, on the action where you want to add a timeout, in the upper-right corner, select the ellipses (...) button, and then select Settings.

        アクションの設定を開く

      2. [タイムアウト] の下で、タイムアウト期間を ISO 8601 形式で指定します。Under Timeout, specify the timeout duration in ISO 8601 format.

        タイムアウト期間の指定

  • ロジック アプリを順番に実行する場合は、コード ビュー エディターまたはデザイナーを使用して、トリガーのコンカレンシーを 1 に設定できます。If you want to run your logic app sequentially, you can set the trigger's concurrency to 1 either by using the code view editor or the designer. ただし、コード ビュー エディターでは、トリガーの operationOptions プロパティを SingleInstance に設定しないでください。However, don't also set the trigger's operationOptions property to SingleInstance in the code view editor. これに従わないと、検証エラーになります。Otherwise, you get a validation error. 詳細については、「インスタンスを順次トリガーする」を参照してください。For more information, see Trigger instances sequentially.

コード ビューで編集するEdit in code view

基になるトリガー定義において、runtimeConfiguration.concurrency.runs プロパティを、1 から 50 までの値に設定して追加または更新します。In the underlying trigger definition, add or update the runtimeConfiguration.concurrency.runs property to a value between 1 and 50 inclusively.

同時実行を 10 個のインスタンスに制限する例を次に示します。Here is an example that limits concurrent runs to 10 instances:

"<trigger-name>": {
   "type": "<trigger-name>",
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>,
   },
   "runtimeConfiguration": {
      "concurrency": {
         "runs": 10
      }
   }
}

Logic Apps デザイナーで編集するEdit in Logic Apps Designer

  1. トリガーの右上隅の省略記号 (...) ボタンを選択し、 [設定] を選択します。In the trigger's upper-right corner, choose the ellipses (...) button, and then choose Settings.

  2. [コンカレンシー制御] で、 [Limit](限度)[オン] に設定します。Under Concurrency Control, set Limit to On.

  3. [並列処理の次数] スライダーをドラッグして必要な値に設定します。Drag the Degree of Parallelism slider to the value you want. ロジック アプリを順番に実行するには、スライダーの値を 1 にドラッグします。To run your logic app sequentially, drag the slider value to 1.

"for each" のコンカレンシーを変更するChange "for each" concurrency

既定では、"for each" ループの反復処理は、既定の制限に達するまでは同時に (並行して) 実行されます。By default, "for each" loop iterations run at the same time, or in parallel, up to the default limit. 既定の制限を変更するには、コード ビュー エディターまたは Logic Apps デザイナーのどちらを使用してもかまいません。コンカレンシーの設定をデザイナーから変更すると、基になる "for each" アクション定義において runtimeConfiguration.concurrency.repetitions プロパティの追加または更新が行われるからです (または、その逆も行われます)。To change the default limit, you can use either the code view editor or Logic Apps Designer because changing the concurrency setting through the designer adds or updates the runtimeConfiguration.concurrency.repetitions property in the underlying "for each" action definition and vice versa. このプロパティでは、並行して実行できる反復処理の最大数を制御します。This property controls the maximum number of iterations that can run in parallel.

注意

デザイナーまたはコード ビュー エディターを使用して "for each" アクションの順次実行を設定する場合、コード ビュー エディターでアクションの operationOptions プロパティを Sequential に設定しないでください。If you set the "for each" action to run sequentially either by using the designer or the code view editor, don't set the action's operationOptions property to Sequential in the code view editor. これに従わないと、検証エラーになります。Otherwise, you get a validation error. 詳細については、「"for each" ループを順次実行する」を参照してください。For more information, see Run "for each" loops sequentially.

コード ビューで編集するEdit in code view

基になる "for each" 定義において、runtimeConfiguration.concurrency.repetitions プロパティを、1 から 50 までの値に設定して追加または更新します。In the underlying "for each" definition, add or update the runtimeConfiguration.concurrency.repetitions property to a value between 1 and 50 inclusively.

同時実行を 10 個の反復処理に制限する例を次に示します。Here is an example that limits concurrent runs to 10 iterations:

"For_each" {
   "type": "Foreach",
   "actions": { "<actions-to-run>" },
   "foreach": "<for-each-expression>",
   "runAfter": {},
   "runtimeConfiguration": {
      "concurrency": {
         "repetitions": 10
      }
   }
}

Logic Apps デザイナーで編集するEdit in Logic Apps Designer

  1. For each アクションの右上隅で省略記号 (...) ボタンを選択し、 [設定] を選択します。In the For each action, from the upper-right corner, choose the ellipses (...) button, and then choose Settings.

  2. [コンカレンシー制御] で、 [コンカレンシー制御][オン] に設定します。Under Concurrency Control, set Concurrency Control to On.

  3. [並列処理の次数] スライダーをドラッグして必要な値に設定します。Drag the Degree of Parallelism slider to the value you want. ロジック アプリを順番に実行するには、スライダーの値を 1 にドラッグします。To run your logic app sequentially, drag the slider value to 1.

実行待機の制限を変更するChange waiting runs limit

既定では、ワークフロー インスタンスは、既定の制限に達するまではすべて同時に、または並行して実行されます。By default, logic app workflow instances all run at the same time, concurrently, or in parallel up to the default limit. 直前のアクティブなロジック アプリ インスタンスが実行を終了する前に、各トリガー インスタンスが起動します。Each trigger instance fires before the previously active workflow instance finishes running. この既定の制限は変更できますが、ワークフロー インスタンスの数が新しいコンカレンシーの制限に達すると、他の新しいインスタンスは実行を待機する必要があります。Although you can change this default limit, when the number of workflow instances reaches the new concurrency limit, any other new instances must wait to run.

待機できる実行の数にも既定の制限があり、既定の制限は変更できます。The number of runs that can wait also has a default limit, which you can change. ただし、ロジック アプリが実行待機の制限に達すると、Logic Apps エンジンで新しい実行が受け付けられなくなります。However, after your logic app reaches the limit on waiting runs, the Logic Apps engine no longer accepts new runs. 要求と webhook のトリガーは 429 エラーを返し、繰り返しトリガーによるポーリングの試行がスキップされ始めます。Request and webhook triggers return 429 errors, and recurring triggers start skipping polling attempts.

実行待機に関する既定の制限を変更するには、基になるトリガー定義において、0 から 100 までの値を含む runtimeConfiguration.concurency.maximumWaitingRuns プロパティを追加します。To change the default limit on waiting runs, in the underlying trigger definition, add the runtimeConfiguration.concurency.maximumWaitingRuns property with a value between 0 and 100.

"<trigger-name>": {
   "type": "<trigger-name>",
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>,
   },
   "runtimeConfiguration": {
      "concurrency": {
         "maximumWaitingRuns": 50
      }
   }
}

インスタンスを順次トリガーするTrigger instances sequentially

各ロジック アプリ ワークフロー インスタンスを、必ず直前のインスタンスの実行が終了してから実行するには、トリガーの順次実行を設定します。To run each logic app workflow instance only after the previous instance finishes running, set the trigger to run sequentially. コード ビュー エディターまたは Logic Apps デザイナーのどちらを使用してもかまいません。コンカレンシーの設定をデザイナーから変更すると、基になるトリガー定義において runtimeConfiguration.concurrency.runs プロパティの追加または更新が行われるからです (または、その逆も行われます)。You can use either the code view editor or Logic Apps Designer because changing the concurrency setting through designer also adds or updates the runtimeConfiguration.concurrency.runs property in the underlying trigger definition and vice versa.

注意

デザイナーまたはコード ビュー エディターを使用してトリガーの順次実行を設定する場合、コード ビュー エディターでトリガーの operationOptions プロパティを Sequential に設定しないでください。When you set a trigger to run sequentially either by using the designer or the code view editor, don't set the trigger's operationOptions property to Sequential in the code view editor. これに従わないと、検証エラーになります。Otherwise, you get a validation error.

コード ビューで編集するEdit in code view

トリガー定義において、以下のプロパティのどちらか一方を設定します。両方を設定することはできません。In the trigger definition, set either of these properties, but not both.

runtimeConfiguration.concurrency.runs プロパティを 1 に設定します。Set the runtimeConfiguration.concurrency.runs property to 1:

"<trigger-name>": {
   "type": "<trigger-name>",
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>,
   },
   "runtimeConfiguration": {
      "concurrency": {
         "runs": 1
      }
   }
}

- または --or-

operationOptions プロパティを SingleInstance に設定します。Set the operationOptions property to SingleInstance:

"<trigger-name>": {
   "type": "<trigger-name>",
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>,
   },
   "operationOptions": "SingleInstance"
}

Logic Apps デザイナーで編集するEdit in Logic Apps Designer

  1. トリガーの右上隅の省略記号 (...) ボタンを選択し、 [設定] を選択します。In the trigger's upper-right corner, choose the ellipses (...) button, and then choose Settings.

  2. [コンカレンシー制御] で、 [Limit](限度)[オン] に設定します。Under Concurrency Control, set Limit to On.

  3. [並列処理の次数] スライダーをドラッグして数値 1 に設定します。Drag the Degree of Parallelism slider to the number 1.

"for each" ループを順次実行するRun "for each" loops sequentially

"for each" ループを、必ず直前の反復処理の実行が終了してから実行するには、"for each" アクションの順次実行を設定します。To run a "for each" loop iteration only after the previous iteration finishes running, set the "for each" action to run sequentially. コード ビュー エディターまたは Logic Apps デザイナーのどちらを使用してもかまいません。アクションのコンカレンシーの設定をデザイナーから変更すると、基になるアクション定義において runtimeConfiguration.concurrency.repetitions プロパティの追加または更新が行われるからです (または、その逆も行われます)。You can use either the code view editor or Logic Apps Designer because changing the action's concurrency through designer also adds or updates the runtimeConfiguration.concurrency.repetitions property in the underlying action definition and vice versa.

注意

デザイナーまたはコード ビュー エディターを使用して "for each" アクションの順次実行を設定する場合、コード ビュー エディターでアクションの operationOptions プロパティを Sequential に設定しないでください。When you set a "for each" action to run sequentially either by using the designer or code view editor, don't set the action's operationOptions property to Sequential in the code view editor. これに従わないと、検証エラーになります。Otherwise, you get a validation error.

コード ビューで編集するEdit in code view

アクション定義において、以下のプロパティのどちらか一方を設定します。両方を設定することはできません。In the action definition, set either of these properties, but not both.

runtimeConfiguration.concurrency.repetitions プロパティを 1 に設定します。Set the runtimeConfiguration.concurrency.repetitions property to 1:

"For_each" {
   "type": "Foreach",
   "actions": { "<actions-to-run>" },
   "foreach": "<for-each-expression>",
   "runAfter": {},
   "runtimeConfiguration": {
      "concurrency": {
         "repetitions": 1
      }
   }
}

- または --or-

operationOptions プロパティを Sequential に設定します。Set the operationOptions property to Sequential:

"For_each" {
   "type": "Foreach",
   "actions": { "<actions-to-run>" },
   "foreach": "<for-each-expression>",
   "runAfter": {},
   "operationOptions": "Sequential"
}

Logic Apps デザイナーで編集するEdit in Logic Apps Designer

  1. For each アクションの右上隅の省略記号 (...) ボタンを選択し、 [設定] を選択します。In the For each action's upper-right corner, choose the ellipses (...) button, and then choose Settings.

  2. [コンカレンシー制御] で、 [コンカレンシー制御][オン] に設定します。Under Concurrency Control, set Concurrency Control to On.

  3. [並列処理の次数] スライダーをドラッグして数値 1 に設定します。Drag the Degree of Parallelism slider to the number 1.

アクションを同期的に実行するRun actions synchronously

既定では、HTTP ベースのすべてのアクションは、標準的な非同期操作パターンに従います。By default, all HTTP-based actions follow the standard asynchronous operation pattern. このパターンは、HTTP ベースのアクションから指定したエンドポイントに要求を送信するときに、リモート サーバーから "202 ACCEPTED" 応答が返されることを指定します。This pattern specifies that when an HTTP-based action sends a request to the specified endpoint, the remote server sends back a "202 ACCEPTED" response. この応答は、処理の要求がサーバーで受け付けられたことを意味します。This reply means the server accepted the request for processing. Logic Apps エンジンは、処理が停止する (202 以外の応答) まで、応答の場所ヘッダーに指定された URL を継続的にチェックします。The Logic Apps engine keeps checking the URL specified by the response's location header until processing stops, which is any non-202 response.

ただし、要求にはタイムアウト制限があるため、長時間実行しているアクションについては、非同期ビヘイビアーを無効にすることができます。そのためには、アクションの入力において、operationOptions プロパティを追加して DisableAsyncPattern に設定します。However, requests have a timeout limit, so for long-running actions, you can disable the asynchronous behavior by adding and setting the operationOptions property to DisableAsyncPattern under the action's inputs.

"<some-long-running-action>": {
   "type": "Http",
   "inputs": { "<action-inputs>" },
   "operationOptions": "DisableAsyncPattern",
   "runAfter": {}
}

高スループット モードで実行するRun in high throughput mode

1 回のロジック アプリの定義において、5 分ごとに実行されるアクションの数には、既定の制限が設定されています。For a single logic app definition, the number of actions that execute every 5 minutes has a default limit. この上限を可能な最大数まで引き上げるには、operationOptions プロパティを OptimizedForHighThroughput に設定します。To raise this limit to the maximum possible, set the operationOptions property to OptimizedForHighThroughput. この設定により、ロジック アプリが "高スループット" モードになります。This setting puts your logic app into "high throughput" mode.

注意

高スループット モードはプレビュー段階です。High throughput mode is in preview. 必要に応じて複数のロジック アプリにワークロードを分散することもできます。You can also distribute a workload across more than one logic app as necessary.

"<action-name>": {
   "type": "<action-type>",
   "inputs": { "<action-inputs>" },
   "operationOptions": "OptimizedForHighThroughput",
   "runAfter": {}
}

HTTP トリガーとアクションを認証するAuthenticate HTTP triggers and actions

HTTP エンドポイントはさまざまな認証をサポートしています。HTTP endpoints support different kinds of authentication. 次の HTTP トリガーとアクションに対して認証を設定できます。You can set up authentication for these HTTP triggers and actions:

設定できる認証の種類は次のとおりです。Here are the kinds of authentication you can set up:

重要

ロジック アプリ ワークフロー定義で処理される機密情報を保護していることを確認します。Make sure you protect any sensitive information that your logic app workflow definition handles. セキュリティで保護されたパラメーターを使用し、必要に応じてデータをエンコードします。Use secured parameters and encode data as necessary. パラメーターの使用とセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about using and securing parameters, see Secure your logic app.

基本認証Basic authentication

Azure Active Directory を使用する基本認証では、トリガーまたはアクションの定義に、authentication JSON オブジェクトを含めることができます。このオブジェクトには、以下の表で指定されたプロパティがあります。For basic authentication by using Azure Active Directory, your trigger or action definition can include an authentication JSON object, which has the properties specified by the following table. 実行時にパラメーター値にアクセスする場合は、ワークフロー定義言語で提供される @parameters('parameterName') 式を使用できます。To access parameter values at runtime, you can use the @parameters('parameterName') expression, which is provided by the Workflow Definition Language.

プロパティProperty 必須Required Value 説明Description
typetype はいYes "Basic""Basic" 使用する認証の種類。ここでは "Basic" ですThe authentication type to use, which is "Basic" here
usernameusername はいYes "@parameters('userNameParam')""@parameters('userNameParam')" ターゲット サービス エンドポイントへのアクセスを認証するためのユーザー名The user name for authenticating access to the target service endpoint
passwordpassword はいYes "@parameters('passwordParam')""@parameters('passwordParam')" ターゲット サービス エンドポイントへのアクセスを認証するためのパスワードThe password for authenticating access to the target service endpoint

この HTTP アクション定義の例では、authentication セクションで Basic 認証が指定されます。In this example HTTP action definition, the authentication section specifies Basic authentication. パラメーターの使用とセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about using and securing parameters, see Secure your logic app.

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "https://www.microsoft.com",
      "authentication": {
         "type": "Basic",
         "username": "@parameters('userNameParam')",
         "password": "@parameters('passwordParam')"
      }
  },
  "runAfter": {}
}

重要

ロジック アプリ ワークフロー定義で処理される機密情報を保護していることを確認します。Make sure you protect any sensitive information that your logic app workflow definition handles. セキュリティで保護されたパラメーターを使用し、必要に応じてデータをエンコードします。Use secured parameters and encode data as necessary. パラメーターのセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about securing parameters, see Secure your logic app.

クライアント証明書認証Client Certificate authentication

Azure Active Directory を使用する証明書ベース認証では、トリガーまたはアクションの定義に authentication JSON オブジェクトを含めることができます。このオブジェクトには、以下の表で指定されたプロパティがあります。For certificate-based authentication using Azure Active Directory, your trigger or action definition can include an authentication JSON object, which has the properties specified by the following table. 実行時にパラメーター値にアクセスする場合は、ワークフロー定義言語で提供される @parameters('parameterName') 式を使用できます。To access parameter values at runtime, you can use the @parameters('parameterName') expression, which is provided by the Workflow Definition Language. 使用できるクライアント証明書の数の制限については、Azure Logic Apps の制限と構成に関するページを参照してください。For limits on the number of client certificates you can use, see Limits and configuration for Azure Logic Apps.

プロパティProperty 必須Required Value 説明Description
typetype はいYes "ClientCertificate""ClientCertificate" Secure Sockets Layer (SSL) クライアント証明書に使用する認証の種類。The authentication type to use for Secure Sockets Layer (SSL) client certificates. 自己署名証明書はサポートされていますが、SSL 用の自己署名証明書はサポートされていません。While self-signed certificates are supported, self-signed certificates for SSL aren't supported.
pfxpfx はいYes "@parameters('pfxParam')"@parameters('pfxParam') Base64 でエンコードされた Personal Information Exchange (PFX) ファイルのコンテンツThe base64-encoded content from a Personal Information Exchange (PFX) file
passwordpassword はいYes "@parameters('passwordParam')""@parameters('passwordParam')" PFX ファイルにアクセスするためのパスワードThe password for accessing the PFX file

この HTTP アクション定義の例では、authentication セクションで ClientCertificate 認証が指定されます。In this example HTTP action definition, the authentication section specifies ClientCertificate authentication. パラメーターの使用とセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about using and securing parameters, see Secure your logic app.

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "https://www.microsoft.com",
      "authentication": {
         "type": "ClientCertificate",
         "pfx": "@parameters('pfxParam')",
         "password": "@parameters('passwordParam')"
      }
   },
   "runAfter": {}
}

重要

ロジック アプリ ワークフロー定義で処理される機密情報を保護していることを確認します。Make sure you protect any sensitive information that your logic app workflow definition handles. セキュリティで保護されたパラメーターを使用し、必要に応じてデータをエンコードします。Use secured parameters and encode data as necessary. パラメーターのセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about securing parameters, see Secure your logic app.

Azure Active Directory (AD) OAuth 認証Azure Active Directory (AD) OAuth authentication

Azure AD OAuth 認証では、トリガーまたはアクションの定義に authentication JSON オブジェクトを含めることができます。このオブジェクトには、以下の表で指定されたプロパティがあります。For Azure AD OAuth authentication, your trigger or action definition can include an authentication JSON object, which has the properties specified by the following table. 実行時にパラメーター値にアクセスする場合は、ワークフロー定義言語で提供される @parameters('parameterName') 式を使用できます。To access parameter values at runtime, you can use the @parameters('parameterName') expression, which is provided by the Workflow Definition Language.

プロパティProperty 必須Required Value 説明Description
typetype はいYes ActiveDirectoryOAuth 使用する認証の種類 (Azure AD OAuth の場合は "ActiveDirectoryOAuth")The authentication type to use, which is "ActiveDirectoryOAuth" for Azure AD OAuth
authorityauthority いいえNo <URL-for-authority-token-issuer><URL-for-authority-token-issuer> 認証トークンを提供する機関の URLThe URL for the authority that provides the authentication token
tenanttenant はいYes <tenant-ID><tenant-ID> Azure AD テナントのテナント IDThe tenant ID for the Azure AD tenant
audienceaudience はいYes <resource-to-authorize><resource-to-authorize> 承認で使用するリソース (https://management.core.windows.net/ など)The resource that you want to use for authorization, for example, https://management.core.windows.net/
clientIdclientId はいYes <client-ID><client-ID> 承認を要求しているアプリのクライアント IDThe client ID for the app requesting authorization
credentialTypecredentialType はいYes "Certificate" または "Secret""Certificate" or "Secret" クライアントが承認を要求するために使用する資格情報の種類。The credential type the client uses for requesting authorization. このプロパティと値は基の定義には出現しませんが、その資格情報の種類に必要なパラメーターが決まります。This property and value don't appear in your underlying definition, but determines the required parameters for the credential type.
pfxpfx はい (ただし資格情報の種類が "Certificate" の場合のみ)Yes, only for "Certificate" credential type "@parameters('pfxParam')"@parameters('pfxParam') Base64 でエンコードされた Personal Information Exchange (PFX) ファイルのコンテンツThe base64-encoded content from a Personal Information Exchange (PFX) file
passwordpassword はい (ただし資格情報の種類が "Certificate" の場合のみ)Yes, only for "Certificate" credential type "@parameters('passwordParam')""@parameters('passwordParam')" PFX ファイルにアクセスするためのパスワードThe password for accessing the PFX file
secretsecret はい (ただし資格情報の種類が "Secret" の場合のみ)Yes, only for "Secret" credential type "@parameters('secretParam')""@parameters('secretParam')" 承認を要求しているクライアント シークレットThe client secret for requesting authorization

この HTTP アクション定義の例では、authentication セクションで ActiveDirectoryOAuth 認証と "Secret" 資格情報の種類が指定されます。In this example HTTP action definition, the authentication section specifies ActiveDirectoryOAuth authentication and the "Secret" credential type. パラメーターの使用とセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about using and securing parameters, see Secure your logic app.

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "https://www.microsoft.com",
      "authentication": {
         "type": "ActiveDirectoryOAuth",
         "tenant": "72f988bf-86f1-41af-91ab-2d7cd011db47",
         "audience": "https://management.core.windows.net/",
         "clientId": "34750e0b-72d1-4e4f-bbbe-664f6d04d411",
         "secret": "@parameters('secretParam')"
     }
   },
   "runAfter": {}
}

重要

ロジック アプリ ワークフロー定義で処理される機密情報を保護していることを確認します。Make sure you protect any sensitive information that your logic app workflow definition handles. セキュリティで保護されたパラメーターを使用し、必要に応じてデータをエンコードします。Use secured parameters and encode data as necessary. パラメーターのセキュリティ保護の詳細については、ロジック アプリのセキュリティ保護に関するページを参照してください。For more information about securing parameters, see Secure your logic app.

次の手順Next steps