Referenční příručka schématu pro typy triggerů a akcí v Azure Logic AppsSchema reference guide for trigger and action types in Azure Logic Apps

Tento odkaz popisuje obecné typy používané k identifikaci triggerů a akcí v definici pracovního postupu vaší aplikace logiky, která je popsána a ověřována jazykem definice pracovního postupu.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. Pokud chcete najít triggery a akce konkrétního konektoru, které můžete použít ve svých aplikacích logiky, přečtěte si seznam v části Přehled konektorů.To find specific connector triggers and actions that you can use in your logic apps, see the list under the Connectors overview.

Přehled aktivačních událostíTriggers overview

Každý pracovní postup zahrnuje Trigger, který definuje volání, která vytvářejí instance a spouštějí pracovní postup.Every workflow includes a trigger, which defines the calls that instantiate and start the workflow. Tady jsou obecné kategorie aktivačních událostí:Here are the general trigger categories:

  • Aktivační událost cyklického dotazování , která kontroluje koncový bod služby v pravidelných intervalechA polling trigger, which checks a service's endpoint at regular intervals

  • Aktivační událost nabízených oznámení , která vytvoří předplatné koncového bodu a poskytuje adresu URL zpětného volání , takže koncový bod může upozornění aktivovat, když dojde k zadané události nebo jsou data k dispozici.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. Trigger potom počká na odpověď koncového bodu před jeho vypálením.The trigger then waits for the endpoint's response before firing.

Triggery mají tyto prvky nejvyšší úrovně, i když jsou některé volitelné: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>"
},

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<Název aktivační události><trigger-name> ŘetězecString Název triggeruThe name for the trigger
<typ triggeru><trigger-type> ŘetězecString Typ triggeru, například "http" nebo "vstupech apiconnection"The trigger type such as "Http" or "ApiConnection"
<aktivační události – vstupy><trigger-inputs> JSON – objektJSON Object Vstupy, které definují chování triggeruThe inputs that define the trigger's behavior
<Časová jednotka><time-unit> ŘetězecString Časová jednotka, která popisuje, jak často se Trigger aktivuje: "druhé", "Minute", "hodina", "den", "týden", "měsíc"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<počet jednotek v čase><number-of-time-units> IntegerInteger Hodnota, která určuje, jak často se Trigger aktivuje na základě frekvence, což je počet časových jednotek, které se mají počkat, dokud se Trigger znovu nespustí.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

Tady jsou minimální a maximální intervaly:Here are the minimum and maximum intervals:

-Month: 1-16 měsíců- Month: 1-16 months
Denní: 1-500 dní- Day: 1-500 days
-Hodina: 1 – 12000 hodin- Hour: 1-12,000 hours
-Minute: 1 – 72000 minut- Minute: 1-72,000 minutes
-Sekunda: 1 – 9999999 sekund- Second: 1-9,999,999 seconds

Pokud má například interval hodnotu 6 a frekvence je "Month", opakování je každých 6 měsíců.For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<pole s podmínkami><array-with-conditions> PoleArray Pole, které obsahuje jednu nebo více podmínek , které určují, zda má být pracovní postup spuštěn.An array that contains one or more conditions that determine whether to run the workflow. K dispozici pouze pro aktivační události.Available only for triggers.
<Runtime – konfigurace – možnosti><runtime-config-options> JSON – objektJSON Object Můžete změnit chování spuštění triggeru nastavením runtimeConfiguration vlastností.You can change trigger runtime behavior by setting runtimeConfiguration properties. Další informace najdete v tématu nastavení konfigurace modulu runtime.For more information, see Runtime configuration settings.
<splitOn – výraz><splitOn-expression> ŘetězecString U triggerů, které vracejí pole, můžete zadat výraz, který rozdělí nebo oddělí položky pole na více instancí pracovního postupu pro zpracování.For triggers that return an array, you can specify an expression that splits or debatches array items into multiple workflow instances for processing.
<operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

Seznam typů triggerůTrigger types list

Každý typ triggeru má jiné rozhraní a vstupy, které definují chování triggeru.Each trigger type has a different interface and inputs that define the trigger's behavior.

Předdefinované aktivační událostiBuilt-in triggers

Typ aktivační událostiTrigger type DescriptionDescription
HTTPHTTP Zkontroluje nebo provede dotazování libovolného koncového bodu.Checks or polls any endpoint. Tento koncový bod musí splňovat konkrétní kontrakt triggeru buď pomocí 202 asynchronního vzoru, nebo vrácením pole.This endpoint must conform to a specific trigger contract either by using a 202 asynchronous pattern or by returning an array.
HTTPWebhookHTTPWebhook Vytvoří pro vaši aplikaci logiky volatelné koncové body, ale zavolá zadanou adresu URL k registraci nebo zrušení registrace.Creates a callable endpoint for your logic app but calls the specified URL to register or unregister.
OpakováníRecurrence Aktivuje se na základě definovaného plánu.Fires based on a defined schedule. Můžete nastavit budoucí datum a čas pro aktivaci této aktivační události.You can set a future date and time for firing this trigger. Na základě frekvence můžete zadat také časy a dny pro spuštění pracovního postupu.Based on the frequency, you can also specify times and days for running your workflow.
ŽádostRequest Vytvoří pro vaši aplikaci logiky volatelné koncové body, které se taky označuje jako Trigger "ruční".Creates a callable endpoint for your logic app and is also known as a "manual" trigger. Podívejte se například na pracovní postupy volání, Trigger nebo vnořování s koncovými body http.For example, see Call, trigger, or nest workflows with HTTP endpoints.

Spravované triggery rozhraní APIManaged API triggers

Typ aktivační událostiTrigger type DescriptionDescription
ApiConnectionApiConnection Kontroluje nebo dotazuje koncový bod pomocí rozhraní API spravovaných Microsoftem.Checks or polls an endpoint by using Microsoft-managed APIs.
Vstupech apiconnectionwebhookApiConnectionWebhook Vytvoří pro vaši aplikaci logiky volatelné koncové body voláním rozhraní API spravovaných Microsoftem pro přihlášení k odběru a zrušení odběru.Creates a callable endpoint for your logic app by calling Microsoft-managed APIs to subscribe and unsubscribe.

Triggery – Podrobné referenční informaceTriggers - Detailed reference

Aktivační událost vstupech apiconnectionAPIConnection trigger

Tato aktivační událost zkontroluje nebo provede dotaz na koncový bod pomocí rozhraní API spravovaných Microsoftem , takže se parametry této aktivační události můžou lišit podle koncového bodu.This trigger checks or polls an endpoint by using Microsoft-managed APIs so the parameters for this trigger can differ based on the endpoint. Mnoho oddílů v této definici triggeru je volitelné.Many sections in this trigger definition are optional. Chování triggeru závisí na tom, jestli jsou zahrnuté oddíly.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>"
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<APIConnection_trigger_name><APIConnection_trigger_name> ŘetězecString Název triggeruThe name for the trigger
<název připojení><connection-name> ŘetězecString Název připojení ke spravovanému rozhraní API, které používá pracovní postupThe name for the connection to the managed API that the workflow uses
<typ metody><method-type> ŘetězecString Metoda HTTP pro komunikaci se spravovaným rozhraním API: "GET", "PUT", "POST", "PATCH", "DELETE"The HTTP method for communicating with the managed API: "GET", "PUT", "POST", "PATCH", "DELETE"
<rozhraní API – operace><api-operation> ŘetězecString Operace rozhraní API, která se má volatThe API operation to call
<Časová jednotka><time-unit> ŘetězecString Časová jednotka, která popisuje, jak často se Trigger aktivuje: "druhé", "Minute", "hodina", "den", "týden", "měsíc"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<počet jednotek v čase><number-of-time-units> IntegerInteger Hodnota, která určuje, jak často se Trigger aktivuje na základě frekvence, což je počet časových jednotek, které se mají počkat, dokud se Trigger znovu nespustí.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

Tady jsou minimální a maximální intervaly:Here are the minimum and maximum intervals:

-Month: 1-16 měsíců- Month: 1-16 months
Denní: 1-500 dní- Day: 1-500 days
-Hodina: 1 – 12000 hodin- Hour: 1-12,000 hours
-Minute: 1 – 72000 minut- Minute: 1-72,000 minutes
-Sekunda: 1 – 9999999 sekund- Second: 1-9,999,999 seconds

Pokud má například interval hodnotu 6 a frekvence je "Month", opakování je každých 6 měsíců.For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
<dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazu, které se mají zahrnout do volání rozhraní APIAny query parameters to include with the API call. Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do volání.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.
<Max – běhy><max-runs> IntegerInteger Ve výchozím nastavení se instance pracovních postupů spouští ve stejnou dobu (souběžně nebo paralelně) až do výchozího limitu.By default, workflow instances run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna souběžnosti triggeru.To change this limit by setting a new <count> value, see Change trigger concurrency.
<Max-běhy-Queue><max-runs-queue> IntegerInteger Pokud je v pracovním postupu již spuštěn maximální počet instancí, které lze změnit na základě runtimeConfiguration.concurrency.runs vlastnosti, budou všechny nové běhy vloženy do této fronty až do výchozího limitu.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. Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.
<splitOn – výraz><splitOn-expression> ŘetězecString Pro aktivační události, které vracejí pole, tento výraz odkazuje na pole, které se má použít, abyste mohli vytvořit a spustit instanci pracovního postupu pro každou položku pole, a ne použít smyčku 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.

Tento výraz například reprezentuje položku v poli vrácené v obsahu těla triggeru: @triggerbody()?['value']For example, this expression represents an item in the array returned within the trigger's body content: @triggerbody()?['value']

<operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

VýstupyOutputs

PrvekElement TypType DescriptionDescription
záhlavíheaders JSON – objektJSON Object Hlavičky z odpovědiThe headers from the response
textbody JSON – objektJSON Object Tělo odpovědiThe body from the response
stavový kódstatus code IntegerInteger Stavový kód z odpovědiThe status code from the response

PříkladExample

Tato definice triggeru kontroluje každý den v doručené poště pracovní nebo školní účet:This trigger definition checks for email every day inside the inbox for a work or school 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
   }
}

Aktivační událost vstupech apiconnectionwebhookApiConnectionWebhook trigger

Tato aktivační událost pošle požadavek na předplatné na koncový bod pomocí rozhraní API spravovaného Microsoftem, který poskytuje adresu URL zpětného volání , kde koncový bod může odeslat odpověď, a počká, až koncový bod odpoví.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. Další informace najdete v tématu odběry koncových bodů.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>"
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<název připojení><connection-name> ŘetězecString Název připojení ke spravovanému rozhraní API, které používá pracovní postupThe name for the connection to the managed API that the workflow uses
<text obsahu><body-content> JSON – objektJSON Object Veškerý obsah zprávy, který se odešle jako datová část spravovanému rozhraní APIAny message content to send as payload to the managed API

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
<dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazu, které se mají zahrnout do volání rozhraní APIAny query parameters to include with the API call

Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do volání.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<Max – běhy><max-runs> IntegerInteger Ve výchozím nastavení se instance pracovních postupů spouští ve stejnou dobu (souběžně nebo paralelně) až do výchozího limitu.By default, workflow instances run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna souběžnosti triggeru.To change this limit by setting a new <count> value, see Change trigger concurrency.
<Max-běhy-Queue><max-runs-queue> IntegerInteger Pokud je v pracovním postupu již spuštěn maximální počet instancí, které lze změnit na základě runtimeConfiguration.concurrency.runs vlastnosti, budou všechny nové běhy vloženy do této fronty až do výchozího limitu.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. Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.
<splitOn – výraz><splitOn-expression> ŘetězecString Pro aktivační události, které vracejí pole, tento výraz odkazuje na pole, které se má použít, abyste mohli vytvořit a spustit instanci pracovního postupu pro každou položku pole, a ne použít smyčku 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.

Tento výraz například reprezentuje položku v poli vrácené v obsahu těla triggeru: @triggerbody()?['value']For example, this expression represents an item in the array returned within the trigger's body content: @triggerbody()?['value']

<operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

PříkladExample

Tato definice triggeru se přihlásí k odběru rozhraní API pro Office 365 Outlook, poskytuje adresu URL zpětného volání koncového bodu rozhraní API a počká, až bude koncový bod reagovat, když přijde nový e-mail.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 triggerHTTP trigger

Tato aktivační událost pošle požadavek na zadaný koncový bod HTTP nebo HTTPS na základě zadaného plánu opakování.This trigger sends a request to the specified HTTP or HTTPS endpoint based on the specified recurrence schedule. Aktivační událost pak zkontroluje odezvu a určí, zda je pracovní postup spuštěn.The trigger then checks the response to determine whether the workflow runs. Další informace najdete v tématu volání koncových bodů služby pomocí protokolu HTTP nebo HTTPS z Azure Logic Apps.For more information, see Call service endpoints over HTTP or HTTPS from Azure Logic Apps.

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

PovinnéRequired

VlastnostProperty HodnotaValue TypType DescriptionDescription
method <typ metody><method-type> ŘetězecString Metoda, která se má použít pro odeslání odchozí žádosti: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The method to use for sending the outgoing request: "GET", "PUT", "POST", "PATCH", or "DELETE"
uri <HTTP-nebo-HTTPS-Endpoint-URL><HTTP-or-HTTPS-endpoint-URL> ŘetězecString Adresa URL koncového bodu HTTP nebo HTTPS, kam chcete odeslat odchozí požadavek.The HTTP or HTTPS endpoint URL where you want to send the outgoing request. Maximální velikost řetězce: 2 KBMaximum string size: 2 KB

V případě služby nebo prostředku Azure Tato syntaxe identifikátoru URI zahrnuje ID prostředku a cestu k prostředku, ke kterému chcete získat přístup.For an Azure service or resource, this URI syntax includes the resource ID and the path to the resource that you want to access.

frequency <Časová jednotka><time-unit> ŘetězecString Časová jednotka, která popisuje, jak často se Trigger aktivuje: "druhé", "Minute", "hodina", "den", "týden", "měsíc"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
interval <počet jednotek v čase><number-of-time-units> IntegerInteger Hodnota, která určuje, jak často se Trigger aktivuje na základě frekvence, což je počet časových jednotek, které se mají počkat, dokud se Trigger znovu nespustí.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

Tady jsou minimální a maximální intervaly:Here are the minimum and maximum intervals:

-Month: 1-16 měsíců- Month: 1-16 months
Denní: 1-500 dní- Day: 1-500 days
-Hodina: 1 – 12000 hodin- Hour: 1-12,000 hours
-Minute: 1 – 72000 minut- Minute: 1-72,000 minutes
-Sekunda: 1 – 9999999 sekund- Second: 1-9,999,999 seconds

Pokud má například interval hodnotu 6 a frekvence je "Month", opakování je každých 6 měsíců.For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

VolitelnéOptional

VlastnostProperty HodnotaValue TypType DescriptionDescription
headers <Hlavička-obsah><header-content> JSON – objektJSON Object Libovolná záhlaví, která je potřeba zahrnout do žádostiAny headers that you need to include with the request

Chcete-li například nastavit jazyk a typ:For example, to set the language and type:

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

queries <dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazů, které je třeba v žádosti použítAny query parameters that you need to use in the request

Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do žádosti.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the request.

body <text obsahu><body-content> JSON – objektJSON Object Obsah zprávy, která má být odeslána jako datová část s požadavkemThe message content to send as payload with the request
authentication <hodnoty typu ověřování a vlastností><authentication-type-and-property-values> JSON – objektJSON Object Model ověřování, který požadavek používá pro ověřování odchozích požadavků.The authentication model that the request uses for authenticating outbound requests. Další informace najdete v tématu Přidání ověřování do odchozích volání.For more information, see Add authentication to outbound calls. Kromě Scheduleru authority je tato vlastnost podporovaná.Beyond Scheduler, the authority property is supported. Pokud není zadaný, použije se výchozí hodnota https://management.azure.com/ , ale můžete použít jinou hodnotu.When not specified, the default value is https://management.azure.com/, but you can use a different value.
retryPolicy > type <opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
runs <Max – běhy><max-runs> IntegerInteger Ve výchozím nastavení se instance pracovních postupů spouští ve stejnou dobu (souběžně nebo paralelně) až do výchozího limitu.By default, workflow instances run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna souběžnosti triggeru.To change this limit by setting a new <count> value, see Change trigger concurrency.
maximumWaitingRuns <Max-běhy-Queue><max-runs-queue> IntegerInteger Pokud je v pracovním postupu již spuštěn maximální počet instancí, které lze změnit na základě runtimeConfiguration.concurrency.runs vlastnosti, budou všechny nové běhy vloženy do této fronty až do výchozího limitu.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. Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.
operationOptions <operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

VýstupyOutputs

PrvekElement TypType DescriptionDescription
headers JSON – objektJSON Object Hlavičky z odpovědiThe headers from the response
body JSON – objektJSON Object Tělo odpovědiThe body from the response
status code IntegerInteger Stavový kód z odpovědiThe status code from the response

Požadavky na příchozí požadavkyRequirements for incoming requests

Aby bylo možné v aplikaci logiky dobře fungovat, musí koncový bod splňovat konkrétní vzor triggeru nebo kontrakt a rozpoznat tyto vlastnosti odpovědi:To work well with your logic app, the endpoint must conform to a specific trigger pattern or contract, and recognize these response properties:

VlastnostProperty PovinnéRequired PopisDescription
Stavový kódStatus code YesYes Stavový kód "200 OK" spustí spuštění.The "200 OK" status code starts a run. Jakýkoli jiný stavový kód nespustí běh.Any other status code doesn't start a run.
Záhlaví opakování – zaRetry-after header NoNo Počet sekund do opětovného dotazování koncového bodu aplikace logikyThe number of seconds until your logic app polls the endpoint again
Hlavička umístěníLocation header NoNo Adresa URL, která má být volána při dalším intervalu dotazování.The URL to call at the next polling interval. Pokud není zadaný, použije se původní adresa URL.If not specified, the original URL is used.

Příklad chování pro různé požadavkyExample behaviors for different requests

Stavový kódStatus code Opakovat poRetry after ChováníBehavior
200200 nTato{none} Spusťte pracovní postup a pak znovu zkontrolujte další data po definovaném opakování.Run the workflow, then check again for more data after the defined recurrence.
200200 10 sekund10 seconds Spusťte pracovní postup a potom se znovu podívejte na další data po 10 sekundách.Run the workflow, then check again for more data after 10 seconds.
202202 60 sekund60 seconds Neaktivujte pracovní postup.Don't trigger the workflow. K dalšímu pokusu dochází za jednu minutu v závislosti na definovaném opakování.The next attempt happens in one minute, subject to the defined recurrence. Pokud je definované opakování méně než jedna minuta, má přednost záhlaví opakování.If the defined recurrence is less than one minute, the retry-after header takes precedence. V opačném případě se použije definované opakování.Otherwise, the defined recurrence is used.
400400 nTato{none} Chybný požadavek, nespouštějte pracovní postup.Bad request, don't run the workflow. Pokud retryPolicy není definován, použije se výchozí zásada.If no retryPolicy is defined, then the default policy is used. Po dosažení počtu opakovaných pokusů aktivační událost znovu zkontroluje data po definovaném opakování.After the number of retries has been reached, the trigger checks again for data after the defined recurrence.
500500 nTato{none} Chyba serveru, nespouštějte pracovní postup.Server error, don't run the workflow. Pokud retryPolicy není definován, použije se výchozí zásada.If no retryPolicy is defined, then the default policy is used. Po dosažení počtu opakovaných pokusů aktivační událost znovu zkontroluje data po definovaném opakování.After the number of retries has been reached, the trigger checks again for data after the defined recurrence.

Aktivační událost HTTPWebhookHTTPWebhook trigger

Tato aktivační událost umožňuje, aby se aplikace logiky volala vytvořením koncového bodu, který může zaregistrovat odběr voláním zadané adresy URL koncového bodu.This trigger makes your logic app callable by creating an endpoint that can register a subscription by calling the specified endpoint URL. Při vytváření této aktivační události v pracovním postupu odchozí požadavek provede volání registrace předplatného.When you create this trigger in your workflow, an outgoing request makes the call to register the subscription. Tímto způsobem může Trigger začít naslouchat událostem.That way, the trigger can start listening for events. Pokud operace neprovede tuto aktivační událost jako neplatnou, odchozí žádost automaticky provede volání, aby zrušilo odběr.When an operation makes this trigger invalid, an outgoing request automatically makes the call to cancel the subscription. Další informace najdete v tématu odběry koncových bodů.For more information, see Endpoint subscriptions.

Můžete také zadat asynchronní omezení pro aktivační událost HTTPWebhook .You can also specify asynchronous limits on an HTTPWebhook trigger. Chování triggeru závisí na oddílech, které použijete nebo vynecháte.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-type>" },
         "retryPolicy": { "<retry-behavior>" }
         },
      },
      "unsubscribe": {
         "method": "<method-type>",
         "url": "<endpoint-unsubscribe-URL>",
         "headers": { "<header-content>" },
         "body": "<body-content>",
         "authentication": { "<authentication-type>" }
      }
   },
   "runTimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-runs-queue>
      }
   },
   "operationOptions": "<operation-option>"
}

Některé hodnoty, například <metody typu>, jsou k dispozici pro "subscribe" "unsubscribe" objekty a.Some values, such as <method-type>, are available for both the "subscribe" and "unsubscribe" objects.

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<typ metody><method-type> ŘetězecString Metoda HTTP, která se má použít pro požadavek předplatného: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The HTTP method to use for the subscription request: "GET", "PUT", "POST", "PATCH", or "DELETE"
<koncový bod – přihlášení k odběru – adresa URL><endpoint-subscribe-URL> ŘetězecString Adresa URL koncového bodu, kam se má odeslat žádost o předplatnéThe endpoint URL where to send the subscription request

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<typ metody><method-type> ŘetězecString Metoda HTTP, která se má použít pro žádost o zrušení: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The HTTP method to use for the cancellation request: "GET", "PUT", "POST", "PATCH", or "DELETE"
<koncový bod – zrušení odběru adresy URL><endpoint-unsubscribe-URL> ŘetězecString Adresa URL koncového bodu, kam se má odeslat žádost o zrušeníThe endpoint URL where to send the cancellation request
<text obsahu><body-content> ŘetězecString Veškerý obsah zprávy pro odeslání v rámci předplatného nebo žádosti o zrušeníAny message content to send in the subscription or cancellation request
<typ ověřování><authentication-type> JSON – objektJSON Object Model ověřování, který požadavek používá pro ověřování odchozích požadavků.The authentication model that the request uses for authenticating outbound requests. Další informace najdete v tématu Přidání ověřování do odchozích volání.For more information, see Add authentication to outbound calls.
<opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
<Max – běhy><max-runs> IntegerInteger Ve výchozím nastavení jsou instance pracovních postupů všechny spouštěny současně (souběžně nebo paralelně) až do výchozího limitu.By default, workflow instances all run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna souběžnosti triggeru.To change this limit by setting a new <count> value, see Change trigger concurrency.
<Max-běhy-Queue><max-runs-queue> IntegerInteger Pokud je v pracovním postupu již spuštěn maximální počet instancí, které lze změnit na základě runtimeConfiguration.concurrency.runs vlastnosti, budou všechny nové běhy vloženy do této fronty až do výchozího limitu.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. Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.
<operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

VýstupyOutputs

PrvekElement TypType DescriptionDescription
záhlavíheaders JSON – objektJSON Object Hlavičky z odpovědiThe headers from the response
textbody JSON – objektJSON Object Tělo odpovědiThe body from the response
stavový kódstatus code IntegerInteger Stavový kód z odpovědiThe status code from the response

PříkladExample

Tato aktivační událost vytvoří odběr zadaného koncového bodu, poskytne jedinečnou adresu URL zpětného volání a počká na nově publikované technologické články.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"
         }
      }
   }
}

Trigger opakováníRecurrence trigger

Tato aktivační událost se spouští na základě zadaného plánu opakování a poskytuje snadný způsob, jak vytvořit pravidelně běžící pracovní postup.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>"
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<Časová jednotka><time-unit> ŘetězecString Časová jednotka, která popisuje, jak často se Trigger aktivuje: "druhé", "Minute", "hodina", "den", "týden", "měsíc"The unit of time that describes how often the trigger fires: "Second", "Minute", "Hour", "Day", "Week", "Month"
<počet jednotek v čase><number-of-time-units> IntegerInteger Hodnota, která určuje, jak často se Trigger aktivuje na základě frekvence, což je počet časových jednotek, které se mají počkat, dokud se Trigger znovu nespustí.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

Tady jsou minimální a maximální intervaly:Here are the minimum and maximum intervals:

-Month: 1-16 měsíců- Month: 1-16 months
Denní: 1-500 dní- Day: 1-500 days
-Hodina: 1 – 12000 hodin- Hour: 1-12,000 hours
-Minute: 1 – 72000 minut- Minute: 1-72,000 minutes
-Sekunda: 1 – 9999999 sekund- Second: 1-9,999,999 seconds

Pokud má například interval hodnotu 6 a frekvence je "Month", opakování je každých 6 měsíců.For example, if the interval is 6, and the frequency is "Month", the recurrence is every 6 months.

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<počáteční – datum a čas – ve formátu-RRRR-MM-DDThh: mm: SS><start-date-time-with-format-YYYY-MM-DDThh:mm:ss> ŘetězecString Počáteční datum a čas v tomto formátu:The start date and time in this format:

RRRR-MM-DDThh: mm: SS Pokud zadáte časové pásmoYYYY-MM-DDThh:mm:ss if you specify a time zone

-nebo--or-

RRRR-MM-DDThh: mm: ssZ, pokud nezadáte časové pásmoYYYY-MM-DDThh:mm:ssZ if you don't specify a time zone

Pokud například požadujete 18. září 2017 na 2:00 odp., zadejte "2017-09-18T14:00:00" a zadejte časové pásmo, například "Tichomoří (běžný čas"), nebo zadejte "2017-09-18T14:00:00Z" bez časového pásma.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.

Poznámka: Tento počáteční čas má v budoucnosti maximálně 49 let a musí následovat za specifikací data a času ISO 8601 ve formátu dataa času UTC, ale bez posunu UTC.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. Pokud nezadáte časové pásmo, je nutné na konci přidat písmeno "Z" bez mezer.If you don't specify a time zone, you must add the letter "Z" at the end without any spaces. Tento "Z" odkazuje na ekvivalentní námořní čas.This "Z" refers to the equivalent nautical time.

V případě jednoduchých plánů je počáteční čas prvním výskytem, ale u složitých plánů se Trigger neaktivuje dříve, než je čas spuštění.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. Další informace o počátečních datech a časech najdete v tématu vytváření a plánování pravidelného spouštění úloh.For more information about start dates and times, see Create and schedule regularly running tasks.

<časové pásmo><time-zone> ŘetězecString Platí pouze v případě, že zadáte čas spuštění, protože tato aktivační událost nepřijímá posun UTC.Applies only when you specify a start time because this trigger doesn't accept UTC offset. Určete časové pásmo, které chcete použít.Specify the time zone that you want to apply.
<jedna nebo více hodin><one-or-more-hour-marks> Celočíselné nebo celočíselné poleInteger or integer array Pokud zadáte "Day" nebo "Week" pro frequency , můžete zadat jedno nebo více celých čísel od 0 do 23, které jsou odděleny čárkami, jako hodiny dne, kdy chcete pracovní postup spustit.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.

Pokud například zadáte "10", "12" a "14", dostanete jako hodiny 10 DOP, 12 ODP a 2 ODP.For example, if you specify "10", "12" and "14", you get 10 AM, 12 PM, and 2 PM as the hour marks.

<jedna nebo více minut – známky><one-or-more-minute-marks> Celočíselné nebo celočíselné poleInteger or integer array Pokud zadáte "Day" nebo "Week" pro frequency , můžete zadat jedno nebo více celých čísel od 0 do 59, které jsou odděleny čárkami, jako minuty hodiny, kdy chcete pracovní postup spustit.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.

Například můžete zadat "30" jako znak minuty a použít předchozí příklad pro hodiny dne, získáte 10:30 dop. 12:30 ODP. a 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 Řetězec nebo pole řetězcůString or string array Pokud zadáte "Week" pro frequency , můžete zadat jeden nebo více dní, které jsou odděleny čárkami, pokud chcete spustit pracovní postup: "pondělí", "úterý", "Středa", "čtvrtek", "pátek", "Sobota" a "neděle"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 – běhy><max-runs> IntegerInteger Ve výchozím nastavení jsou instance pracovních postupů všechny spouštěny současně (souběžně nebo paralelně) až do výchozího limitu.By default, workflow instances all run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna souběžnosti triggeru.To change this limit by setting a new <count> value, see Change trigger concurrency.
<Max-běhy-Queue><max-runs-queue> IntegerInteger Pokud je v pracovním postupu již spuštěn maximální počet instancí, které lze změnit na základě runtimeConfiguration.concurrency.runs vlastnosti, budou všechny nové běhy vloženy do této fronty až do výchozího limitu.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. Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.
<operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

Příklad 1Example 1

Tato základní aktivační událost opakování běží denně:This basic recurrence trigger runs daily:

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

Příklad 2Example 2

Můžete zadat počáteční datum a čas pro aktivaci triggeru.You can specify a start date and time for firing the trigger. Tato aktivační událost opakování se spustí v zadaném datu a pak se aktivuje denně: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"
   }
}

Příklad 3Example 3

Tato aktivační událost opakování začíná 9. září 2017 na 2:00 odp. každý týden se spustí každý pondělí v 10:30, 12:30 ODP. a 2:30 ODP. (běžný čas):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"
   }
}

Další informace a příklady pro tuto aktivační událost najdete v tématu vytváření a plánování pravidelného spouštění úloh.For more information plus examples for this trigger, see Create and schedule regularly running tasks.

Aktivační událost žádostiRequest trigger

Tato aktivační událost umožní, aby se aplikace logiky vyvolala vytvořením koncového bodu, který může přijímat příchozí požadavky.This trigger makes your logic app callable by creating an endpoint that can accept incoming requests. Pro tuto aktivační událost zadejte schéma JSON, které popisuje a ověří datovou část nebo vstupy, které Trigger obdrží od příchozího požadavku.For this trigger, provide a JSON schema that describes and validates the payload or inputs that the trigger receives from the incoming request. Schéma také usnadňuje odkazování na vlastnosti triggeru z pozdějších akcí pracovního postupu.The schema also makes trigger properties easier to reference from later actions in the workflow.

Chcete-li zavolat tuto aktivační událost, je nutné použít listCallbackUrl rozhraní API, které je popsáno v REST API služby pracovního postupu.To call this trigger, you must use the listCallbackUrl API, which is described in the Workflow Service REST API. Informace o tom, jak tento Trigger použít jako koncový bod HTTP, najdete v tématu pracovní postupy volání, triggeru nebo vnoření pracovních postupů s koncovými body 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>"
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<vlastnost – název><property-name> ŘetězecString Název vlastnosti ve schématu JSON, která popisuje datovou částThe name of a property in the JSON schema, which describes the payload
<typ vlastnosti><property-type> ŘetězecString Typ vlastnostiThe property's type

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<typ metody><method-type> ŘetězecString Metoda, kterou příchozí požadavky musí použít k volání aplikace logiky: "GET", "PUT", "POST", "PATCH", "DELETE"The method that incoming requests must use to call your logic app: "GET", "PUT", "POST", "PATCH", "DELETE"
<relativní – cesta-pro-přijatý parametr><relative-path-for-accepted-parameter> ŘetězecString Relativní cesta k parametru, který může adresa URL koncového bodu přijmoutThe relative path for the parameter that your endpoint's URL can accept
<požadované – vlastnosti><required-properties> PoleArray Jedna nebo více vlastností, které vyžadují hodnotyOne or more properties that require values
<Max – běhy><max-runs> IntegerInteger Ve výchozím nastavení jsou instance pracovních postupů všechny spouštěny současně (souběžně nebo paralelně) až do výchozího limitu.By default, workflow instances all run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna souběžnosti triggeru.To change this limit by setting a new <count> value, see Change trigger concurrency.
<Max-běhy-Queue><max-runs-queue> IntegerInteger Pokud je v pracovním postupu již spuštěn maximální počet instancí, které lze změnit na základě runtimeConfiguration.concurrency.runs vlastnosti, budou všechny nové běhy vloženy do této fronty až do výchozího limitu.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. Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.
<operace – možnost><operation-option> ŘetězecString Výchozí chování můžete změnit nastavením operationOptions Vlastnosti.You can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

PříkladExample

Tato aktivační událost určuje, že příchozí požadavek musí použít metodu HTTP POST pro volání triggeru a zahrnuje schéma, které ověřuje vstup z příchozího požadavku: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"
                  }
               }
            }
         }
      }
   }
}

Podmínky triggeruTrigger conditions

Pro všechny triggery a triggery můžete zahrnout pole obsahující jeden nebo více výrazů pro podmínky, které určují, jestli se má pracovní postup spustit.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. Chcete-li přidat conditions vlastnost do triggeru v pracovním postupu, otevřete aplikaci logiky v editoru zobrazení kódu.To add the conditions property to a trigger in your workflow, open your logic app in the code view editor.

Můžete například určit, že se Trigger aktivuje jenom v případě, že web vrátí vnitřní chybu serveru odkazem na stavový kód triggeru ve conditions vlastnosti: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')"
   } ]
}

Ve výchozím nastavení se aktivační událost aktivuje až po získání odpovědi "200 OK".By default, a trigger fires only after getting a "200 OK" response. Když výraz odkazuje na stavový kód triggeru, nahradí se výchozí chování triggeru.When an expression references a trigger's status code, the trigger's default behavior is replaced. Pokud tedy chcete, aby se Trigger spouštěl pro více než jeden stavový kód, jako je například stavový kód "200" a "201", je nutné tento výraz zahrnout jako podmínku: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))

Aktivace více spuštěníTrigger multiple runs

Pokud aktivační událost vrátí pole pro zpracování vaší aplikace logiky, může někdy trvat příliš dlouho smyčka "for each", aby bylo možné zpracovat každou položku pole.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. Místo toho můžete použít vlastnost SplitOn ve triggeru k oddávkování pole.Instead, you can use the SplitOn property in your trigger to debatch the array. Při dedávkování se položky pole rozdělí a spustí se nová instance pracovního postupu, která se spustí pro každou položku pole.Debatching splits up the array items and starts a new workflow instance that runs for each array item. Tento přístup je užitečný například v případě, že chcete dotazovat koncový bod, který může vracet více nových položek mezi intervaly dotazování.This approach is useful, for example, when you want to poll an endpoint that might return multiple new items between polling intervals. V případě maximálního počtu položek pole, které SplitOn může zpracovat v jednom spuštění aplikace logiky, viz omezení a konfigurace.For the maximum number of array items that SplitOn can process in a single logic app run, see Limits and configuration.

Poznámka

SplitOn se nedá použít se vzorem synchronní odpovědi.You can't use SplitOn with a synchronous response pattern. Libovolný pracovní postup, který používá SplitOn a zahrnuje akci odpovědi, se spouští asynchronně a okamžitě pošle 202 ACCEPTED odpověď.Any workflow that uses SplitOn and includes a response action runs asynchronously and immediately sends a 202 ACCEPTED response.

Pokud je povolená souběžnost triggeru, limit SplitOn se výrazně sníží.When trigger concurrency is enabled, the SplitOn limit is significantly reduced. Pokud počet položek překročí tento limit, funkce SplitOn je zakázaná.If the number of items exceeds this limit, the SplitOn capability is disabled.

Pokud soubor Swagger triggeru popisuje datovou část, která je pole, do triggeru se automaticky přidá vlastnost SplitOn .If your trigger's Swagger file describes a payload that is an array, the SplitOn property is automatically added to your trigger. V opačném případě přidejte tuto vlastnost do datové části odpovědi, která obsahuje pole, které chcete dedávkovat.Otherwise, add this property inside the response payload that has the array you want to debatch.

PříkladExample

Předpokládejme, že máte rozhraní API, které vrací tuto odpověď:Suppose you have an API that returns this response:

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

Aplikace logiky potřebuje jenom obsah z pole v Rows , takže můžete vytvořit Trigger podobný tomuto příkladu: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"
}

Poznámka

Pokud použijete SplitOn příkaz, nemůžete získat vlastnosti, které jsou mimo pole.If you use the SplitOn command, you can't get the properties that are outside the array. Proto v tomto příkladu nemůžete získat status vlastnost v odpovědi vrácené z rozhraní API.So for this example, you can't get the status property in the response returned from the API.

Chcete-li se vyhnout selhání Rows , pokud vlastnost neexistuje, tento příklad používá ? operátor.To avoid a failure if the Rows property doesn't exist, this example uses the ? operator.

Vaše definice pracovního postupu teď může použít @triggerBody().name k získání name hodnot, které jsou "customer-name-one" z prvního spuštění a "customer-name-two" z druhého spuštění.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. Výstupy triggerů tak vypadají jako tyto příklady:So, your trigger outputs look like these examples:

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

Přehled akcíActions overview

Azure Logic Apps poskytuje různé typy akcí – každý s různými vstupy, které definují jedinečné chování akce.Azure Logic Apps provides various action types - each with different inputs that define an action's unique behavior. Akce mají tyto prvky na nejvyšší úrovni, i když jsou některé volitelné: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>"
},

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<název akce><action-name> ŘetězecString Název akceThe name for the action
<Typ akce><action-type> ŘetězecString Typ akce, například "http" nebo "vstupech apiconnection"The action type, for example, "Http" or "ApiConnection"
<Název vstupu><input-name> ŘetězecString Název vstupu, který definuje chování akceThe name for an input that defines the action's behavior
<Hodnota vstupu><input-value> NěkteréVarious Vstupní hodnota, která může být řetězec, celé číslo, objekt JSON atd.The input value, which can be a string, integer, JSON object, and so on
<předchozí – Trigger nebo-Action-status><previous-trigger-or-action-status> JSON – objektJSON Object Název a výsledný stav triggeru nebo akce, které se musí spustit bezprostředně před spuštěním této aktuální akceThe name and resulting status for the trigger or action that must run immediately before this current action can run

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu Zásady opakování.For more information, see Retry policies.
<Runtime – konfigurace – možnosti><runtime-config-options> JSON – objektJSON Object U některých akcí můžete chování akce v době běhu změnit nastavením runtimeConfiguration vlastností.For some actions, you can change the action's behavior at run time by setting runtimeConfiguration properties. Další informace najdete v tématu nastavení konfigurace modulu runtime.For more information, see Runtime configuration settings.
<operace – možnost><operation-option> ŘetězecString U některých akcí můžete změnit výchozí chování nastavením operationOptions Vlastnosti.For some actions, you can change the default behavior by setting the operationOptions property. Další informace najdete v tématu Možnosti operací.For more information, see Operation options.

Seznam typů akcíAction types list

Tady jsou některé běžně používané typy akcí:Here are some commonly used action types:

Integrované akceBuilt-in actions

Typ akceAction type DescriptionDescription
SestavitCompose Vytvoří jeden výstup ze vstupů, které mohou mít různé typy.Creates a single output from inputs, which can have various types.
Spustit JavaScriptový kódExecute JavaScript Code Spustí fragmenty kódu JavaScriptu, které se vejdou do konkrétních kritérií.Run JavaScript code snippets that fit within specific criteria. Požadavky na kód a další informace naleznete v tématu Přidání a spuštění fragmentů kódu s vloženým kódem.For code requirements and more information, see Add and run code snippets with inline code.
SloužíFunction Zavolá funkci Azure Function.Calls an Azure Function.
HTTPHTTP Volá koncový bod HTTP.Calls an HTTP endpoint.
PřipojeníJoin Vytvoří řetězec ze všech položek v poli a oddělí tyto položky zadaným znakem oddělovače.Creates a string from all the items in an array and separates those items with a specified delimiter character.
Analyzovat JSONParse JSON Vytvoří uživatelsky přívětivé tokeny z vlastností v obsahu JSON.Creates user-friendly tokens from properties in JSON content. Pak můžete odkazovat na tyto vlastnosti zahrnutím tokenů do aplikace logiky.You can then reference those properties by including the tokens in your logic app.
ZadáváníQuery Vytvoří pole z položek v jiném poli na základě podmínky nebo filtru.Creates an array from items in another array based on a condition or filter.
OdpověďResponse Vytvoří odpověď na příchozí volání nebo požadavek.Creates a response to an incoming call or request.
VyberteSelect Vytvoří pole s objekty JSON transformací položek z jiného pole na základě zadané mapy.Creates an array with JSON objects by transforming items from another array based on the specified map.
TabulkaTable Vytvoří z pole tabulku CSV nebo HTML.Creates a CSV or HTML table from an array.
RušíTerminate Zastaví aktivně běžící pracovní postup.Stops an actively running workflow.
WaitWait Pozastaví pracovní postup na určitou dobu nebo do zadaného data a času.Pauses your workflow for a specified duration or until the specified date and time.
Pracovní postupWorkflow Vnoření pracovního postupu do jiného pracovního postupu.Nests a workflow inside another workflow.

Spravované akce rozhraní APIManaged API actions

Typ akceAction type DescriptionDescription
ApiConnectionApiConnection Volá koncový bod HTTP pomocí rozhraní API spravovaného Microsoftem.Calls an HTTP endpoint by using a Microsoft-managed API.
Vstupech apiconnectionwebhookApiConnectionWebhook Funguje jako Webhook HTTP, ale používá rozhraní API spravované Microsoftem.Works like HTTP Webhook but uses a Microsoft-managed API.

Řízení akcí pracovního postupuControl workflow actions

Tyto akce vám pomůžou řídit spouštění pracovních postupů a zahrnovat další akce.These actions help you control workflow execution and include other actions. Mimo akci pracovního postupu ovládacího prvku můžete přímo odkazovat na akce v rámci akce pracovního postupu ovládacího prvku.From outside a control workflow action, you can directly reference actions inside that control workflow action. Například pokud máte Http v oboru nějakou akci, můžete odkazovat na @body('Http') výraz z libovolného místa v pracovním postupu.For example, if you have an Http action inside a scope, you can reference the @body('Http') expression from anywhere in the workflow. Akce, které existují v akci pracovního postupu řízení, ale mohou být spouštěny pouze za jinými akcemi, které jsou ve stejné struktuře pracovního postupu řízení.However, actions that exist inside a control workflow action can only "run after" other actions that are in the same control workflow structure.

Typ akceAction type DescriptionDescription
ForEachForEach Spustí stejné akce ve smyčce pro každou položku v poli.Run the same actions in a loop for every item in an array.
Pokud uživatelIf Spustí akce na základě toho, jestli je zadaná podmínka pravdivá, nebo false.Run actions based on whether the specified condition is true or false.
ScopeScope Spustí akce založené na stavu skupiny ze sady akcí.Run actions based on the group status from a set of actions.
PřepínačSwitch Spustí akce uspořádané do případů, kdy hodnoty z výrazů, objektů nebo tokenů odpovídají hodnotám určeným každým případem.Run actions organized into cases when values from expressions, objects, or tokens match the values specified by each case.
VrátíUntil Spustí akce ve smyčce, dokud není zadaná podmínka pravdivá.Run actions in a loop until the specified condition is true.

Akce – podrobný odkazActions - Detailed reference

Akce vstupech apiconnectionAPIConnection action

Tato akce odešle požadavek HTTP na rozhraní API spravované Microsoftem a vyžaduje informace o rozhraní API a parametrech plus odkaz na platné připojení.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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<název akce><action-name> ŘetězecString Název akce poskytované konektoremThe name of the action provided by the connector
<rozhraní API – název><api-name> ŘetězecString Název rozhraní API spravovaného Microsoftem používaného pro připojeníThe name of the Microsoft-managed API that is used for the connection
<typ metody><method-type> ŘetězecString Metoda HTTP pro volání rozhraní API: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The HTTP method for calling the API: "GET", "PUT", "POST", "PATCH", or "DELETE"
<rozhraní API – operace><api-operation> ŘetězecString Operace rozhraní API, která se má volatThe API operation to call

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<jiné – specifické pro akce-vstup – vlastnosti><other-action-specific-input-properties> JSON – objektJSON Object Všechny další vstupní vlastnosti, které se vztahují na tuto konkrétní akciAny other input properties that apply to this specific action
<opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
<dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazu, které se mají zahrnout do volání rozhraní APIAny query parameters to include with the API call.

Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do volání.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<jiné – vlastnosti specifické pro akci><other-action-specific-properties> JSON – objektJSON Object Všechny další vlastnosti, které se vztahují na tuto konkrétní akciAny other properties that apply to this specific action

PříkladExample

Tato definice popisuje akci odeslání e-mailu pro Office 365 Outlook Connector, což je rozhraní API spravované Microsoftem: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": {}
}

Akce vstupech apiconnectionwebhookAPIConnectionWebhook action

Tato akce odešle požadavek na předplatné přes HTTP do koncového bodu pomocí rozhraní API spravovaného Microsoftem, poskytne adresu URL zpětného volání , kde koncový bod může poslat odpověď, a počká, až koncový bod odpoví.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. Další informace najdete v tématu odběry koncových bodů.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-type>" },
         "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-type>" },
         "<other-action-specific-properties>"
      },
   },
   "runAfter": {}
}

Některé hodnoty, například <metody typu>, jsou k dispozici pro "subscribe" "unsubscribe" objekty a.Some values, such as <method-type>, are available for both the "subscribe" and "unsubscribe" objects.

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<název akce><action-name> ŘetězecString Název akce poskytované konektoremThe name of the action provided by the connector
<typ metody><method-type> ŘetězecString Metoda HTTP, která se má použít k přihlášení k odběru nebo odhlášení odběru koncového bodu: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The HTTP method to use for subscribing or unsubscribing from an endpoint: "GET", "PUT", "POST", "PATCH", or "DELETE"
<API – přihlášení k odběru – adresa URL><api-subscribe-URL> ŘetězecString Identifikátor URI, který se má použít pro přihlášení k odběru rozhraní APIThe URI to use for subscribing to the API

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<rozhraní API – zrušení odběru adresy URL><api-unsubscribe-URL> ŘetězecString Identifikátor URI, který se má použít k odhlášení odběru rozhraní APIThe URI to use for unsubscribing from the API
<Hlavička-obsah><header-content> JSON – objektJSON Object Libovolná záhlaví, která se mají poslat v žádostiAny headers to send in the request

Například chcete-li nastavit jazyk a typ pro požadavek:For example, to set the language and type on a request:

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

<text obsahu><body-content> JSON – objektJSON Object Veškerý obsah zprávy, který se má odeslat v žádostiAny message content to send in the request
<typ ověřování><authentication-type> JSON – objektJSON Object Model ověřování, který požadavek používá pro ověřování odchozích požadavků.The authentication model that the request uses for authenticating outbound requests. Další informace najdete v tématu Přidání ověřování do odchozích volání.For more information, see Add authentication to outbound calls.
<opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
<dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazu, které se mají zahrnout do volání rozhraní APIAny query parameters to include with the API call

Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do volání.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<jiné – specifické pro akce-vstup – vlastnosti><other-action-specific-input-properties> JSON – objektJSON Object Všechny další vstupní vlastnosti, které se vztahují na tuto konkrétní akciAny other input properties that apply to this specific action
<jiné – vlastnosti specifické pro akci><other-action-specific-properties> JSON – objektJSON Object Všechny další vlastnosti, které se vztahují na tuto konkrétní akciAny other properties that apply to this specific action

Omezení pro akci vstupech apiconnectionwebhook můžete zadat také stejným způsobem jako asynchronní limity protokolu HTTP.You can also specify limits on an ApiConnectionWebhook action in the same way as HTTP asynchronous limits.

Akce psaníCompose action

Tato akce vytvoří jeden výstup z více vstupů, včetně výrazů.This action creates a single output from multiple inputs, including expressions. Výstup i vstupy mohou mít jakýkoli typ, který Azure Logic Apps nativně podporuje, například pole, objekty JSON, XML a binární soubory.Both the output and inputs can have any type that Azure Logic Apps natively supports, such as arrays, JSON objects, XML, and binary. Výstup akce pak můžete použít v jiných akcích.You can then use the action's output in other actions.

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

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<vstupy do sestavení><inputs-to-compose> VšechnyAny Vstupy pro vytvoření jednoho výstupuThe inputs for creating a single output

Příklad 1Example 1

Tato definice akce se sloučí abcdefg s koncovým místem a hodnotou 1234 :This action definition merges abcdefg with a trailing space and the value 1234:

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

Zde je výstup, který tato akce vytvoří:Here is the output that this action creates:

abcdefg 1234

Příklad 2Example 2

Tato definice akce slučuje řetězcovou proměnnou, která obsahuje, abcdefg a celočíselnou proměnnou, která obsahuje 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": {}
},

Zde je výstup, který tato akce vytvoří:Here is the output that this action creates:

"abcdefg1234"

Akce spuštění kódu JavaScriptuExecute JavaScript Code action

Tato akce spustí fragment kódu JavaScriptu a vrátí výsledky prostřednictvím Result tokenu, který mohou později odkazovat na jiné akce.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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<JavaScript – fragment kódu><JavaScript-code-snippet> RůznéVaries Kód JavaScriptu, který chcete spustit.The JavaScript code that you want to run. Požadavky na kód a další informace naleznete v tématu Přidání a spuštění fragmentů kódu s vloženým kódem.For code requirements and more information, see Add and run code snippets with inline code.

V code atributu může fragment kódu jako vstup použít objekt jen pro čtení workflowContext .In the code attribute, your code snippet can use the read-only workflowContext object as input. Tento objekt má podvlastnost, které přidávají vašemu kódu přístup k výsledkům triggeru a předchozím akcím v pracovním postupu.This object has subproperties that give your code access to the results from the trigger and previous actions in your workflow. Další informace o workflowContext objektu naleznete v tématu Referenční Trigger a výsledky akcí ve vašem kódu.For more information about the workflowContext object, see Reference trigger and action results in your code.

Vyžadováno v některých případechRequired in some cases

explicitDependenciesAtribut určuje, že chcete explicitně zahrnout výsledky z triggeru, předchozí akce nebo obojí jako závislosti pro váš fragment kódu.The explicitDependencies attribute specifies that you want to explicitly include results from the trigger, previous actions, or both as dependencies for your code snippet. Další informace o přidání těchto závislostí naleznete v tématu Add Parameters for a line Code.For more information about adding these dependencies, see Add parameters for inline code.

Pro includeTrigger atribut můžete zadat true nebo false hodnoty.For the includeTrigger attribute, you can specify true or false values.

HodnotaValue TypType DescriptionDescription
<předchozí akce><previous-actions> Pole řetězcůString array Pole se zadanými názvy akcíAn array with your specified action names. Použijte názvy akcí, které se zobrazí v definici pracovního postupu, kde názvy akcí používají podtržítka (), ne mezery ("").Use the action names that appear in your workflow definition where action names use underscores (), not spaces (" ").

Příklad 1Example 1

Tato akce spustí kód, který získá název vaší aplikace logiky a vrátí text "Hello World from <logic-app-name> " jako výsledek.This action runs code that gets your logic app's name and returns the text "Hello world from <logic-app-name>" as the result. V tomto příkladu kód odkazuje na název pracovního postupu pomocí přístupu k workflowContext.workflow.name vlastnosti prostřednictvím objektu jen pro čtení workflowContext .In this example, the code references the workflow's name by accessing the workflowContext.workflow.name property through the read-only workflowContext object. Další informace o používání workflowContext objektu naleznete v tématu Referenční Trigger a výsledky akcí ve vašem kódu.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": {}
}

Příklad 2Example 2

Tato akce spustí kód v aplikaci logiky, která se aktivuje při přijetí nového e-mailu v pracovním nebo školním účtu.This action runs code in a logic app that triggers when a new email arrives in a work or school account. Aplikace logiky také používá akci odeslání e-mailu pro schválení, která přesměruje obsah z přijatého e-mailu spolu se žádostí o schválení.The logic app also uses a send approval email action that forwards the content from the received email along with a request for approval.

Kód extrahuje e-mailové adresy z vlastnosti triggeru Body a vrátí adresy spolu s SelectedOption hodnotou vlastnosti z akce schválení.The code extracts the email addresses from the trigger's Body property and returns the addresses along with the SelectedOption property value from the approval action. Akce explicitně zahrnuje akci odeslání e-mailu o schválení jako závislost v explicitDependencies > actions atributu.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": {}
}

Akce funkceFunction action

Tato akce volá dříve vytvořenou funkci Azure Functions.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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<Azure-Function-ID><Azure-function-ID> ŘetězecString ID prostředku pro funkci Azure, kterou chcete volat.The resource ID for the Azure function you want to call. Zde je formát pro tuto hodnotu: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>"

<typ metody><method-type> ŘetězecString Metoda HTTP, která se má použít pro volání funkce: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The HTTP method to use for calling the function: "GET", "PUT", "POST", "PATCH", or "DELETE"

Pokud není zadán, výchozí hodnota je metoda "POST".If not specified, the default is the "POST" method.

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<Hlavička-obsah><header-content> JSON – objektJSON Object Všechna záhlaví k odeslání pomocí voláníAny headers to send with the call

Například chcete-li nastavit jazyk a typ pro požadavek:For example, to set the language and type on a request:

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

<text obsahu><body-content> JSON – objektJSON Object Veškerý obsah zprávy, který se má odeslat v žádostiAny message content to send in the request
<dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazu, které se mají zahrnout do volání rozhraní APIAny query parameters to include with the API call

Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do volání.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

<jiné – specifické pro akce-vstup – vlastnosti><other-action-specific-input-properties> JSON – objektJSON Object Všechny další vstupní vlastnosti, které se vztahují na tuto konkrétní akciAny other input properties that apply to this specific action
<jiné – vlastnosti specifické pro akci><other-action-specific-properties> JSON – objektJSON Object Všechny další vlastnosti, které se vztahují na tuto konkrétní akciAny other properties that apply to this specific action

Při ukládání aplikace logiky modul Logic Apps provádí tyto kontroly na odkazované funkci:When you save your logic app, the Logic Apps engine performs these checks on the referenced function:

  • Váš pracovní postup musí mít přístup k této funkci.Your workflow must have access to the function.

  • Pracovní postup může používat jenom standardní Trigger HTTP nebo aktivační událost obecného Webhooku JSON.Your workflow can use only a standard HTTP trigger or generic JSON webhook trigger.

    Modul Logic Apps získává a ukládá do mezipaměti adresu URL triggeru, která se používá za běhu.The Logic Apps engine gets and caches the trigger's URL, which is used at runtime. Nicméně pokud nějaká operace zruší platnost adresy URL v mezipaměti, akce funkce se za běhu nezdařila.However, if any operation invalidates the cached URL, the Function action fails at runtime. Pokud chcete tento problém vyřešit, uložte aplikaci logiky znovu, aby aplikace logiky předávala adresu URL triggeru a znovu ji zařadí do mezipaměti.To fix this issue, save the logic app again so that the logic app gets and caches the trigger URL again.

  • Funkce nemůže mít definovánu žádnou trasu.The function can't have any route defined.

  • Povolují se jenom úrovně autorizace Function a Anonymous.Only "function" and "anonymous" authorization levels are allowed.

PříkladExample

Tato definice akce volá dříve vytvořenou funkci 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": {}
}

Akce HTTPHTTP action

Tato akce odešle požadavek na zadaný koncový bod HTTP nebo HTTPS a zkontroluje odpověď, aby zjistil, zda pracovní postup běží.This action sends a request to the specified HTTP or HTTPS endpoint and checks the response to determine whether the workflow runs. Další informace najdete v tématu volání koncových bodů služby pomocí protokolu HTTP nebo HTTPS z Azure Logic Apps.For more information, see Call service endpoints over HTTP or HTTPS from Azure Logic Apps.

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "<method-type>",
      "uri": "<HTTP-or-HTTPS-endpoint-URL>",
      "headers": { "<header-content>" },
      "queries": { "<query-parameters>" },
      "body": "<body-content>",
      "authentication": { "<authentication-type-and-property-values>" },
      "retryPolicy": {
         "type": "<retry-behavior>"
      },
   },
   "runAfter": {}
}

PovinnéRequired

VlastnostProperty HodnotaValue TypType DescriptionDescription
method <typ metody><method-type> ŘetězecString Metoda, která se má použít pro odeslání odchozí žádosti: "GET", "PUT", "POST", "PATCH" nebo "DELETE"The method to use for sending the outgoing request: "GET", "PUT", "POST", "PATCH", or "DELETE"
uri <HTTP-nebo-HTTPS-Endpoint-URL><HTTP-or-HTTPS-endpoint-URL> ŘetězecString Adresa URL koncového bodu HTTP nebo HTTPS, kam chcete odeslat odchozí požadavek.The HTTP or HTTPS endpoint URL where you want to send the outgoing request. Maximální velikost řetězce: 2 KBMaximum string size: 2 KB

V případě služby nebo prostředku Azure Tato syntaxe identifikátoru URI zahrnuje ID prostředku a cestu k prostředku, ke kterému chcete získat přístup.For an Azure service or resource, this URI syntax includes the resource ID and the path to the resource that you want to access.

VolitelnéOptional

VlastnostProperty HodnotaValue TypType DescriptionDescription
headers <Hlavička-obsah><header-content> JSON – objektJSON Object Libovolná záhlaví, která je potřeba zahrnout do žádostiAny headers that you need to include with the request

Chcete-li například nastavit jazyk a typ:For example, to set the language and type:

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

queries <dotaz – parametry><query-parameters> JSON – objektJSON Object Všechny parametry dotazů, které je třeba v žádosti použítAny query parameters that you need to use in the request

Například "queries": { "api-version": "2018-01-01" } objekt přidá ?api-version=2018-01-01 do volání.For example, the "queries": { "api-version": "2018-01-01" } object adds ?api-version=2018-01-01 to the call.

body <text obsahu><body-content> JSON – objektJSON Object Obsah zprávy, která má být odeslána jako datová část s požadavkemThe message content to send as payload with the request
authentication <hodnoty typu ověřování a vlastností><authentication-type-and-property-values> JSON – objektJSON Object Model ověřování, který požadavek používá pro ověřování odchozích požadavků.The authentication model that the request uses for authenticating outbound requests. Další informace najdete v tématu Přidání ověřování do odchozích volání.For more information, see Add authentication to outbound calls. Kromě Scheduleru authority je tato vlastnost podporovaná.Beyond Scheduler, the authority property is supported. Pokud není zadaný, použije se výchozí hodnota https://management.azure.com/ , ale můžete použít jinou hodnotu.When not specified, the default value is https://management.azure.com/, but you can use a different value.
retryPolicy > type <opakování – chování><retry-behavior> JSON – objektJSON Object Přizpůsobuje chování opakování pro přerušované výpadky, které mají stavový kód 408, 429 a 5XX, a jakékoli výjimky připojení.Customizes the retry behavior for intermittent failures, which have the 408, 429, and 5XX status code, and any connectivity exceptions. Další informace najdete v tématu zásady opakování.For more information, see Retry policies.
<jiné – specifické pro akce-vstup – vlastnosti><other-action-specific-input-properties> <vstupní vlastnost><input-property> JSON – objektJSON Object Všechny další vstupní vlastnosti, které se vztahují na tuto konkrétní akciAny other input properties that apply to this specific action
<jiné – vlastnosti specifické pro akci><other-action-specific-properties> <hodnota vlastnosti><property-value> JSON – objektJSON Object Všechny další vlastnosti, které se vztahují na tuto konkrétní akciAny other properties that apply to this specific action

PříkladExample

Tato definice akce načte poslední novinky odesláním žádosti do zadaného koncového bodu: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"
   }
}

Akce JOINJoin action

Tato akce vytvoří řetězec ze všech položek v poli a oddělí tyto položky zadaným znakem oddělovače.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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<skupin><array> PoleArray Pole nebo výraz, který poskytuje zdrojové položky.The array or expression that provides the source items. Pokud zadáte výraz, uzavřete tento výraz do dvojitých uvozovek.If you specify an expression, enclose that expression with double quotes.
<oddělovač><delimiter> Řetězec s jedním znakemSingle character string Znak, který odděluje každou položku v řetězciThe character that separates each item in the string

PříkladExample

Předpokládejme, že máte dříve vytvořenou proměnnou "myIntegerArray", která obsahuje toto celočíselné pole:Suppose you have a previously created "myIntegerArray" variable that contains this integer array:

[1,2,3,4]

Tato definice akce Získá hodnoty z proměnné pomocí variables() funkce ve výrazu a vytvoří tento řetězec s těmito hodnotami, které jsou odděleny čárkou: "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": {}
}

Analyzovat akci JSONParse JSON action

Tato akce vytvoří uživatelsky přívětivá pole nebo tokeny z vlastností v obsahu JSON.This action creates user-friendly fields or tokens from the properties in JSON content. Pak můžete k těmto vlastnostem přistupovat ve vaší aplikaci logiky pomocí tokenů místo toho.You can then access those properties in your logic app by using the tokens instead. Například pokud chcete použít výstup JSON ze služeb, jako jsou Azure Service Bus a Azure Cosmos DB, můžete tuto akci zahrnout do aplikace logiky, abyste mohli snadněji odkazovat na data v tomto výstupu.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": {}
},

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<JSON – zdroj><JSON-source> JSON – objektJSON Object Obsah JSON, který chcete analyzovatThe JSON content you want to parse
<Schéma JSON><JSON-schema> JSON – objektJSON Object Schéma JSON, které popisuje základní obsah JSON, který akce používá pro analýzu zdrojového obsahu JSON.The JSON schema that describes the underlying the JSON content, which the action uses for parsing the source JSON content.

Tip: v Návrháři Logic Apps můžete buď zadat schéma, nebo zadat ukázkovou datovou část, aby tato akce mohla generovat schéma.Tip: In Logic Apps Designer, you can either provide the schema or provide a sample payload so that the action can generate the schema.

PříkladExample

Tato definice akce vytvoří tyto tokeny, které můžete použít v pracovním postupu, ale pouze v akcích, které se spouštějí po akci analyzovat 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:

FirstName, LastName a EmailFirstName, 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": { }
},

V tomto příkladu vlastnost content určuje obsah JSON pro akci, která se má analyzovat.In this example, the "content" property specifies the JSON content for the action to parse. Tento obsah JSON můžete také poskytnout jako ukázkovou datovou část pro generování schématu.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"
   }
},

Vlastnost Schema Určuje schéma JSON používané pro popis obsahu 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"
            }
         }
      }
   }
}

Akce dotazuQuery action

Tato akce vytvoří pole z položek v jiném poli na základě zadané podmínky nebo filtru.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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<skupin><array> PoleArray Pole nebo výraz, který poskytuje zdrojové položky.The array or expression that provides the source items. Pokud zadáte výraz, uzavřete tento výraz do dvojitých uvozovek.If you specify an expression, enclose that expression with double quotes.
<podmínka nebo filtr><condition-or-filter> ŘetězecString Podmínka použitá pro filtrování položek ve zdrojovém poliThe condition used for filtering items in the source array

Poznámka: Pokud žádné hodnoty neodpovídají této podmínce, pak akce vytvoří prázdné pole.Note: If no values satisfy the condition, then the action creates an empty array.

PříkladExample

Tato definice akce vytvoří pole, které obsahuje hodnoty větší než zadaná hodnota, která je dvě: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)"
   }
}

Akce odpovědiResponse action

Tato akce vytvoří datovou část pro odpověď na požadavek 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": {}
},

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<odpověď – stavový kód><response-status-code> IntegerInteger Stavový kód protokolu HTTP, který je odeslán na příchozí požadavek.The HTTP status code that is sent to the incoming request. Výchozí kód je "200 OK", ale kód může být platný stavový kód, který začíná na 2xx, 4xx nebo 5xx, ale ne s 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.

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<odpovědi – hlavičky><response-headers> JSON – objektJSON Object Jedna nebo více hlaviček, které mají být zahrnuty do odpovědiOne or more headers to include with the response
<text odpovědi><response-body> NěkteréVarious Tělo odpovědi, což může být řetězec, objekt JSON nebo i binární obsah z předchozí akceThe response body, which can be a string, JSON object, or even binary content from a previous action

PříkladExample

Tato definice akce vytvoří odpověď na požadavek HTTP se zadaným stavovým kódem, textem zprávy a hlavičkou zpráv: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": {}
}

OmezeníRestrictions

Na rozdíl od jiných akcí má akce reakce zvláštní omezení:Unlike other actions, the Response action has special restrictions:

  • Pracovní postup může použít akci odpovědi jenom v případě, že se pracovní postup spustí s triggerem požadavku HTTP, což znamená, že váš pracovní postup musí být aktivovaný požadavkem 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.

  • Pracovní postup může použít akci odpovědi kdekoli s výjimkou vnitřních smyček, do smyček, včetně sekvenčních smyček a paralelních větví.Your workflow can use the Response action anywhere except inside Foreach loops, Until loops, including sequential loops, and parallel branches.

  • Původní požadavek obdrží odpověď pracovního postupu pouze v případě, že všechny akce vyžadované akcí Response jsou dokončeny v rámci limitu časového limitu protokolu HTTP.The original request gets your workflow's response only when all actions required by the Response action are finished within the HTTP timeout limit.

    Pokud ale váš pracovní postup volá jinou aplikaci logiky jako vnořený pracovní postup, nadřazený pracovní postup počká, dokud se nedokončí vnořený pracovní postup, bez ohledu na to, kolik času proběhlo před dokončením vnořeného pracovního postupu.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.

  • Když pracovní postup používá akci odpovědi a vzor synchronní odpovědi, pracovní postup nemůže v definici triggeru použít také příkaz splitOn , protože tento příkaz vytvoří více spuštění.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. Pokud je použita metoda PUT a v případě hodnoty true, vyhledejte odpověď "špatný požadavek".Check for this case when the PUT method is used, and if true, return a "bad request" response.

    V opačném případě, pokud váš pracovní postup používá příkaz splitOn a akci odpovědi , pracovní postup se spustí asynchronně a okamžitě vrátí odpověď "202 přijato".Otherwise, if your workflow uses the splitOn command and a Response action, the workflow runs asynchronously and immediately returns a "202 ACCEPTED" response.

  • Když zpracování pracovního postupu dosáhne akce odpovědi , ale příchozí požadavek už odpověď přijal, je akce odpověď označená jako "neúspěšná" kvůli konfliktu.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. A v důsledku toho je vaše spuštění aplikace logiky označeno jako "neúspěšné".And as a result, your logic app run is also marked with "Failed" status.

Vybrat akciSelect action

Tato akce vytvoří pole s objekty JSON transformací položek z jiného pole na základě zadané mapy.This action creates an array with JSON objects by transforming items from another array based on the specified map. Výstupní pole a zdrojové pole mají vždy stejný počet položek.The output array and source array always have the same number of items. I když nemůžete změnit počet objektů ve výstupním poli, můžete přidat nebo odebrat vlastnosti a jejich hodnoty mezi těmito objekty.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. selectVlastnost určuje alespoň jednu dvojici klíč-hodnota, která definuje mapu pro transformaci položek ve zdrojovém poli.The select property specifies at least one key-value pair that define the map for transforming items in the source array. Pár klíč-hodnota představuje vlastnost a její hodnotu napříč všemi objekty ve výstupním poli.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": {}
},

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<skupin><array> PoleArray Pole nebo výraz, který poskytuje zdrojové položky.The array or expression that provides the source items. Ujistěte se, že uzavřete výraz do dvojitých uvozovek.Make sure you enclose an expression with double quotes.

Poznámka: Pokud je zdrojové pole prázdné, akce vytvoří prázdné pole.Note: If the source array is empty, the action creates an empty array.

<název klíče><key-name> ŘetězecString Název vlastnosti přiřazený výsledku z výrazu <> The property name assigned to the result from <expression>

Chcete-li přidat novou vlastnost napříč všemi objekty ve výstupním poli, zadejte <> název klíče pro tuto vlastnost a výraz <> pro hodnotu vlastnosti.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.

Chcete-li odebrat vlastnost ze všech objektů v poli, vynechejte> <název klíče pro tuto vlastnost.To remove a property from all objects in the array, omit the <key-name> for that property.

<vyjádření><expression> ŘetězecString Výraz, který transformuje položku ve zdrojovém poli a přiřadí výsledek do <ho názvu klíče>The expression that transforms the item in the source array and assigns the result to <key-name>

Akce Select vytvoří pole jako výstup, takže jakákoli akce, která chce použít tento výstup, musí buď přijmout pole, nebo musíte převést pole na typ, který přijímá akce příjemce.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. Chcete-li například převést výstupní pole na řetězec, můžete toto pole předat do akce psaní a pak odkazovat na výstup z akce psaní v dalších akcích.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.

PříkladExample

Tato definice akce vytvoří pole objektu JSON z celočíselného pole.This action definition creates a JSON object array from an integer array. Akce prochází ze zdrojového pole, získává jednotlivé celočíselné hodnoty pomocí @item() výrazu a přiřazuje každou hodnotu number Vlastnosti "" v každém objektu JSON: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": {}
},

Toto je pole, které tato akce vytvoří:Here is the array that this action creates:

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

Chcete-li použít tento výstup pole v jiných akcích, předejte tento výstup do akce psaní :To use this array output in other actions, pass this output into a Compose action:

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

Pak můžete použít výstup z akce psaní v dalších akcích, například Office 365 Outlook-odeslat akci e-mailu :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" ]
   }
},

Akce tabulkyTable action

Tato akce vytvoří z pole tabulku CSV nebo HTML.This action creates a CSV or HTML table from an array. U polí s objekty JSON Tato akce automaticky vytvoří záhlaví sloupců z názvů vlastností objektů.For arrays with JSON objects, this action automatically creates the column headers from the objects' property names. Pro pole s jinými datovými typy musíte zadat záhlaví sloupců a hodnoty.For arrays with other data types, you must specify the column headers and values. Například toto pole zahrnuje vlastnosti "ID" a "Product_Name", které tato akce může použít pro názvy záhlaví sloupců: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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<CSV or HTML> ŘetězecString Formát tabulky, kterou chcete vytvořitThe format for the table you want to create
<skupin><array> PoleArray Pole nebo výraz, který poskytuje zdrojové položky pro tabulkuThe array or expression that provides the source items for the table

Poznámka: Pokud je zdrojové pole prázdné, akce vytvoří prázdnou tabulku.Note: If the source array is empty, the action creates an empty table.

VolitelnéOptional

Chcete-li zadat nebo přizpůsobit záhlaví a hodnoty sloupců, použijte columns pole.To specify or customize column headers and values, use the columns array. Pokud header-value mají páry stejný název záhlaví, zobrazí se jejich hodnoty ve stejném sloupci pod tímto názvem záhlaví.When header-value pairs have the same header name, their values appear in the same column under that header name. V opačném případě každá jedinečná hlavička definuje jedinečný sloupec.Otherwise, each unique header defines a unique column.

HodnotaValue TypType DescriptionDescription
<název sloupce><column-name> ŘetězecString Název záhlaví sloupceThe header name for a column
<hodnota sloupce><column-value> VšechnyAny Hodnota v tomto sloupciThe value in that column

Příklad 1Example 1

Předpokládejme, že máte dříve vytvořenou proměnnou "myItemArray", která aktuálně obsahuje toto pole:Suppose you have a previously created "myItemArray" variable that currently contains this array:

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

Tato definice akce vytvoří tabulku CSV z proměnné "myItemArray".This action definition creates a CSV table from the "myItemArray" variable. Výraz použitý from vlastností získá pole z "myItemArray" pomocí variables() funkce: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": {}
}

Tady je tabulka CSV, kterou tato akce vytvoří:Here is the CSV table that this action creates:

ID,Product_Name 
0,Apples 
1,Oranges 

Příklad 2Example 2

Tato definice akce vytvoří tabulku HTML z proměnné "myItemArray".This action definition creates an HTML table from the "myItemArray" variable. Výraz použitý from vlastností získá pole z "myItemArray" pomocí variables() funkce: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": {}
}

Tady je tabulka HTML, kterou tato akce vytvoří:Here is the HTML table that this action creates:

IDIDProduct_NameProduct_Name
00JablkApples
11OrangesOranges

Příklad 3Example 3

Tato definice akce vytvoří tabulku HTML z proměnné "myItemArray".This action definition creates an HTML table from the "myItemArray" variable. Tento příklad však přepíše výchozí názvy záhlaví sloupců "Stock_ID" a "Description" a přidá slovo "organické" do hodnot ve sloupci "Popis".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": {}
},

Tady je tabulka HTML, kterou tato akce vytvoří:Here is the HTML table that this action creates:

Stock_IDStock_IDPopisDescription
00Organické jablkaOrganic Apples
11Organické pomerančeOrganic Oranges

Akce ukončeníTerminate action

Tato akce zastaví běh instance pracovního postupu, zruší všechny probíhající akce, přeskočí všechny zbývající akce a vrátí zadaný stav.This action stops the run for a workflow instance, cancels any actions in progress, skips any remaining actions, and returns the specified status. Můžete například použít akci ukončit , pokud se aplikace logiky musí úplně ukončit z chybového stavu.For example, you can use the Terminate action when your logic app must exit completely from an error state. Tato akce nemá vliv na již dokončené akce a nemůže se objevit uvnitř foreach a do smyček, včetně sekvenčních smyček.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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<stav><status> ŘetězecString Stav, který se má vrátit pro spuštění: "neúspěšné", "zrušené" nebo "úspěch"The status to return for the run: "Failed", "Cancelled", or "Succeeded"

VolitelnéOptional

Vlastnosti objektu "runStatus" platí pouze v případě, že vlastnost "runStatus" je nastavena na hodnotu "Failed".The properties for the "runStatus" object apply only when the "runStatus" property is set to "Failed" status.

HodnotaValue TypType DescriptionDescription
<Chyba – kód-nebo-název><error-code-or-name> ŘetězecString Kód nebo název chybyThe code or name for the error
<chyba – zpráva><error-message> ŘetězecString Zpráva nebo text, který popisuje chybu a všechny akce, které může uživatel aplikace provéstThe message or text that describes the error and any actions the app user can take

PříkladExample

Tato definice akce zastaví běh pracovního postupu, nastaví stav spuštění na "neúspěšné" a vrátí stav, kód chyby a chybovou zprávu: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": {}
}

Akce čekáníWait action

Tato akce pozastaví provádění pracovního postupu v zadaném intervalu nebo do zadaného času, ale ne obojího.This action pauses workflow execution for the specified interval or until the specified time, but not both.

Zadaný intervalSpecified interval

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

Zadaný časSpecified time

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

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<počet jednotek><number-of-units> IntegerInteger Pro akci zpoždění počet jednotek, které se mají čekatFor the Delay action, the number of units to wait
<doba><interval> ŘetězecString Pro akci zpoždění interval čekání: "Second", "Minute", "hour", "Day", "Week", "Month"For the Delay action, the interval to wait: "Second", "Minute", "Hour", "Day", "Week", "Month"
<časové razítko pro datum a čas><date-time-stamp> ŘetězecString Pro zpoždění až do akce, datum a čas, kdy se má pokračovat v provádění.For the Delay Until action, the date and time to resume execution. Tato hodnota musí používat formát data a času UTC.This value must use the UTC date time format.

Příklad 1Example 1

Tato definice akce pozastaví pracovní postup na 15 minut:This action definition pauses the workflow for 15 minutes:

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

Příklad 2Example 2

Tato definice akce pozastaví pracovní postup do zadaného času:This action definition pauses the workflow until the specified time:

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

Akce pracovního postupuWorkflow action

Tato akce volá další dříve vytvořenou aplikaci logiky, což znamená, že můžete zahrnout a znovu použít jiné pracovní postupy aplikace logiky.This action calls another previously created logic app, which means you can include and reuse other logic app workflows. V akcích, které následují po vnořené aplikaci logiky, můžete také použít výstupy z podřízené Aplikace logiky , za předpokladu, že podřízená aplikace logiky vrátí odpověď.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.

Modul Logic Apps kontroluje přístup k triggeru, který chcete volat, takže se ujistěte, že k této aktivační události máte přístup.The Logic Apps engine checks access to the trigger you want to call, so make sure you can access that trigger. Také vnořená aplikace logiky musí splňovat tato kritéria:Also, the nested logic app must meet these criteria:

  • Aktivační událost zpřístupňuje vnořenou aplikaci logiky, jako je požadavek nebo Trigger http .A trigger makes the nested logic app callable, such as a Request or HTTP trigger

  • Stejné předplatné Azure jako vaše nadřazená aplikace logikyThe same Azure subscription as your parent logic app

  • Chcete-li použít výstupy z vnořené aplikace logiky v nadřazené aplikaci logiky, vnořená aplikace logiky musí mít akci odpovědi .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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<vnořená logika – App-Name><nested-logic-app-name> ŘetězecString Název aplikace logiky, kterou chcete volatThe name for the logic app you want to call
<Název aktivační události><trigger-name> ŘetězecString Název triggeru ve vnořené aplikaci logiky, kterou chcete volatThe name for the trigger in the nested logic app you want to call
<Azure-Subscription-ID><Azure-subscription-ID> ŘetězecString ID předplatného Azure pro vnořenou aplikaci logikyThe Azure subscription ID for the nested logic app
<Azure-Resource-Group><Azure-resource-group> ŘetězecString Název skupiny prostředků Azure pro vnořenou aplikaci logikyThe Azure resource group name for the nested logic app
<vnořená logika – App-Name><nested-logic-app-name> ŘetězecString Název aplikace logiky, kterou chcete volatThe name for the logic app you want to call

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<Hlavička-obsah><header-content> JSON – objektJSON Object Všechna záhlaví k odeslání pomocí voláníAny headers to send with the call
<text obsahu><body-content> JSON – objektJSON Object Veškerý obsah zprávy, který má být odeslán s volánímAny message content to send with the call

VýstupyOutputs

Výstupy této akce se liší v závislosti na akci reakce na vnořenou aplikaci logiky.This action's outputs vary based on the nested logic app's Response action. Pokud vnořená aplikace logiky neobsahuje akci odpovědi, jsou výstupy prázdné.If the nested logic app doesn't include a Response action, the outputs are empty.

PříkladExample

Po úspěšném dokončení akce "Start_search" volá Tato definice akce pracovního postupu jinou aplikaci logiky s názvem "Get_product_information", která předává zadané vstupy: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" ]
      }
   }
},

Podrobnosti akce kontrolního pracovního postupuControl workflow action details

Akce foreachForeach action

Tato akce smyčky projde polem a provede akce u každé položky pole.This looping action iterates through an array and performs actions on each array item. Ve výchozím nastavení se smyčka "for each" spouští paralelně až do maximálního počtu smyček.By default, the "for each" loop runs in parallel up to a maximum number of loops. Pro toto maximum viz omezení a konfigurace. Naučte se vytvářet smyčky 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>"
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<akce – 1... n><action-1...n> ŘetězecString Názvy akcí, které se spouštějí na každé položce poleThe names of the actions that run on each array item
<akce – definice-1... n><action-definition-1...n> JSON – objektJSON Object Definice akcí, které se spouštějíThe definitions of the actions that run
<for-each-Expression><for-each-expression> ŘetězecString Výraz, který odkazuje na každou položku v zadaném poliThe expression that references each item in the specified array

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<výpočtu><count> IntegerInteger Ve výchozím nastavení se iterace smyčky for each spouští současně (souběžně nebo paralelně) až do výchozího limitu.By default, the "for each" loop iterations run at the same time (concurrently or in parallel) up to the default limit. Pokud chcete tento limit změnit nastavením nového <počet> hodnoty, přečtěte si téma Změna pro každou souběžnou smyčku.To change this limit by setting a new <count> value, see Change "for each" loop concurrency.
<operace – možnost><operation-option> ŘetězecString Chcete-li spustit smyčku "for each" sekvenčně, nikoli paralelně, nastavte buď možnost <operace-> na Sequential nebo <> Count 1 , ale ne obojí.To run a "for each" loop sequentially, rather than in parallel, set either <operation-option> to Sequential or <count> to 1, but not both. Další informace najdete v tématu spuštění smyčky for each postupně.For more information, see Run "for each" loops sequentially.

PříkladExample

Tato smyčka for each pošle e-mail pro každou položku v poli, která obsahuje přílohy z příchozího e-mailu.This "for each" loop sends an email for each item in the array, which contains attachments from an incoming email. Smyčka pošle e-mail, včetně přílohy, osobě, která přílohu prověří.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": {}
}

Chcete-li určit pouze pole, které je předáno jako výstup z triggeru, tento výraz získá <pole -název> pole z těla triggeru.To specify only an array that is passed as output from the trigger, this expression gets the <array-name> array from the trigger body. Chcete-li se vyhnout selhání, pokud pole neexistuje, výraz používá ? operátor:To avoid a failure if the array doesn't exist, the expression uses the ? operator:

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

Pokud akceIf action

Tato akce, která je podmíněným příkazem, vyhodnotí výraz, který představuje podmínku, a spustí jinou větev na základě toho, zda je podmínka pravdivá nebo 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. Pokud je podmínka pravdivá, bude podmínka označena stavem "úspěch".If the condition is true, the condition is marked with "Succeeded" status. Naučte se vytvářet podmíněné příkazy.Learn how to create conditional statements.

"Condition": {
   "type": "If",
   "expression": { "<condition>" },
   "actions": {
      "<action-1>": { "<action-definition>" }
   },
   "else": {
      "actions": {
        "<action-2>": { "<action-definition" }
      }
   },
   "runAfter": {}
}
HodnotaValue TypType DescriptionDescription
<pomocné><condition> JSON – objektJSON Object Podmínka, která může být výrazem, k vyhodnoceníThe condition, which can be an expression, to evaluate
<akce – 1><action-1> JSON – objektJSON Object Akce, která se má spustit, když <podmínka> vyhodnotí na trueThe action to run when <condition> evaluates to true
<definice akce><action-definition> JSON – objektJSON Object Definice akceThe definition for the action
<akce – 2><action-2> JSON – objektJSON Object Akce, která se má spustit, když <podmínka> vyhodnotí na falseThe action to run when <condition> evaluates to false

Akce v actions else objektech nebo získají tyto stavy:The actions in the actions or else objects get these statuses:

  • Úspěch při spuštění a úspěšném dokončení"Succeeded" when they run and succeed
  • Selhání při spuštění a selhání"Failed" when they run and fail
  • "Přeskočeno" při nespuštění příslušné větve"Skipped" when the respective branch doesn't run

PříkladExample

Tato podmínka Určuje, že když má celočíselná proměnná hodnotu větší než nula, pracovní postup zkontroluje web.This condition specifies that when the integer variable has a value greater than zero, the workflow checks a website. Pokud je proměnná nula nebo menší, pracovní postup zkontroluje jiný 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": {}
}

Jak podmínky používají výrazyHow conditions use expressions

Tady je několik příkladů, které ukazují, jak můžete používat výrazy v podmínkách:Here are some examples that show how you can use expressions in conditions:

JSONJSON VýsledekResult
"Expression": " @parameters (' <hasSpecialAction> ')""expression": "@parameters('<hasSpecialAction>')" Pouze pro logické výrazy je podmínka předána pro libovolnou hodnotu, která je vyhodnocena na hodnotu true.For Boolean expressions only, the condition passes for any value that evaluates to true.

Chcete-li převést jiné typy na logické, použijte tyto funkce: empty() nebo equals() .To convert other types to Boolean, use these functions: empty() or equals().

"Expression": " @greater (akce (' <Action> '). Output. Value; parameters (' <prahová hodnota> '))"expression": "@greater(actions('<action>').output.value, parameters('<threshold>'))" Pro funkce porovnání je akce spuštěna pouze v případě, že výstup z <action> je větší než <prahová hodnota> Value.For comparison functions, the action runs only when the output from <action> is more than the <threshold> value.
"Expression": " @or (akce (' <Action> '). Output. Value, parameters (' <prahová hodnota> ')), less (Actions (' <stejné akce> '). Output. Value, 100))""expression": "@or(greater(actions('<action>').output.value, parameters('<threshold>')), less(actions('<same-action>').output.value, 100))" U logických funkcí a vytváření vnořených logických výrazů se akce spustí, když je výstup z <action> větší než <prahová hodnota> nebo pod 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 (délka (Actions (' <Action> '). Outputs. Errors)"; 0)) ""expression": "@equals(length(actions('<action>').outputs.errors), 0))" Můžete použít funkce pole pro kontrolu, zda pole obsahuje nějaké položky.You can use array functions for checking whether the array has any items. Akce se spustí, když errors je pole prázdné.The action runs when the errors array is empty.

Akce oboruScope action

Tato akce logicky seskupuje akce do oborů, které po dokončení akcí v daném rozsahu získají svůj vlastní stav.This action logically groups actions into scopes, which get their own status after the actions in that scope finish running. Pak můžete použít stav oboru a určit, zda se spustí jiné akce.You can then use the scope's status to determine whether other actions run. Naučte se vytvářet obory.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": {}
      }
   }
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<vnitřní akce-1... n><inner-action-1...n> JSON – objektJSON Object Jedna nebo více akcí, které se spouštějí v rámci oboruOne or more actions that run inside the scope
<akce – vstupy><action-inputs> JSON – objektJSON Object Vstupy pro každou akciThe inputs for each action

Akce SwitchSwitch action

Tato akce, označovaná také jako příkaz switch, uspořádá další akce do případů a přiřadí hodnotu každému případu s výjimkou výchozího případu, pokud existuje.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. Když je pracovní postup spuštěn, akce přepínače porovná hodnotu z výrazu, objektu nebo tokenu s hodnotami zadanými pro každý případ.When your workflow runs, the Switch action compares the value from an expression, object, or token against the values specified for each case. Pokud akce Switch najde odpovídající případ, bude pracovní postup spouštět pouze akce pro tento případ.If the Switch action finds a matching case, your workflow runs only the actions for that case. Pokaždé, když se spustí akce Přepnutí , buď existuje pouze jeden odpovídající případ, nebo žádné shody neexistují.Each time the Switch action runs, either only one matching case exists or no matches exist. Pokud žádné shody neexistují, akce Přepnutí spustí výchozí akce.If no matches exist, the Switch action runs the default actions. Naučte se vytvářet příkazy 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": {}
}

PovinnéRequired

HodnotaValue TypType DescriptionDescription
<výraz-objekt-nebo-token><expression-object-or-token> RůznéVaries Výraz, objekt JSON nebo token k vyhodnoceníThe expression, JSON object, or token to evaluate
<název akce><action-name> ŘetězecString Název akce, která se má spustit pro případ porovnáníThe name of the action to run for the matching case
<definice akce><action-definition> JSON – objektJSON Object Definice akce, která má být spuštěna pro srovnávací případThe definition for the action to run for the matching case
<shoda s hodnotou><matching-value> RůznéVaries Hodnota, která se má porovnat s vyhodnoceným výsledkemThe value to compare with the evaluated result

VolitelnéOptional

HodnotaValue TypType DescriptionDescription
<Výchozí hodnota – název akce><default-action-name> ŘetězecString Název výchozí akce, která má být spuštěna, pokud neexistuje žádný vyhovující případThe name of the default action to run when no matching case exists
<výchozí – definice akce><default-action-definition> JSON – objektJSON Object Definice akce, která má být spuštěna, pokud neexistuje žádný vyhovující případThe definition for the action to run when no matching case exists

PříkladExample

Tato definice akce vyhodnocuje, zda osoba, která reaguje na e-mail s požadavkem na schválení, vybrala možnost schválit nebo zamítnout.This action definition evaluates whether the person responding to the approval request email selected the "Approve" option or the "Reject" option. Na základě této volby spustí akce Switch akce pro odpovídající případ, což znamená odeslání dalšího e-mailu na respondér, ale s různými slovy v každém případě.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"
      ]
   }
}

Až do akceUntil action

Tato akce smyčky obsahuje akce, které se spustí, dokud není zadaná podmínka pravdivá.This loop action contains actions that run until the specified condition is true. Smyčka zkontroluje podmínku jako poslední krok po spuštění všech ostatních akcí.The loop checks the condition as the last step after all other actions have run. Do objektu můžete zahrnout více než jednu akci "actions" a akce musí definovat alespoň jeden limit.You can include more than one action in the "actions" object, and the action must define at least one limit. Přečtěte si, jak vytvořit smyčky "do".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": {}
}
HodnotaValue TypType DescriptionDescription
<název akce><action-name> ŘetězecString Název akce, kterou chcete spustit uvnitř smyčky.The name for the action you want to run inside the loop
<Typ akce><action-type> ŘetězecString Typ akce, kterou chcete spustitThe action type you want to run
<akce – vstupy><action-inputs> NěkteréVarious Vstupy pro akci, která se má spustitThe inputs for the action to run
<pomocné><condition> ŘetězecString Podmínka nebo výraz, který se má vyhodnotit po dokončení všech akcí ve smyčceThe condition or expression to evaluate after all the actions in the loop finish running
<počet cyklů><loop-count> IntegerInteger Limit nejvyšší hodnoty smyček, které mohou být akce spuštěny.The limit on the most number of loops that the action can run. Další informace o výchozím omezení a maximálním limitu najdete v tématu omezení a konfigurace pro Azure Logic Apps.For more information about the default limit and maximum limit, see Limits and configuration for Azure Logic Apps.
<smyčka – časový limit><loop-timeout> ŘetězecString Limit v nejdelší době, kdy může být smyčka spuštěna.The limit on the longest time that the loop can run. Výchozí timeout hodnota je PT1H , což je požadovaný formát ISO 8601.The default timeout value is PT1H, which is the required ISO 8601 format.

Poznámka

Pokud výraz závisí na výstupu z jakékoli akce v rámci smyčky do, ujistěte se, že jste se přihlédli k jakékoli chybě, která je výsledkem této akce.If the expression depends on the output from any action within the Until loop, make sure that you account for any failure that results from that action.

PříkladExample

Tato definice akce smyčky pošle požadavek HTTP na zadanou adresu URL, dokud není splněna jedna z těchto podmínek:This loop action definition sends an HTTP request to the specified URL until one of these conditions is met:

  • Požadavek obdrží odpověď se stavovým kódem "200 OK".The request gets a response with the "200 OK" status code.
  • Smyčka byla spuštěna 60 krát.The loop has run 60 times.
  • Smyčka byla spuštěna po dobu jedné hodiny.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": {}
}

Webhooky a předplatnáWebhooks and subscriptions

Triggery a akce založené na Webhooku pravidelně kontrolují koncové body, ale místo toho čekají na konkrétní události nebo data v těchto koncových bodech.Webhook-based triggers and actions don't regularly check endpoints, but wait for specific events or data at those endpoints instead. Tyto triggery a akce se přihlásí k odběru koncových bodů zadáním adresy URL zpětného volání , kde koncový bod může odesílat odpovědi.These triggers and actions subscribe to the endpoints by providing a callback URL where the endpoint can send responses.

K subscribe volání dojde v případě, že se pracovní postup změní jakýmkoli způsobem, například při obnovení přihlašovacích údajů nebo při změně vstupních parametrů triggeru nebo akce.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. Toto volání používá stejné parametry jako standardní akce HTTP.This call uses the same parameters as standard HTTP actions.

K unsubscribe automatickému vyvolání dojde, když operace provede Trigger nebo akci není platná, například:The unsubscribe call automatically happens when an operation makes the trigger or action invalid, for example:

  • Odstranění nebo zakázání triggeruDeleting or disabling the trigger.
  • Odstranění nebo zakázání pracovního postupu.Deleting or disabling the workflow.
  • Odstraňuje nebo zakáže odběr.Deleting or disabling the subscription.

Pro podporu těchto volání @listCallbackUrl() výraz vrací jedinečnou "adresu URL zpětného volání" pro aktivační událost nebo akci.To support these calls, the @listCallbackUrl() expression returns a unique "callback URL" for the trigger or action. Tato adresa URL představuje jedinečný identifikátor koncových bodů, které používají REST API služby.This URL represents a unique identifier for the endpoints that use the service's REST API. Parametry této funkce jsou stejné jako Trigger nebo akce Webhooku.The parameters for this function are the same as the webhook trigger or action.

Změnit asynchronní dobu trváníChange asynchronous duration

Pro aktivační události a akce můžete omezit dobu trvání asynchronního vzoru na určitý časový interval přidáním limit.timeout Vlastnosti.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. Tímto způsobem platí, že pokud se akce nedokončila v případě, že uplyne interval, je stav akce označený jako Cancelled ActionTimedOut kód.That way, if the action hasn't finished when the interval lapses, the action's status is marked as Cancelled with the ActionTimedOut code. timeoutVlastnost používá formát ISO 8601.The timeout property uses ISO 8601 format.

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

Nastavení konfigurace modulu runtimeRuntime configuration settings

Můžete změnit výchozí chování za běhu pro triggery a akce přidáním těchto runtimeConfiguration vlastností do definice triggeru nebo akce.You can change the default runtime behavior for triggers and actions by adding these runtimeConfiguration properties to the trigger or action definition.

VlastnostProperty TypType DescriptionDescription Aktivační událost nebo akceTrigger or action
runtimeConfiguration.concurrency.runs IntegerInteger Změňte výchozí limit počtu instancí pracovního postupu, které lze spustit současně (souběžně nebo paralelně).Change the default limit on the number of workflow instances that can run at the same time (concurrently or in parallel). Úprava této hodnoty může přispět k omezení počtu požadavků, které systém back-end obdrží.Adjusting this value can help limit the number of requests that backend systems receive.

Nastavení runs vlastnosti na 1 funguje stejným způsobem jako nastavení operationOptions vlastnosti SingleInstance .Setting the runs property to 1 works the same way as setting the operationOptions property to SingleInstance. Můžete nastavit buď vlastnost, ale ne obojí.You can set either property, but not both.

Chcete-li změnit výchozí limit, přečtěte si téma Změna souběžnosti triggeru nebo instancí triggerů.To change the default limit, see Change trigger concurrency or Trigger instances sequentially.

Všechny triggeryAll triggers
runtimeConfiguration.concurrency.maximumWaitingRuns IntegerInteger Změňte výchozí limit počtu instancí pracovního postupu, které musí čekat na spuštění, když aplikace logiky už používá maximální počet souběžných instancí.Change the default limit on the number of workflow instances that must wait to run when your logic app is already running the maximum concurrent instances.

Pokud chcete změnit výchozí limit, přečtěte si téma Změna limitu čekání na spuštění.To change the default limit, see Change waiting runs limit.

Všechny triggeryAll triggers
runtimeConfiguration.concurrency.repetitions IntegerInteger Změňte výchozí limit počtu iterací smyčky "for each", které lze spustit současně (souběžně nebo paralelně).Change the default limit on the number of "for each" loop iterations that can run at the same time (concurrently or in parallel).

Nastavení repetitions vlastnosti na 1 funguje stejným způsobem jako nastavení operationOptions vlastnosti SingleInstance .Setting the repetitions property to 1 works the same way as setting the operationOptions property to SingleInstance. Můžete nastavit buď vlastnost, ale ne obojí.You can set either property, but not both.

Chcete-li změnit výchozí limit, přečtěte si téma Změna "pro každou" souběžnou "nebo běh" pro každou "smyčku.To change the default limit, see Change "for each" concurrency or Run "for each" loops sequentially.

Akce:Action:

ForeachForeach

runtimeConfiguration.paginationPolicy.minimumItemCount IntegerInteger Pro konkrétní akce, které podporují a mají zapnuté stránkování, tato hodnota určuje minimální počet výsledků, které se mají načíst.For specific actions that support and have pagination turned on, this value specifies the minimum number of results to retrieve.

Pokud chcete zapnout stránkování, přečtěte si téma získání hromadných dat, položek nebo výsledků pomocí stránkování .To turn on pagination, see Get bulk data, items, or results by using pagination

Akce: proměnlivéAction: Varied
runtimeConfiguration.secureData.properties PoleArray U mnoha triggerů a akcí tato nastavení skrývá vstupy, výstupy nebo obojí z historie spuštění aplikace logiky.On many triggers and actions, these settings hide inputs, outputs, or both from the logic app's run history.

Další informace o zabezpečení těchto dat najdete v tématu skrytí vstupů a výstupů z historie spuštění.To learn more about safeguarding this data, see Hide inputs and outputs from run history.

Většina aktivačních událostí a akcíMost triggers and actions
runtimeConfiguration.staticResult JSON – objektJSON Object Pro akce, které podporují a mají nastavení statického výsledku zapnuto, staticResult má objekt tyto atributy:For actions that support and have the static result setting turned on, the staticResult object has these attributes:

- name, který odkazuje na název definice statického výsledku aktuální akce, který se zobrazí uvnitř staticResults atributu v atributu pracovního postupu aplikace logiky definition .- 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. Další informace najdete v tématu statické výsledky – reference schématu pro jazyk definice pracovního postupu.For more information, see Static results - Schema reference for Workflow Definition Language.

- staticResultOptions, který určuje, zda jsou statické výsledky Enabled pro aktuální akci nebo nikoli.- staticResultOptions, which specifies whether static results are Enabled or not for the current action.

Pokud chcete zapnout statické výsledky, přečtěte si téma test Logic Apps s napodobnou daty nastavením statických výsledků .To turn on static results, see Test logic apps with mock data by setting up static results

Akce: proměnlivéAction: Varied

Možnosti operaceOperation options

Můžete změnit výchozí chování triggerů a akcí pomocí operationOptions vlastnosti v definici Trigger nebo Action.You can change the default behavior for triggers and actions with the operationOptions property in trigger or action definition.

Možnost operaceOperation option TypType DescriptionDescription Aktivační událost nebo akceTrigger or action
DisableAsyncPattern ŘetězecString Spouštějte akce založené na protokolu HTTP synchronně, nikoli asynchronně.Run HTTP-based actions synchronously, rather than asynchronously.

Chcete-li nastavit tuto možnost, přečtěte si téma Run Actions synchronně.To set this option, see Run actions synchronously.

ČinnostíActions:

Vstupech apiconnection,ApiConnection,
Http,HTTP,
Response (Odpověď)Response

IncludeAuthorizationHeadersInOutputs ŘetězecString Pro Logic Apps, které umožňují Azure Active Directory Open Authentication (Azure AD OAuth) autorizovat přístup pro příchozí volání do koncového bodu triggeru na základě požadavků, zahrňte do Authorization výstupů aktivační události hlavičku z přístupového tokenu OAuth.For logic apps that enable Azure Active Directory Open Authentication (Azure AD OAuth) to authorize access for inbound calls to a request-based trigger endpoint, include the Authorization header from the OAuth access token in the trigger outputs. Další informace najdete v tématu zahrnutí ' autorizace ' do výstupů triggeru žádosti.For more information, see Include 'Authorization' header in request trigger outputs. ZprávTriggers:

Žádost,Request,
HTTP WebhookHTTP Webhook

Sequential ŘetězecString Spouštějte každou iteraci cyklů "for each" v jednom okamžiku, nikoli současně paralelně.Run "for each" loop iterations one at a time, rather than all at the same time in parallel.

Tato možnost funguje stejným způsobem jako nastavení runtimeConfiguration.concurrency.repetitions vlastnosti na 1 .This option works the same way as setting the runtimeConfiguration.concurrency.repetitions property to 1. Můžete nastavit buď vlastnost, ale ne obojí.You can set either property, but not both.

Chcete-li nastavit tuto možnost, přečtěte si část spuštění smyčky for each postupně.To set this option, see Run "for each" loops sequentially.

Akce:Action:

ForeachForeach

SingleInstance ŘetězecString Spusťte Trigger pro každou instanci aplikace logiky postupně a počkejte na dokončení dříve aktivního běhu a počkejte, než se aktivuje další instance aplikace logiky.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.

Tato možnost funguje stejným způsobem jako nastavení runtimeConfiguration.concurrency.runs vlastnosti na 1 .This option works the same way as setting the runtimeConfiguration.concurrency.runs property to 1. Můžete nastavit buď vlastnost, ale ne obojí.You can set either property, but not both.

Pokud chcete tuto možnost nastavit, přečtěte si téma instance triggeru postupně.To set this option, see Trigger instances sequentially.

Všechny triggeryAll triggers

Změna souběžnosti triggeruChange trigger concurrency

Ve výchozím nastavení se instance pracovního postupu aplikace logiky spouštějí současně (souběžně nebo paralelně).By default, logic app workflow instances all run at the same time (concurrently or in parallel). Toto chování znamená, že každá instance triggeru je aktivována předtím, než se spustí dřív aktivní instance pracovního postupu.This behavior means that each trigger instance fires before the previously active workflow instance finishes running. Počet souběžně spuštěných instancí má však výchozí limit.However, the number of concurrently running instances has a default limit. Když počet souběžně spuštěných instancí pracovních postupů dosáhne tohoto limitu, všechny ostatní nové instance musí počkat na spuštění.When the number of concurrently running workflow instances reaches this limit, any other new instances must wait to run. Tento limit pomáhá řídit počet požadavků, které systém back-end obdrží.This limit helps control the number of requests that backend systems receive.

Když zapnete řízení souběžnosti triggeru, triggery se spustí paralelně až do výchozího limitu.When you turn on the trigger's concurrency control, trigger instances run in parallel up to the default limit. Chcete-li změnit tento výchozí limit souběžnosti, můžete použít buď editor zobrazení kódu, nebo návrháře Logic Apps, protože Změna nastavení souběžnosti prostřednictvím návrháře přidá nebo aktualizuje runtimeConfiguration.concurrency.runs vlastnost v základní definici triggeru a naopak.To change this default concurrency 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. Tato vlastnost určuje maximální počet nových instancí pracovního postupu, které mohou být spuštěny paralelně.This property controls the maximum number of new workflow instances that can run in parallel.

Tady je několik důležitých informací, které je potřeba zkontrolovat, než povolíte souběžnost u triggeru:Here are some considerations to review before you enable concurrency on a trigger:

  • Souběžnost po povolení řízení souběžnosti nemůžete zakázat souběžnost.You can't disable concurrency after you enable the concurrency control.

  • Pokud je povolená souběžnost povolená, limit SplitOn se výrazně zkracuje pro pole pro dedávkování.When concurrency is enabled, the SplitOn limit is significantly reduced for debatching arrays. Pokud počet položek překročí tento limit, funkce SplitOn je zakázaná.If the number of items exceeds this limit, the SplitOn capability is disabled.

  • Pokud je povoleno souběžnost, může dlouhotrvající instance aplikace logiky způsobit, že nové instance aplikace logiky vstoupí do stavu čekání.When concurrency is enabled, a long-running logic app instance might cause new logic app instances to enter a waiting state. Tento stav zabraňuje Azure Logic Apps vytváření nových instancí a probíhá i v případě, že počet souběžných spuštění je menší, než je stanovený maximální počet souběžných spuštění.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.

    • Chcete-li tento stav přerušit, zrušte nejstarší instance, které jsou stále spuštěny.To interrupt this state, cancel the earliest instances that are still running.

      1. V nabídce aplikace logiky zvolte Přehled.On your logic app's menu, select Overview.

      2. V části historie spuštění vyberte nejstarší instanci, která je pořád spuštěná, třeba:In the Runs history section, select the earliest instance that is still running, for example:

        Vybrat nejstarší spuštěnou instanci

        Tip

        Chcete-li zobrazit pouze instance, které jsou stále spuštěny, otevřete seznam všechny a vyberte možnost spuštěno.To view only instances that are still running, open the All list, and select Running.

      3. V části spuštění aplikace logiky vyberte zrušit spuštění.Under Logic app run, select Cancel run.

        Najít nejstarší spuštěnou instanci

    • Tuto možnost můžete obejít tak, že přidáte časový limit k jakékoli akci, která by mohla obsahovat tyto běhy.To work around this possibility, add a timeout to any action that might hold up these runs. Pokud pracujete v editoru kódu, přečtěte si téma Změna asynchronního trvání.If you're working in the code editor, see Change asynchronous duration. V opačném případě, pokud používáte návrháře, postupujte podle následujících kroků:Otherwise, if you're using the designer, follow these steps:

      1. V aplikaci logiky na akci, kam chcete přidat časový limit, v pravém horním rohu vyberte tlačítko se třemi tečkami (...) a pak vyberte Nastavení.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.

        Otevřít nastavení akce

      2. V části časový limit zadejte dobu trvání časového limitu ve formátu ISO 8601.Under Timeout, specify the timeout duration in ISO 8601 format.

        Zadat dobu trvání časového limitu

  • Chcete-li spustit aplikaci logiky sekvenčně, nastavte souběžnost triggeru na 1 buď pomocí editoru zobrazení kódu nebo návrháře.To run your logic app sequentially, set the trigger's concurrency to 1 either by using the code view editor or the designer. Ujistěte se, že jste vlastnost triggeru nestavili také operationOptions na SingleInstance v editoru zobrazení kódu.Make sure that you don't also set the trigger's operationOptions property to SingleInstance in the code view editor. V opačném případě se zobrazí chyba ověřování.Otherwise, you get a validation error. Další informace najdete v tématu Postup při sekvenčním spuštění instancí.For more information, see Trigger instances sequentially.

Upravit v zobrazení kóduEdit in code view

V definici základní aktivační události přidejte runtimeConfiguration.concurrency.runs vlastnost a nastavte hodnotu na základě limitů souběžnosti triggeru.In the underlying trigger definition, add the runtimeConfiguration.concurrency.runs property, and set the value based on the trigger concurrency limits. Pokud chcete pracovní postup spustit sekvenčně, nastavte hodnotu vlastnosti na 1 .To run your workflow sequentially, set the property value to 1.

Tento příklad omezuje souběžné běhy na 10 instancí:This example limits concurrent runs to 10 instances:

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

Další informace najdete v tématu nastavení konfigurace modulu runtime.For more information, see Runtime configuration settings.

Upravit v Návrháři Logic AppsEdit in Logic Apps Designer

  1. V pravém horním rohu triggeru vyberte tlačítko se třemi tečkami (...) a pak vyberte Nastavení.In the trigger's upper-right corner, select the ellipses (...) button, and then select Settings.

  2. V části řízení souběžnosti nastavte omezit na zapnuto.Under Concurrency Control, set Limit to On.

  3. Přetáhněte jezdec stupeň paralelismu na požadovanou hodnotu.Drag the Degree of Parallelism slider to the value you want. Pokud chcete aplikaci logiky spustit sekvenčně, přetáhněte ji na hodnotu 1.To run your logic app sequentially, drag the slider value to 1.

Změna "pro každou" souběžnostChange "for each" concurrency

Ve výchozím nastavení se všechny iterace smyčky for each spustí současně (současně nebo paralelně).By default, "for each" loop iterations all run at the same time (concurrently or in parallel). Toto chování znamená, že každá iterace začne běžet před dokončením předchozí iterace.This behavior means that each iteration starts running before the previous iteration finishes running. Počet souběžně spuštěných iterací však má výchozí limit.However, the number of concurrently running iterations has a default limit. Když počet souběžně spuštěných iterací dosáhne tohoto limitu, musí všechny ostatní iterace počkat na spuštění.When the number of concurrently running iterations reaches this limit, any other iterations must wait to run.

Chcete-li změnit výchozí limit, můžete použít buď editor zobrazení kódu, nebo návrháře Logic Apps, protože Změna nastavení souběžnosti prostřednictvím návrháře přidá nebo aktualizuje runtimeConfiguration.concurrency.repetitions vlastnost v podkladové definici akce "pro každou" a naopak.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. Tato vlastnost určuje maximální počet iterací, které mohou být spuštěny paralelně.This property controls the maximum number of iterations that can run in parallel.

Poznámka

Pokud nastavíte akci "for each" tak, aby se spouštěla sekvenčně buď pomocí návrháře nebo editoru zobrazení kódu, nenastavte vlastnost Action na operationOptions Sequential Editor zobrazení kódu.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. V opačném případě se zobrazí chyba ověřování.Otherwise, you get a validation error. Další informace najdete v tématu spuštění smyčky for each postupně.For more information, see Run "for each" loops sequentially.

Upravit v zobrazení kóduEdit in code view

V podkladové definici "pro každou" přidejte nebo aktualizujte runtimeConfiguration.concurrency.repetitions vlastnost, která může mít hodnotu, která je v rozsahu od 1 a 50 .In the underlying "for each" definition, add or update the runtimeConfiguration.concurrency.repetitions property, which can have a value that ranges from 1 and 50.

Tady je příklad, který omezí souběžné běhy na 10 iterací: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
      }
   }
}

Další informace najdete v tématu nastavení konfigurace modulu runtime.For more information, see Runtime configuration settings.

Upravit v Návrháři Logic AppsEdit in Logic Apps Designer

  1. V části pro každou akci vyberte v pravém horním rohu tlačítko se třemi tečkami (...) a pak vyberte Nastavení.In the For each action, from the upper-right corner, select the ellipses (...) button, and then select Settings.

  2. V části řízení souběžnosti nastavte řízení souběžnosti na zapnuto.Under Concurrency Control, set Concurrency Control to On.

  3. Přetáhněte jezdec stupeň paralelismu na požadovanou hodnotu.Drag the Degree of Parallelism slider to the value you want. Pokud chcete aplikaci logiky spustit sekvenčně, přetáhněte ji na hodnotu 1.To run your logic app sequentially, drag the slider value to 1.

Změnit limit čekání na spuštěníChange waiting runs limit

Ve výchozím nastavení se instance pracovního postupu aplikace logiky spouštějí současně (souběžně nebo paralelně).By default, logic app workflow instances all run at the same time (concurrently or in parallel). Toto chování znamená, že každá instance triggeru je aktivována předtím, než se spustí dřív aktivní instance pracovního postupu.This behavior means that each trigger instance fires before the previously active workflow instance finishes running. Počet souběžně spuštěných instancí má však výchozí limit.However, the number of concurrently running instances has a default limit. Když počet souběžně spuštěných instancí pracovních postupů dosáhne tohoto limitu, všechny ostatní nové instance musí počkat na spuštění.When the number of concurrently running workflow instances reaches this limit, any other new instances must wait to run.

Počet čekajících spuštění má také výchozí limit.The number of waiting runs also has a default limit. Když počet čekajících spuštění dosáhne tohoto limitu, Logic Apps modul už nepřijímá nová spuštění.When the number of waiting runs reaches this limit, the Logic Apps engine no longer accepts new runs. Žádosti a Webhook triggery vrátí 429 chyb a opakované triggery začnou pokusy o cyklické dotazování přeskočí.Request and webhook triggers return 429 errors, and recurring triggers start skipping polling attempts.

Pouze můžete změnit výchozí limit pro souběžnost triggeru, ale můžete také změnit výchozí limit při čekání na spuštění.Not only can you change the default limit on trigger concurrency, but you can also change the default limit on waiting runs. V definici základní aktivační události přidejte runtimeConfiguration.concurrency.maximumWaitingRuns vlastnost, která může mít hodnotu, která je v rozsahu od 1 do 100 .In the underlying trigger definition, add the runtimeConfiguration.concurrency.maximumWaitingRuns property, which can have a value that ranges from 1 to 100.

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

Další informace najdete v tématu nastavení konfigurace modulu runtime.For more information, see Runtime configuration settings.

Postupně triggery instancíTrigger instances sequentially

Pokud chcete každou instanci pracovního postupu aplikace logiky spustit až po dokončení předchozí instance, nastavte Trigger tak, aby se spouštěl sekvenčně.To run each logic app workflow instance only after the previous instance finishes running, set the trigger to run sequentially. Můžete použít buď editor zobrazení kódu, nebo Návrhář Logic Apps, protože Změna nastavení souběžnosti prostřednictvím návrháře také přidá nebo aktualizuje runtimeConfiguration.concurrency.runs vlastnost v základní definici triggeru a naopak.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.

Poznámka

Pokud nastavíte Trigger tak, aby běžel postupně buď pomocí návrháře, nebo editoru zobrazení kódu, nenastavte vlastnost triggeru na hodnotu operationOptions Sequential v editoru zobrazení kódu.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. V opačném případě se zobrazí chyba ověřování.Otherwise, you get a validation error.

Upravit v zobrazení kóduEdit in code view

V definici triggeru nastavte jednu z těchto vlastností, ale ne obojí.In the trigger definition, set either of these properties, but not both.

Nastavte runtimeConfiguration.concurrency.runs vlastnost na 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
      }
   }
}

ani-or-

Nastavte operationOptions vlastnost na SingleInstance :Set the operationOptions property to SingleInstance:

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

Další informace najdete v tématu Možnosti nastavení a operace Konfigurace modulu runtime .For more information, see Runtime configuration settings and Operation options.

Upravit v Návrháři Logic AppsEdit in Logic Apps Designer

  1. V pravém horním rohu triggeru vyberte tlačítko se třemi tečkami (...) a pak vyberte Nastavení.In the trigger's upper-right corner, select the ellipses (...) button, and then select Settings.

  2. V části řízení souběžnosti nastavte omezit na zapnuto.Under Concurrency Control, set Limit to On.

  3. Přetáhněte posuvník stupeň paralelismu na číslo 1 .Drag the Degree of Parallelism slider to the number 1.

Spuštění smyčky for each postupněRun "for each" loops sequentially

Chcete-li spustit cyklus smyčky "pro každou" až po dokončení předchozí iterace, nastavte akci "pro každý", aby běžela postupně.To run a "for each" loop iteration only after the previous iteration finishes running, set the "for each" action to run sequentially. Můžete použít buď editor zobrazení kódu, nebo návrháře Logic Apps, protože změna souběžnosti akce prostřednictvím návrháře také přidá nebo aktualizuje runtimeConfiguration.concurrency.repetitions vlastnost v základní definici akce a naopak.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.

Poznámka

Když nastavíte akci "for each" tak, aby se spouštěla sekvenčně buď pomocí návrháře nebo editoru zobrazení kódu, nenastavte operationOptions vlastnost Action na Sequential Editor zobrazení kódu.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. V opačném případě se zobrazí chyba ověřování.Otherwise, you get a validation error.

Upravit v zobrazení kóduEdit in code view

V definici akce nastavte jednu z těchto vlastností, ale ne obojí.In the action definition, set either of these properties, but not both.

Nastavte runtimeConfiguration.concurrency.repetitions vlastnost na 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
      }
   }
}

ani-or-

Nastavte operationOptions vlastnost na Sequential :Set the operationOptions property to Sequential:

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

Další informace najdete v tématu Možnosti nastavení a operace Konfigurace modulu runtime .For more information, see Runtime configuration settings and Operation options.

Upravit v Návrháři Logic AppsEdit in Logic Apps Designer

  1. V pravém horním rohu pro každou akci vyberte tlačítko se třemi tečkami (...) a pak vyberte Nastavení.In the For each action's upper-right corner, select the ellipses (...) button, and then select Settings.

  2. V části řízení souběžnosti nastavte řízení souběžnosti na zapnuto.Under Concurrency Control, set Concurrency Control to On.

  3. Přetáhněte posuvník stupeň paralelismu na číslo 1 .Drag the Degree of Parallelism slider to the number 1.

Spuštění akcí ve vzoru synchronní operaceRun actions in a synchronous operation pattern

Ve výchozím nastavení jsou akce HTTP a akce vstupech apiconnection v Azure Logic Apps následovat po standardním vzoru asynchronní operace, zatímco akce odpovědi odpovídá vzoru synchronní operace.By default, the HTTP action and APIConnection actions in Azure Logic Apps follow the standard asynchronous operation pattern, while the Response action follows the synchronous operation pattern. Asynchronní vzor určuje, že po volání akce nebo odeslání požadavku do zadaného koncového bodu, služby, systému nebo rozhraní API příjemce okamžitě vrátí odpověď "202 přijatý" .The asynchronous pattern specifies that after an action calls or sends a request to the specified endpoint, service, system, or API, the receiver immediately returns a "202 ACCEPTED" response. Tento kód potvrdí, že příjemce požadavek přijal, ale nedokončil zpracování.This code confirms that the receiver accepted the request but hasn't finished processing. Odpověď může obsahovat location hlavičku, která určuje adresu URL a ID aktualizace, které volající může použít k nepřetržitému cyklickému dotazování nebo kontrole stavu asynchronního požadavku, dokud příjemce neukončí zpracování a vrátí odpověď na úspěch "200 OK" nebo jinou odpověď mimo 202.The response can include a location header that specifies the URL and a refresh ID that the caller can use to continually poll or check the status for the asynchronous request until the receiver stops processing and returns a "200 OK" success response or other non-202 response. Další informace najdete v tématu asynchronní integrace mikroslužeb vynutila autonomiimikroslužeb.For more information, see Asynchronous microservice integration enforces microservice autonomy.

  • V návrháři aplikace logiky mají nastavení asynchronního vzoru nastavené akce HTTP, akce vstupech apiconnection a akce odpovědi.In the Logic App Designer, the HTTP action, APIConnection actions, and Response action have the Asynchronous Pattern setting. Pokud je toto nastavení povoleno, určuje, že volající nečeká na dokončení zpracování, a může přejít k další akci, ale pokračuje v kontrole stavu, dokud se zpracování nezastaví.When enabled, this setting specifies that the caller doesn't wait for processing to finish and can move on to the next action but continues checking the status until processing stops. Pokud je toto nastavení zakázáno, určuje, že volající čeká na dokončení zpracování, než přejde k další akci.If disabled, this setting specifies that the caller waits for processing to finish before moving on to the next action. Toto nastavení můžete najít pomocí těchto kroků:To find this setting, follow these steps:

    1. V záhlaví akce HTTP vyberte tlačítko se třemi tečkami (...), které otevře nastavení akce.On the HTTP action's title bar, select the ellipses (...) button, which opens the action's settings.

    2. Najde nastavení asynchronního vzoru .Find the Asynchronous Pattern setting.

      Nastavení asynchronního vzoru

  • V definici základní JavaScript Object Notation (JSON) akce akce HTTP a akce vstupech apiconnection se implicitně řídí vzorkem asynchronní operace.In the action's underlying JavaScript Object Notation (JSON) definition, the HTTP action and APIConnection actions implicitly follow the asynchronous operation pattern.

V některých scénářích může být vhodné provést akci, která bude postupovat podle synchronního vzoru.In some scenarios, you might want an action to follow the synchronous pattern instead. Například když použijete akci HTTP, můžete chtít:For example, when you use the HTTP action, you might want to:

V těchto případech můžete provést synchronní spuštění akce pomocí těchto možností:In these cases, you can make an action run synchronously by using these options:

Vypnout nastavení asynchronního vzoruTurn off Asynchronous Pattern setting

  1. V návrháři aplikace logiky v záhlaví akce vyberte tlačítko se třemi tečkami (...), které otevře nastavení akce.In the Logic App Designer, on the action's title bar, select the ellipses (...) button, which opens the action's settings.

  2. Vyhledejte nastavení asynchronního vzoru , v případě povolení vypněte nastavení vypnuto a vyberte možnost Hotovo.Find the Asynchronous Pattern setting, turn the setting to Off if enabled, and select Done.

    Vypnout nastavení "asynchronního" vzoru

Zakázat asynchronní vzor v definici JSON akceDisable asynchronous pattern in action's JSON definition

V základní definici JSON akce přidejte a nastavte vlastnost "operationOptions" do "DisableAsyncPattern" "inputs" oddílu akce, například:In the action's underlying JSON definition, add and set the "operationOptions" property to "DisableAsyncPattern" under the action's "inputs" section, for example:

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

Ověřování aktivačních událostí a akcíAuthenticate triggers and actions

Koncové body HTTP a HTTPS podporují různé druhy ověřování.HTTP and HTTPS endpoints support different kinds of authentication. V závislosti na triggeru nebo akci, kterou použijete k provedení odchozích volání nebo požadavků pro přístup k těmto koncovým bodům, můžete vybrat z různých rozsahů typů ověřování.Based on the trigger or action that you use to make outbound calls or requests to access these endpoints, you can select from different ranges of authentication types. Další informace najdete v tématu Přidání ověřování do odchozích volání.For more information, see Add authentication to outbound calls.

Další krokyNext steps