Schemareferenzleitfaden für die Workflowdefinitionssprache in Azure Logic AppsSchema reference guide for the Workflow Definition Language in Azure Logic Apps

Beim Erstellen einer Logik-App in Azure Logic Apps verfügt Ihre Logik-App über eine zugrunde liegende Workflowdefinition, die die eigentliche Logik beschreibt, die in Ihrer Logik-App ausgeführt wird.When you create a logic app in Azure Logic Apps, your logic app has an underlying workflow definition that describes the actual logic that runs in your logic app. Diese Workflowdefinition verwendet JSON und folgt einer Struktur, die vom WDL-Schema (Workflow Definition Language, Workflowdefinitionssprache) validiert wird.That workflow definition uses JSON and follows a structure that's validated by the Workflow Definition Language schema. Diese Referenz enthält eine Übersicht über diese Struktur und wie das Schema Attribute in Ihrer Workflowdefinition definiert.This reference provides an overview about this structure and how the schema defines attributes in your workflow definition.

Struktur der WorkflowdefinitionWorkflow definition structure

Eine Workflowdefinition enthält immer einen Trigger zum Instanziieren Ihrer Logik-App sowie mindestens eine weitere Aktion, die nach der Auslösung des Triggers ausgeführt wird.A workflow definition always includes a trigger for instantiating your logic app, plus one or more actions that run after the trigger fires.

So sieht die allgemeine Struktur einer Workflowdefinition aus:Here is the high-level structure for a workflow definition:

"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>" }
}
AttributAttribute ErforderlichRequired BESCHREIBUNGDescription
definition JaYes Das Startelement für Ihre WorkflowdefinitionThe starting element for your workflow definition
$schema Nur bei externem Verweis auf eine WorkflowdefinitionOnly when externally referencing a workflow definition Der Speicherort der JSON-Schemadatei, welche die Version der Workflowdefinitionssprache beschreibt. Der Speicherort lautet wie folgt:The location for the JSON schema file that describes the Workflow Definition Language version, which you can find here:

https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json

actions NeinNo Die Definitionen für mindestens eine Aktion, die zur Workflowlaufzeit ausgeführt werden soll.The definitions for one or more actions to execute at workflow runtime. Weitere Informationen finden Sie unter Trigger und Aktionen.For more information, see Triggers and actions.

Maximale Anzahl von Aktionen: 250Maximum actions: 250

contentVersion NeinNo Die Versionsnummer für Ihre Workflowdefinition, die standardmäßig „1.0.0.0“ lautet.The version number for your workflow definition, which is "1.0.0.0" by default. Geben Sie einen zu verwendenden Wert an, um bei der Bereitstellung eines Workflows die richtige Definition besser ermitteln und bestätigen zu können.To help identify and confirm the correct definition when deploying a workflow, specify a value to use.
outputs NeinNo Die Definitionen für die Ausgaben, die von einer Workflowausführung zurückgegeben werden.The definitions for the outputs to return from a workflow run. Weitere Informationen finden Sie unter Ausgaben.For more information, see Outputs.

Maximale Anzahl von Ausgaben: 10Maximum outputs: 10

parameters NeinNo Die Definitionen für einen oder mehrere Parameter, die die Werte übergeben, die zur Runtime ihrer Logik-App verwendet werden sollen.The definitions for one or more parameters that pass the values to use at your logic app's runtime. Weitere Informationen finden Sie unter Parameter.For more information, see Parameters.

Maximale Anzahl von Parametern: 50Maximum parameters: 50

staticResults NeinNo Die Definitionen für mindestens ein statisches Ergebnis, das von Aktionen als Modellausgabe zurückgegeben wird, wenn statische Ergebnisse für diese Aktionen aktiviert wurden.The definitions for one or more static results returned by actions as mock outputs when static results are enabled on those actions. In jeder Aktionsdefinition verweist das runtimeConfiguration.staticResult.name-Attribut auf die entsprechende Definition innerhalb von staticResults.In each action definition, the runtimeConfiguration.staticResult.name attribute references the corresponding definition inside staticResults. Weitere Informationen finden Sie unter Statische Ergebnisse.For more information, see Static results.
triggers NeinNo Die Definitionen für mindestens einen Trigger, der Ihren Workflow instanziiert.The definitions for one or more triggers that instantiate your workflow. Sie können mehrere Trigger definieren, jedoch nur mit der Definitionssprache für Workflows, nicht visuell mit dem Designer für Logik-Apps.You can define more than one trigger, but only with the Workflow Definition Language, not visually through the Logic Apps Designer. Weitere Informationen finden Sie unter Trigger und Aktionen.For more information, see Triggers and actions.

Maximale Anzahl von Triggern: 10Maximum triggers: 10

Trigger und AktionenTriggers and actions

In einer Workflowdefinition werden in den Abschnitten triggers und actions sämtliche Aufrufe definiert, die während der Ausführung Ihres Workflows auftreten.In a workflow definition, the triggers and actions sections define the calls that happen during your workflow's execution. Informationen zur Syntax sowie weitere Informationen zu diesen Abschnitten finden Sie unter Workflowtrigger und -aktionen.For syntax and more information about these sections, see Workflow triggers and actions.

ParameterParameters

Der Bereitstellungslebenszyklus umfasst in der Regel verschiedene Umgebungen zur Entwicklung, zum Testen, Staging und für die Produktion.The deployment lifecycle usually has different environments for development, test, staging, and production. Wenn Sie Logik-Apps in verschiedenen Umgebungen bereitstellen, möchten Sie wahrscheinlich basierend auf Ihren Bereitstellungsanforderungen verschiedene Werte verwenden, z.B. Verbindungszeichenfolgen.When deploying logic apps to various environments, you likely want to use different values, such as connection strings, based on your deployment needs. Möglicherweise gibt es auch Werte, die Sie in ihrer Logik-APP wiederverwenden möchten, ohne sie hartcodieren oder häufig ändern zu müssen.Or, you might have values that you want to reuse throughout your logic app without hardcoding or that change often. Im parameters-Abschnitt Ihrer Workflowdefinition können Sie Parameter für die Werte, die von ihrer Logik-App zur Runtime verwendet werden, definieren oder bearbeiten.In your workflow definition's parameters section, you can define or edit parameters for the values that your logic app uses at runtime. Sie müssen diese Parameter zuerst definieren, bevor Sie an anderer Stelle in der Workflowdefinition auf diese Parameter verweisen können.You must define these parameters first before you can reference these parameters elsewhere in your workflow definition.

So sieht die allgemeine Struktur einer Parameterdefinition aus:Here is the general structure for a parameter definition:

"parameters": {
   "<parameter-name>": {
      "type": "<parameter-type>",
      "defaultValue": <default-parameter-value>,
      "allowedValues": [ <array-with-permitted-parameter-values> ],
      "metadata": {
         "description": "<parameter-description>"
      }
   }
},
AttributAttribute ErforderlichRequired TypType BESCHREIBUNGDescription
<parameter-name><parameter-name> JaYes StringString Der Name des Parameters, den Sie definieren möchtenThe name for the parameter that you want to define
<parameter-type><parameter-type> JaYes int, float, string, bool, array, object, securestring, secureobjectint, float, string, bool, array, object, securestring, secureobject

Hinweis: Verwenden Sie für sämtliche Kennwörter, Schlüssel und Geheimnisse die Typen securestring oder secureobject, da diese Typen beim GET-Vorgang nicht zurückgegeben werden.Note: For all passwords, keys, and secrets, use the securestring or secureobject types because the GET operation doesn't return these types. Weitere Informationen zum Sichern von Parametern finden Sie unter Zugriff auf Parametereingaben.For more information about securing parameters, see Security recommendations for action and input parameters.

Der Typ des ParametersThe type for the parameter
<default-parameter-value><default-parameter-value> JaYes Identisch mit typeSame as type Der Standardparameterwert, wenn bei der Instanziierung des Workflows kein Wert angegeben wird.The default parameter value to use if no value is specified when the workflow instantiates. Das defaultValue-Attribut ist erforderlich, damit der Logik-App-Designer den Parameter korrekt anzeigen kann, Sie können jedoch einen leeren Wert angeben.The defaultValue attribute is required so that the Logic App Designer can correctly show the parameter, but you can specify an empty value.
<array-with-permitted-parameter-values><array-with-permitted-parameter-values> NeinNo ArrayArray Ein Array mit Werten, die vom Parameter akzeptiert werden könnenAn array with values that the parameter can accept
<parameter-description><parameter-description> NeinNo JSON-ObjektJSON object Alle anderen Parameterdetails, z.B. eine Beschreibung des ParametersAny other parameter details, such as a description for the parameter

Erstellen Sie als nächstes eine Azure Resource Manager-Vorlage für die Workflowdefinition, definieren Sie Vorlagenparameter, die die bei der Bereitstellung gewünschten Werte akzeptieren, ersetzen Sie hartcodierte Werte nach Bedarf durch Verweise auf Vorlagen- oder Workflowdefinitionsparameter, und speichern Sie die Werte, die bei der Bereitstellung verwendet werden sollen, in einer separaten Parameterdatei.Next, create an Azure Resource Manager template for your workflow definition, define template parameters that accept the values you want at deployment, replace hardcoded values with references to template or workflow definition parameters as appropriate, and store the values to use at deployment in a separate parameter file. Auf diese Weise können Sie diese Werte einfacher über die Parameterdatei ändern, ohne Ihre Logik-App aktualisieren und erneut bereitstellen zu müssen.That way, you can change those values more easily through the parameter file without having to update and redeploy your logic app. Für Informationen, die vertraulich sind oder geschützt werden müssen, etwa Benutzernamen, Kennwörter und Geheimnisse, können Sie diese Werte in Azure Key Vault speichern und aus Ihrem Schlüsseltresor in die Parameterdatei abrufen.For information that is sensitive or must be secured, such as usernames, passwords, and secrets, you can store those values in Azure Key Vault and have your parameter file retrieve those values from your key vault. Weitere Informationen und Beispiele zum Definieren von Parametern auf Vorlagen- und Workflowdefinitionsebene finden Sie unter Übersicht: Automatisieren der Bereitstellung für Logik-Apps mit Azure Resource Manager-Vorlagen.For more information and examples about defining parameters at the template and workflow definition levels, see Overview: Automate deployment for logic apps with Azure Resource Manager templates.

Statische ErgebnisseStatic results

Definieren Sie im staticResults-Attribut die Attribute outputs und status des Modells der Aktion. Die Aktion gibt diese Attribute zurück, wenn die Einstellung für statische Ergebnisse für die Aktion aktiviert ist.In the staticResults attribute, define an action's mock outputs and status that the action returns when the action's static result setting is turned on. In der Definition der Aktion verweist das runtimeConfiguration.staticResult.name-Attribut auf den Namen der Definition des statischen Ergebnisses innerhalb von staticResults.In the action's definition, the runtimeConfiguration.staticResult.name attribute references the name for the static result definition inside staticResults. Hier erhalten Sie Informationen zum Testen von Logik-Apps mit Simulationsdaten durch die Einrichtung von statischen Ergebnissen.Learn how you can test logic apps with mock data by setting up static results.

"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": { "<...>" }
}
AttributAttribute ErforderlichRequired TypType BESCHREIBUNGDescription
<static-result-definition-name><static-result-definition-name> JaYes StringString Der Name der Definition eines statischen Ergebnisses, auf die eine Aktionsdefinition über ein runtimeConfiguration.staticResult-Objekt verweisen kann.The name for a static result definition that an action definition can reference through a runtimeConfiguration.staticResult object. Weitere Informationen finden Sie unter den Einstellungen für die Laufzeitkonfiguration.For more information, see Runtime configuration settings.

Sie können jedoch auch einen beliebigen anderen eindeutigen Namen verwenden.You can use any unique name that you want. Standardmäßig wird an diesen eindeutigen Namen eine Zahl angehängt, die nach Bedarf inkrementiert wird.By default, this unique name is appended with a number, which is incremented as necessary.

<output-attributes-and-values-returned><output-attributes-and-values-returned> JaYes VariesVaries Die Anforderungen an diese Attribute variieren auf Grundlage verschiedener Bedingungen.The requirements for these attributes vary based on different conditions. Wenn z. B. für das Attribut status Succeeded gilt, schließt das outputs-Attribut Attribute und Werte ein, die von der Aktion als Modellausgaben zurückgegeben werden.For example, when the status is Succeeded, the outputs attribute includes attributes and values returned as mock outputs by the action. Wenn für das Attribut status Failed gilt, schließt das outputs-Attribut das errors-Attribut ein. Dabei handelt es sich um ein Array mit mindestens einem message-Objekt, in dem Fehlerinformationen enthalten sind.If the status is Failed, the outputs attribute includes the errors attribute, which is an array with one or more error message objects that have error information.
<header-values><header-values> NeinNo JSONJSON Alle Headerwerte, die von der Aktion zurückgegeben werden.Any header values returned by the action
<status-code-returned><status-code-returned> JaYes StringString Der von der Aktion zurückgegebene Statuscode.The status code returned by the action
<action-status><action-status> JaYes StringString Der Status der Aktion, z. B. Succeeded oder Failed.The action's status, for example, Succeeded or Failed

In dieser HTTP-Aktionsdefinition verweist beispielsweise das runtimeConfiguration.staticResult.name-Attribut auf HTTP0 innerhalb des staticResults-Attributs, wo die Modellausgaben für die Aktion definiert werden.For example, in this HTTP action definition, the runtimeConfiguration.staticResult.name attribute references HTTP0 inside the staticResults attribute where the mock outputs for the action are defined. Das runtimeConfiguration.staticResult.staticResultOptions-Attribut gibt an, dass die Einstellung für statische Ergebnisse für die HTTP-Aktion Enabled ist.The runtimeConfiguration.staticResult.staticResultOptions attribute specifies that the static result setting is Enabled on the HTTP action.

"actions": {
   "HTTP": {
      "inputs": {
         "method": "GET",
         "uri": "https://www.microsoft.com"
      },
      "runAfter": {},
      "runtimeConfiguration": {
         "staticResult": {
            "name": "HTTP0",
            "staticResultOptions": "Enabled"
         }
      },
      "type": "Http"
   }
},

Die HTTP-Aktion gibt die Ausgaben in der HTTP0-Definition innerhalb von staticResults zurück.The HTTP action returns the outputs in the HTTP0 definition inside staticResults. In diesem Beispiel ist die Modellausgabe für den Statuscode OK.In this example, for the status code, the mock output is OK. Für Headerwerte ist die Modellausgabe "Content-Type": "application/JSON".For header values, the mock output is "Content-Type": "application/JSON". Für den Status der Aktion ist die Modellausgabe Succeeded.For the action's status, the mock output is Succeeded.

"definition": {
   "$schema": "<...>",
   "actions": { "<...>" },
   "contentVersion": "<...>",
   "outputs": { "<...>" },
   "parameters": { "<...>" },
   "staticResults": {
      "HTTP0": {
         "outputs": {
            "headers": {
               "Content-Type": "application/JSON"
            },
            "statusCode": "OK"
         },
         "status": "Succeeded"
      }
   },
   "triggers": { "<...>" }
},

AusdrückeExpressions

Mit JSON können Sie über Literalwerte verfügen, die zur Entwurfszeit vorhanden sind. Beispiel:With JSON, you can have literal values that exist at design time, for example:

"customerName": "Sophia Owen",
"rainbowColors": ["red", "orange", "yellow", "green", "blue", "indigo", "violet"],
"rainbowColorsCount": 7

Sie können auch über Werte verfügen, die erst zur Laufzeit vorhanden sind.You can also have values that don't exist until run time. Zur Darstellung dieser Werte können Sie Ausdrücke verwenden, die zur Laufzeit ausgewertet werden.To represent these values, you can use expressions, which are evaluated at run time. Ein Ausdruck ist eine Sequenz, die mindestens eine Funktion, einen Operator, eine Variable, einen expliziten Wert oder eine Konstante enthalten kann.An expression is a sequence that can contain one or more functions, operators, variables, explicit values, or constants. In Ihrer Workflowdefinition können Sie einen Ausdruck an einer beliebigen Stelle in einem JSON-Zeichenfolgenwert verwenden, indem Sie dem Ausdruck das at-Zeichen voranstellen (@).In your workflow definition, you can use an expression anywhere in a JSON string value by prefixing the expression with the at-sign (@). Beim Auswerten eines Ausdrucks, der einen JSON-Wert darstellt, wird der Ausdruckskörper durch Entfernen des @-Zeichens extrahiert. Dies führt immer zu einem anderen JSON-Wert.When evaluating an expression that represents a JSON value, the expression body is extracted by removing the @ character, and always results in another JSON value.

Für die zuvor definierte Eigenschaft customerName können Sie den Eigenschaftswert in einem Ausdruck beispielsweise über die Funktion parameters() abrufen und diesen Wert der Eigenschaft accountName zuweisen:For example, for the previously defined customerName property, you can get the property value by using the parameters() function in an expression and assign that value to the accountName property:

"customerName": "Sophia Owen",
"accountName": "@parameters('customerName')"

Durch die Zeichenfolgeninterpolation können Sie auch mehrere Ausdrücke in Zeichenfolgen verwenden, die vom @-Zeichen und geschweiften Klammern ({}) umschlossen sind.String interpolation also lets you use multiple expressions inside strings that are wrapped by the @ character and curly braces ({}). Die Syntax sieht wie folgt aus:Here is the syntax:

@{ "<expression1>", "<expression2>" }

Das Ergebnis ist immer eine Zeichenfolge, wodurch diese Funktion der Funktion concat() ähnelt. Beispiel:The result is always a string, making this capability similar to the concat() function, for example:

"customerName": "First name: @{parameters('firstName')} Last name: @{parameters('lastName')}"

Wenn Sie über eine Zeichenfolgenliteral verfügen, das mit dem @-Zeichen beginnt, stellen Sie dem @-Zeichen ein weiteres @-Zeichen als Escapezeichen voran: @@.If you have a literal string that starts with the @ character, prefix the @ character with another @ character as an escape character: @@

Diese Beispiele veranschaulichen die Auswertung von Ausdrücken:These examples show how expressions are evaluated:

JSON-WertJSON value ErgebnisResult
"Sophia Owen""Sophia Owen" Folgende Zeichen werden zurückgegeben: „Sophia Owen“Return these characters: 'Sophia Owen'
"array[1]""array[1]" Folgende Zeichen werden zurückgegeben: „array[1]“Return these characters: 'array[1]'
„@@“"@@" Folgende Zeichen werden als Zeichenfolge mit einem Zeichen zurückgegeben: „@“Return these characters as a one-character string: '@'
" @"" @" Folgende Zeichen werden als Zeichenfolge mit zwei Zeichen zurückgegeben: „@“Return these characters as a two-character string: ' @'

Angenommen, für "myBirthMonth" ist der Monat "January" und für "myAge" die Zahl 42 definiert:For these examples, suppose you define "myBirthMonth" equal to "January" and "myAge" equal to the number 42:

"myBirthMonth": "January",
"myAge": 42

Diese Beispiele veranschaulichen, wie die folgenden Ausdrücke ausgewertet werden:These examples show how the following expressions are evaluated:

JSON-AusdruckJSON expression ErgebnisResult
„@parameters('myBirthMonth')“"@parameters('myBirthMonth')" Folgende Zeichenfolge wird zurückgegeben: „January“Return this string: "January"
„@{parameters('myBirthMonth')}“"@{parameters('myBirthMonth')}" Folgende Zeichenfolge wird zurückgegeben: „January“Return this string: "January"
„@parameters('myAge')“"@parameters('myAge')" Folgende Zahl wird zurückgeben: 42Return this number: 42
„@{parameters('myAge')}“"@{parameters('myAge')}" Folgende Zahl wird als Zeichenfolge zurückgegeben: „42“Return this number as a string: "42"
„My age is @{parameters('myAge')}“"My age is @{parameters('myAge')}" Folgende Zeichenfolge wird zurückgegeben: „My age is 42“Return this string: "My age is 42"
„@concat('My age is ', string(parameters('myAge')))“"@concat('My age is ', string(parameters('myAge')))" Folgende Zeichenfolge wird zurückgegeben: „My age is 42“Return this string: "My age is 42"
„My age is @@{parameters('myAge')}“"My age is @@{parameters('myAge')}" Folgende Zeichenfolge, die den Ausdruck enthält, wird zurückgegeben: „My age is @{parameters('myAge')}“Return this string, which includes the expression: "My age is @{parameters('myAge')}`

Wenn Sie im Designer für Logik-Apps visuell arbeiten, können Sie über den Ausdrucks-Generator Ausdrücke erstellen. Beispiel:When you're working visually in the Logic Apps Designer, you can create expressions through the Expression builder, for example:

Designer für Logik-Apps > Ausdrucks-Generator

Wenn Sie fertig sind, wird der Ausdruck für die entsprechende Eigenschaft in Ihrer Workflowdefinition angezeigt, wie im folgenden Beispiel für die Eigenschaft searchQuery:When you're done, the expression appears for the corresponding property in your workflow definition, for example, the searchQuery property here:

"Search_tweets": {
  "inputs": {
    "host": {
      "connection": {
        "name": "@parameters('$connections')['twitter']['connectionId']"
      }
    }
  },
  "method": "get",
  "path": "/searchtweets",
  "queries": {
    "maxResults": 20,
    "searchQuery": "Azure @{concat('firstName','', 'LastName')}"
  }
},

AusgabenOutputs

Definieren Sie im Abschnitt outputs die Daten, die Ihr Workflow nach Abschluss der Ausführung zurückgeben kann.In the outputs section, define the data that your workflow can return when finished running. Wenn Sie beispielsweise einen bestimmten Status oder Wert aus den einzelnen Ausführungen nachverfolgen möchten, müssen Sie angeben, dass diese Daten bei der Workflowausgabe zurückgegeben werden.For example, to track a specific status or value from each run, specify that the workflow output returns that data.

Hinweis

Verwenden Sie nicht outputs, wenn Sie über die REST-API eines Diensts auf eingehende Anforderungen reagieren.When responding to incoming requests from a service's REST API, do not use outputs. Verwenden Sie stattdessen den Aktionstyp Response.Instead, use the Response action type. Weitere Informationen finden Sie unter Workflowtrigger und -aktionen.For more information, see Workflow triggers and actions.

So sieht die allgemeine Struktur einer Ausgabedefinition aus:Here is the general structure for an output definition:

"outputs": {
  "<key-name>": {
    "type": "<key-type>",
    "value": "<key-value>"
  }
}
AttributAttribute ErforderlichRequired TypType BESCHREIBUNGDescription
<key-name><key-name> JaYes StringString Der Schlüsselname des Rückgabewerts der AusgabeThe key name for the output return value
<key-type><key-type> JaYes int, float, string, securestring, bool, array, JSON-Objektint, float, string, securestring, bool, array, JSON object Der Typ des Rückgabewerts der AusgabeThe type for the output return value
<key-value><key-value> JaYes Entspricht <key-type>Same as <key-type> Der Rückgabewert der AusgabeThe output return value

Zum Abrufen der Ausgabe aus einer Workflowausführung müssen Sie im Azure-Portal den Ausführungsverlauf Ihrer Logik-App sowie Details überprüfen oder die REST-API des Workflows verwenden.To get the output from a workflow run, review your logic app's run history and details in the Azure portal or use the Workflow REST API. Sie können die Ausgabe auch an externe Systeme übergeben, z.B. Power BI, um Dashboards erstellen zu können.You can also pass output to external systems, for example, Power BI so that you can create dashboards.

OperatorenOperators

In Ausdrücken und Funktionen führen Operatoren bestimmte Tasks aus. Sie verweisen z.B. auf eine Eigenschaft oder einen Wert in einem Array.In expressions and functions, operators perform specific tasks, such as reference a property or a value in an array.

OperatorOperator AufgabeTask
'' Wenn Sie ein Zeichenfolgenliteral als Eingabe oder in Ausdrücken und Funktionen verwenden möchten, umschließen Sie die Zeichenfolge nur mit einfachen Anführungszeichen. Beispiel: '<myString>'.To use a string literal as input or in expressions and functions, wrap the string only with single quotation marks, for example, '<myString>'. Verwenden Sie keine doppelten Anführungszeichen (""). Dies könnte zu einem Konflikt mit der JSON-Formatierung eines ganzen Ausdrucks führen.Do not use double quotation marks (""), which conflict with the JSON formatting around an entire expression. Beispiel:For example:

Ja: length('Hello')Yes: length('Hello')
Nein: length("Hello")No: length("Hello")

Wenn Sie Arrays oder Zahlen übergeben, sind keine umschließenden Satzzeichen erforderlich.When you pass arrays or numbers, you don't need wrapping punctuation. Beispiel:For example:

Ja: length([1, 2, 3])Yes: length([1, 2, 3])
Nein: length("[1, 2, 3]")No: length("[1, 2, 3]")

[][] Verwenden Sie eckige Klammern, um auf einen Wert an einer bestimmten Position (Index) in einem Array zu verweisen.To reference a value at a specific position (index) in an array, use square brackets. So können Sie z.B. das zweite Element in einem Array abrufen:For example, to get the second item in an array:

myArray[1]

.. Verwenden Sie den Punktoperator, um auf eine Eigenschaft in einem Objekt zu verweisen.To reference a property in an object, use the dot operator. So können Sie z.B. die Eigenschaft name für das JSON-Objekt customer abrufen:For example, to get the name property for a customer JSON object:

"@parameters('customer').name"

?? Mit dem Fragezeichenoperator können Sie ohne Laufzeitfehler auf NULL-Eigenschaften in einem Objekt verweisen.To reference null properties in an object without a runtime error, use the question mark operator. Mithilfe des folgenden Ausdrucks können Sie beispielsweise NULL-Ausgaben eines Triggers verarbeiten:For example, to handle null outputs from a trigger, you can use this expression:

@coalesce(trigger().outputs?.body?.<someProperty>, '<property-default-value>')

FunctionsFunctions

Einige Ausdrücke erhalten ihre Werte von Laufzeitaktionen, die zu Beginn der Ausführung Ihrer Workflowdefinition möglicherweise noch nicht vorhanden sind.Some expressions get their values from runtime actions that might not yet exist when your workflow definition starts to run. Sie können mithilfe von Funktionen, die von der Definitionssprache für Workflows bereitgestellt werden, auf diese Werte in Ausdrücken verweisen oder mit diesen Werten arbeiten.To reference or work with these values in expressions, you can use functions that the Workflow Definition Language provides.

Nächste SchritteNext steps