Referenční příručka schématu pro jazyk definice pracovního postupu v Azure Logic Apps
Když vytvoříte aplikaci logiky v Azure Logic Apps, vaše aplikace logiky obsahuje základní definici pracovního postupu, která popisuje vlastní logiku, která se spouští ve vaší aplikaci logiky. Tato definice pracovního postupu používá JSON a dodržuje strukturu, kterou ověřuje schéma jazyka definice pracovního postupu. Tento odkaz poskytuje přehled této struktury a způsob, jakým schéma definuje atributy v definici pracovního postupu.
Struktura definice pracovního postupu
Definice pracovního postupu vždy zahrnuje Trigger pro vytvoření instance aplikace logiky a jednu nebo více akcí, které se spustí po aktivaci triggeru.
Tady je struktura vysoké úrovně pro definici pracovního postupu:
"definition": {
"$schema": "<workflow-definition-language-schema-version>",
"actions": { "<workflow-action-definitions>" },
"contentVersion": "<workflow-definition-version-number>",
"outputs": { "<workflow-output-definitions>" },
"parameters": { "<workflow-parameter-definitions>" },
"staticResults": { "<static-results-definitions>" },
"triggers": { "<workflow-trigger-definitions>" }
}
| Atribut | Povinné | Popis |
|---|---|---|
definition |
Ano | Počáteční element pro definici pracovního postupu |
$schema |
Pouze v případě, že odkaz odkazuje na externě na definici pracovního postupu | Umístění souboru schématu JSON, které popisuje jazykovou verzi definice pracovního postupu, které najdete tady:
|
actions |
No | Definice pro jednu nebo více akcí, které mají být provedeny v modulu runtime pracovního postupu. Další informace najdete v tématu triggery a akce. Maximální počet akcí: 250 |
contentVersion |
No | Číslo verze definice pracovního postupu, které je ve výchozím nastavení "1.0.0.0". Chcete-li při nasazování pracovního postupu lépe identifikovat a potvrdit správnou definici, zadejte hodnotu, která se má použít. |
outputs |
No | Definice výstupů, které se mají vrátit z běhu pracovního postupu Další informace najdete v tématu výstupy. Maximální počet výstupů: 10 |
parameters |
No | Definice jednoho nebo více parametrů, které předají hodnoty pro použití v modulu runtime vaší aplikace logiky Další informace najdete v tématu parametry. Maximální počet parametrů: 50 |
staticResults |
No | Definice pro jednu nebo více statických výsledků vrácených akcemi jako výstupní výstupy, když jsou na těchto akcích povoleny statické výsledky. V každé definici akce runtimeConfiguration.staticResult.name atribut odkazuje na odpovídající definici v rámci staticResults . Další informace najdete v tématu statické výsledky. |
triggers |
No | Definice pro jednu nebo více triggerů, které vytváří instanci pracovního postupu. Můžete definovat více než jednu Trigger, ale pouze s jazykem definice pracovního postupu, nikoli vizuálně prostřednictvím návrháře Logic Apps. Další informace najdete v tématu triggery a akce. Maximální počet aktivačních událostí: 10 |
Aktivační události a akce
V definici pracovního postupu triggers actions definují oddíly a volání, ke kterým dochází během provádění pracovního postupu. Syntaxi a další informace o těchto oddílech najdete v tématu triggery a akce pracovních postupů.
Parametry
Životní cyklus nasazení má obvykle různá prostředí pro vývoj, testování, přípravu a produkci. Při nasazování Logic Apps do různých prostředí pravděpodobně budete chtít v závislosti na potřebách nasazení použít jiné hodnoty, například připojovací řetězce. Nebo můžete mít hodnoty, které chcete znovu použít v rámci aplikace logiky bez zakódujeme nebo změny často. V části definice pracovního postupu parameters můžete definovat nebo upravit parametry pro hodnoty, které vaše aplikace logiky používá za běhu. Než budete moci odkazovat na tyto parametry jinde v definici pracovního postupu, musíte tyto parametry definovat jako první.
Tady je obecná struktura definice parametru:
"parameters": {
"<parameter-name>": {
"type": "<parameter-type>",
"defaultValue": <default-parameter-value>,
"allowedValues": [ <array-with-permitted-parameter-values> ],
"metadata": {
"description": "<parameter-description>"
}
}
},
| Atribut | Požaduje se | Typ | Description |
|---|---|---|---|
| <název parametru> | Ano | Řetězec | Název parametru, který chcete definovat |
| <typ parametru> | Yes | int, float, String, bool, Array, Object, SecureString, secureobject Poznámka: pro všechna hesla, klíče a tajné klíče použijte |
Typ parametru |
| <výchozí parametr-hodnota> | Yes | Stejné jako type |
Výchozí hodnota parametru, která má být použita, pokud není zadána žádná hodnota při vytváření instance pracovního postupu. defaultValueAtribut je vyžadován, aby návrhář aplikace logiky mohl správně zobrazit parametr, ale můžete zadat prázdnou hodnotu. |
| <pole s parametrem--------Parameter-Values> | No | Pole | Pole s hodnotami, které může parametr přijmout |
| <Parametr-Description> | No | Objekt JSON | Jakékoli další podrobnosti o parametrech, jako je například popis parametru |
Dále vytvořte šablonu Azure Resource Manager pro definici pracovního postupu, definujte parametry šablony, které přijmou hodnoty, které chcete v nasazení, nahraďte hodnoty pevně zakódované odkazy na šablonu nebo parametry definice pracovního postupu podle potřeby a uložte hodnoty, které chcete použít při nasazení v samostatném souboru parametrů. Tímto způsobem můžete tyto hodnoty snadno měnit pomocí souboru parametrů, aniž byste museli aktualizovat a znovu nasazovat aplikaci logiky. Pro informace, které jsou citlivé nebo musí být zabezpečené, jako jsou uživatelská jména, hesla a tajné klíče, můžete tyto hodnoty uložit v Azure Key Vault a nechat si soubory parametrů načíst tyto hodnoty z vašeho trezoru klíčů. Další informace a příklady definování parametrů na úrovních definice šablony a pracovního postupu najdete v tématu Přehled: Automatizace nasazení pro Logic Apps pomocí šablon Azure Resource Manager.
Statické výsledky
V staticResults atributu definujte prvek akce outputs a status , který akce vrátí, pokud je zapnuto nastavení statického výsledku akce. V definici akce runtimeConfiguration.staticResult.name atribut odkazuje na název statického výsledku definice v rámci staticResults . Pomocí nastavení statických výsledků se dozvíte, jak testovat aplikace logiky pomocínapodobných dat.
"definition": {
"$schema": "<...>",
"actions": { "<...>" },
"contentVersion": "<...>",
"outputs": { "<...>" },
"parameters": { "<...>" },
"staticResults": {
"<static-result-definition-name>": {
"outputs": {
<output-attributes-and-values-returned>,
"headers": { <header-values> },
"statusCode": "<status-code-returned>"
},
"status": "<action-status>"
}
},
"triggers": { "<...>" }
}
| Atribut | Požaduje se | Typ | Description |
|---|---|---|---|
| <statický výsledek – definice – název> | Ano | Řetězec | Název statické definice výsledku, kterou může definice akce odkazovat prostřednictvím runtimeConfiguration.staticResult objektu. Další informace najdete v tématu nastavení konfigurace modulu runtime. Můžete použít libovolný jedinečný název, který chcete. Ve výchozím nastavení se tento jedinečný název připojí s číslem, což se zvyšuje podle potřeby. |
| <výstupní atributy-a-vrácené hodnoty> | Yes | Různé | Požadavky na tyto atributy se liší v závislosti na různých podmínkách. Například pokud status je Succeeded , outputs atribut obsahuje atributy a hodnoty vrácené jako výstupní výstupy akcí. Pokud status je Failed , outputs atribut obsahuje errors atribut, což je pole s jedním nebo více message objekty Error, které obsahují informace o chybě. |
| <hodnoty hlaviček> | Ne | JSON | Všechny hodnoty hlaviček vracené akcí |
| <stav-kód – vráceno> | Ano | Řetězec | Stavový kód vrácený akcí |
| <akce – stav> | Ano | Řetězec | Stav akce, například Succeeded nebo Failed |
Například v této definici akce HTTP runtimeConfiguration.staticResult.name jsou atributy odkazy v atributu, HTTP0 staticResults kde jsou definovány výstupní výstupy pro akci. runtimeConfiguration.staticResult.staticResultOptionsAtribut určuje, zda je nastavení statického výsledku Enabled v akci HTTP.
"actions": {
"HTTP": {
"inputs": {
"method": "GET",
"uri": "https://www.microsoft.com"
},
"runAfter": {},
"runtimeConfiguration": {
"staticResult": {
"name": "HTTP0",
"staticResultOptions": "Enabled"
}
},
"type": "Http"
}
},
Akce HTTP vrátí výstupy v HTTP0 definici uvnitř staticResults . V tomto příkladu pro stavový kód je výstupní výstup OK . V případě hodnot hlaviček je výstup výstupu "Content-Type": "application/JSON" . Pro stav akce je výstup výstupu Succeeded .
"definition": {
"$schema": "<...>",
"actions": { "<...>" },
"contentVersion": "<...>",
"outputs": { "<...>" },
"parameters": { "<...>" },
"staticResults": {
"HTTP0": {
"outputs": {
"headers": {
"Content-Type": "application/JSON"
},
"statusCode": "OK"
},
"status": "Succeeded"
}
},
"triggers": { "<...>" }
},
Výrazy
Pomocí formátu JSON můžete mít literálové hodnoty, které existují v době návrhu, například:
"customerName": "Sophia Owen",
"rainbowColors": ["red", "orange", "yellow", "green", "blue", "indigo", "violet"],
"rainbowColorsCount": 7
Můžete také mít hodnoty, které neexistují, až do doby běhu. Pro reprezentaci těchto hodnot můžete použít výrazy, které jsou vyhodnocovány v době běhu. Výraz je sekvence, která může obsahovat jednu nebo více funkcí, operátorů, proměnných, explicitních hodnot nebo konstant. V definici pracovního postupu můžete použít výraz kdekoli v hodnotě řetězce JSON tím, že se výraz nastaví na znaménko ( @ ). Při vyhodnocování výrazu, který představuje hodnotu JSON, je text výrazu extrahován odebráním @ znaku a vždy vede k jiné hodnotě JSON.
Například pro dříve definovanou customerName vlastnost můžete získat hodnotu vlastnosti pomocí funkce Parameters () ve výrazu a přiřadit tuto hodnotu k accountName vlastnosti:
"customerName": "Sophia Owen",
"accountName": "@parameters('customerName')"
Interpolace řetězců také umožňuje použít více výrazů v řetězcích, které jsou zabaleny @ znakem a složenou závorkou ( {} ). Tady je syntaxe:
@{ "<expression1>", "<expression2>" }
Výsledkem je vždy řetězec, což znamená, že tato funkce bude podobná concat() funkci, například:
"customerName": "First name: @{parameters('firstName')} Last name: @{parameters('lastName')}"
Pokud máte řetězcový literál, který začíná @ znakem, @ nahraďte znak jiným @ znakem jako řídicí znak: @@
Tyto příklady ukazují, jak jsou výrazy vyhodnocovány:
| Hodnota JSON | Výsledek |
|---|---|
| "Sophia Owen" | Vrátí tyto znaky: ' Sophia Owen ' |
| Array [1] | Vrátí tyto znaky: Array [1]. |
| "@@" | Vrátí tyto znaky jako řetězec s jedním znakem: ' @ ' |
| " @" | Vrátí tyto znaky jako řetězec se dvěma znaky: ' @ ' |
Pro tyto příklady Předpokládejme, že definujete "myBirthMonth" rovnající se "lednu" a "myAge" rovnající se číslu 42:
"myBirthMonth": "January",
"myAge": 42
Tyto příklady ukazují, jak jsou vyhodnocovány následující výrazy:
| Výraz JSON | Výsledek |
|---|---|
| " @ Parameters (' myBirthMonth ')" | Vrátí tento řetězec: leden. |
| " @ {Parameters (' myBirthMonth ')}" | Vrátí tento řetězec: leden. |
| " @ Parameters (' myAge ')" | Vrátit toto číslo: 42 |
| " @ {Parameters (' myAge ')}" | Vrátí toto číslo jako řetězec: "42" |
| "Má věk @ {Parameters (' myAge ')}" | Vrátí tento řetězec: "moje věk je 42." |
| @Concat (' má stáří je ', řetězec (parametry (' myAge '))) | Vrátí tento řetězec: "moje věk je 42." |
| "Má věk @ @ {Parameters (' myAge ')}" | Vrátí tento řetězec, který obsahuje výraz: "moje stáří je @ {Parameters (' myAge ')}. |
Při práci vizuálně v Návrháři Logic Apps můžete vytvářet výrazy prostřednictvím Tvůrce výrazů, například:

Až budete hotovi, výraz se zobrazí pro odpovídající vlastnost v definici pracovního postupu, například searchQuery vlastnost zde:
"Search_tweets": {
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['twitter']['connectionId']"
}
}
},
"method": "get",
"path": "/searchtweets",
"queries": {
"maxResults": 20,
"searchQuery": "Azure @{concat('firstName','', 'LastName')}"
}
},
Výstupy
V outputs části definujte data, která může pracovní postup vracet po dokončení práce. Chcete-li například sledovat konkrétní stav nebo hodnotu z každého spuštění, určete, že výstup pracovního postupu vrací tato data.
Poznámka
Při reagování na příchozí žádosti ze REST API služby nepoužívejte outputs . Místo toho použijte Response typ akce. Další informace najdete v tématu triggery a akce pracovních postupů.
Tady je obecná struktura definice výstupu:
"outputs": {
"<key-name>": {
"type": "<key-type>",
"value": "<key-value>"
}
}
| Atribut | Požaduje se | Typ | Description |
|---|---|---|---|
| <název klíče> | Ano | Řetězec | Název klíče pro návratovou hodnotu výstupu |
| <typ klíče> | Yes | int, float, String, SecureString, bool, Array, JSON objekt | Typ výstupní návratové hodnoty |
| <hodnota klíče> | Yes | Stejné jako <typ klíče> | Výstupní návratová hodnota |
Pokud chcete získat výstup z pracovního postupu, přečtěte si historii spuštění vaší aplikace logiky a podrobnosti v Azure Portal nebo použijte pracovní postup REST API. Výstup můžete také předat externím systémům, například Power BI, abyste mohli vytvářet řídicí panely.
Operátory
Ve výrazech a funkcíchoperátory provádějí konkrétní úkoly, jako je například odkaz na vlastnost nebo hodnotu v poli.
| Operátor | Úkol |
|---|---|
| ' | Chcete-li použít řetězcový literál jako vstup nebo ve výrazech a funkcích, zabalte řetězec pouze s jednoduchými uvozovkami, například '<myString>' . Nepoužívejte dvojité uvozovky (""), které jsou v konfliktu s formátováním JSON kolem celého výrazu. Například: Ano: délka (' Hello ') Ne: délka ("Hello") Když předáte pole nebo čísla, nebudete potřebovat interpunkci zalomení. Například: Ano: délka ([1; 2; 3]) Ne: délka ("[1, 2, 3]") |
| [] | Pro odkazování na hodnotu na konkrétní pozici (index) v poli použijte hranaté závorky. Například pro získání druhé položky v poli:
|
| . | Chcete-li odkazovat na vlastnost v objektu, použijte operátor tečka. Například pro získání name vlastnosti pro customer objekt JSON:
|
| ? | Chcete-li odkazovat na vlastnosti null v objektu bez běhové chyby, použijte operátor otazník. Chcete-li například zpracovat výstupy s hodnotou null z triggeru, můžete použít tento výraz:
|
Functions
Některé výrazy získají jejich hodnoty z běhových akcí, které nemusí být k dispozici, když začne běžet definice pracovního postupu. Chcete-li odkazovat nebo pracovat s těmito hodnotami ve výrazech, můžete použít funkce , které poskytuje jazyk definice pracovního postupu.
Další kroky
- Další informace o akcích a triggerech jazyka definice pracovního postupu
- Přečtěte si, jak programově vytvářet a spravovat Logic Apps pomocí pracovního postupu REST API