Aufrufen, Auslösen oder Schachteln von Logik-Apps mithilfe von HTTPS-Endpunkten in Azure Logic AppsCall, trigger, or nest logic apps by using HTTPS endpoints in Azure Logic Apps

Damit Ihre Logik-App über eine URL aufgerufen werden und eingehende Anforderungen von anderen Diensten empfangen kann, können Sie einen synchronen HTTPS-Endpunkt nativ als anforderungsbasierten Trigger in dieser Logik-App verfügbar machen.To make your logic app callable through a URL and able to receive inbound requests from other services, you can natively expose a synchronous HTTPS endpoint by using a request-based trigger on your logic app. Mit dieser Funktion können Sie Ihre Logik-App aus anderen Logik-Apps aufrufen und ein Muster für aufrufbare Endpunkte erstellen.With this capability, you can call your logic app from other logic apps and create a pattern of callable endpoints. Um einen aufrufbaren Endpunkt für die Verarbeitung eingehender Aufrufe einzurichten, können Sie einen der folgenden Triggertypen verwenden:To set up a callable endpoint for handling inbound calls, you can use any of these trigger types:

In diesem Artikel wird gezeigt, wie Sie einen aufrufbaren Endpunkt in Ihrer Logik-App mithilfe des Anforderungstriggers erstellen und ihn aus einer anderen Logik-App aufrufen.This article shows how to create a callable endpoint on your logic app by using the Request trigger and call that endpoint from another logic app. Alle Prinzipien gelten genauso für die anderen Triggertypen, mit denen Sie eingehende Anforderungen empfangen können.All principles apply identically to the other trigger types that you can use to receive inbound requests.

Weitere Informationen zu Sicherheit, Autorisierung und Verschlüsselung für eingehende Aufrufe Ihrer Logik-App, etwa über Transport Layer Security (TLS) (früher bekannt als Secure Sockets Layer (SSL)) oder Azure Active Directory Open Authorization (Azure AD OAuth), finden Sie unter Sicherer Zugriff und Daten: Zugriff für eingehende Aufrufe anforderungsbasierter Trigger. In diesem Artikel erfahren Sie auch, wie Sie Ihre Logik-App mit Azure API Management verfügbar machen oder IP-Adressen aus eingehenden Aufrufen einschränken.For more information about security, authorization, and encryption for inbound calls to your logic app, such as Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), Azure Active Directory Open Authentication (Azure AD OAuth), exposing your logic app with Azure API Management, or restricting the IP addresses that originate inbound calls, see Secure access and data - Access for inbound calls to request-based triggers.

VoraussetzungenPrerequisites

Erstellen eines aufrufbaren EndpunktsCreate a callable endpoint

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal. Erstellen Sie im Logik-App-Designer eine leere Logik-App, und öffnen Sie sie.Create and open a blank logic app in the Logic App Designer.

  2. Wählen Sie unter dem Suchfeld die Option Integriert aus.Under the search box, select Built-in. Geben Sie im Suchfeld den Begriff request als Filter ein.In the search box, enter request as your filter. Wählen Sie in der Liste der Trigger die Option Beim Empfang einer HTTP-Anforderung aus.From the triggers list, select When a HTTP request is received.

    Suchen und Auswählen des Anforderungstriggers

  3. Optional können Sie im Feld JSON-Schema für Anforderungstext ein JSON-Schema eingeben, das die Nutzlast bzw. Daten beschreibt, die der Trigger empfangen soll.Optionally, in the Request Body JSON Schema box, you can enter a JSON schema that describes the payload or data that you expect the trigger to receive.

    Der Designer verwendet dieses Schema, um Token zu generieren, die Triggerausgaben darstellen.The designer uses this schema to generate tokens that represent trigger outputs. Dann können Sie im gesamten Workflow Ihrer Logik-App ganz einfach auf diese Ausgaben verweisen.You can then easily reference these outputs throughout your logic app's workflow. Informieren Sie sich über Token, die aus JSON-Schemas generiert werden.Learn more about tokens generated from JSON schemas.

    Geben Sie für das vorliegende Beispiel das folgende Schema ein:For this example, enter this schema:

       {
       "type": "object",
       "properties": {
          "address": {
             "type": "object",
             "properties": {
                "streetNumber": {
                   "type": "string"
                },
                "streetName": {
                   "type": "string"
                },
                "town": {
                   "type": "string"
                },
                "postalCode": {
                   "type": "string"
                }
             }
          }
       }
    }
    

    Bereitstellen eines JSON-Schemas für die Anforderungsaktion

    Alternativ dazu können Sie ein JSON-Schema auch durch Bereitstellen einer Beispielnutzlast generieren:Or, you can generate a JSON schema by providing a sample payload:

    1. Wählen Sie im Anforderungstrigger die Option Beispielnutzlast zum Generieren eines Schemas verwenden aus.In the Request trigger, select Use sample payload to generate schema.

    2. Geben Sie im Feld Geben oder fügen Sie eine JSON-Beispielnutzlast ein Ihre Beispielnutzlast ein, beispielsweise:In the Enter or paste a sample JSON payload box, enter your sample payload, for example:

      {
         "address": {
            "streetNumber": "00000",
            "streetName": "AnyStreet",
            "town": "AnyTown",
            "postalCode": "11111-1111"
        }
      }
      
    3. Wählen Sie abschließend Fertig aus.When you're ready, select Done.

      Im Feld JSON-Schema für Anforderungstext wird jetzt das generierte Schema angezeigt.The Request Body JSON Schema box now shows the generated schema.

  4. Speichern Sie Ihre Logik-App.Save your logic app.

    Im Feld HTTP POST URL wird die generierte Rückruf-URL angezeigt, mit der andere Dienste Ihre Logik-App aufrufen und auslösen können.The HTTP POST URL box now shows the generated callback URL that other services can use to call and trigger your logic app. Diese URL enthält Abfrageparameter, die einen Shared Access Signature-Schlüssel (SAS) angeben, der für die Authentifizierung verwendet wird.This URL includes query parameters that specify a Shared Access Signature (SAS) key, which is used for authentication.

    Generierte Rückruf-URL für den Endpunkt

  5. Zum Kopieren der Rückruf-URL haben Sie folgende Optionen:To copy the callback URL, you have these options:

    • Wählen Sie rechts neben dem Feld HTTP POST URL die Option URL kopieren (Symbol „Dateien kopieren“) aus.To the right of the HTTP POST URL box, select Copy Url (copy files icon).

    • Führen Sie diesen Befehl mit der Methode aus, die der Anforderungsbefehl erwartet.Make this call by using the method that the Request trigger expects. In diesem Beispiel wird die POST-Methode verwendet:This example uses the POST method:

      POST https://management.azure.com/{logic-app-resource-ID}/triggers/{endpoint-trigger-name}/listCallbackURL?api-version=2016-06-01

    • Kopieren Sie die Rückruf-URL aus dem Bereich Übersicht Ihrer Logik-App.Copy the callback URL from your logic app's Overview pane.

      1. Wählen Sie im Menü Ihrer Logik-App die Option Übersicht aus.On your logic app's menu, select Overview.

      2. Wählen Sie im Abschnitt Zusammenfassung die Option Triggerverlauf anzeigen aus.In the Summary section, select See trigger history.

        Abrufen der Endpunkt-URL aus dem Azure-Portal

      3. Kopieren Sie die URL unter Rückruf-URL [POST] :Under Callback url [POST], copy the URL:

        Kopieren der Endpunkt-URL aus dem Azure-Portal

Auswählen der erwarteten AnforderungsmethodeSelect expected request method

Standardmäßig erwartet der Anforderungstrigger eine POST-Anforderung.By default, the Request trigger expects a POST request. Sie können jedoch eine andere Methode angeben, die vom Aufrufer verwendet werden muss (aber nur eine einzige).However, you can specify a different method that the caller must use, but only a single method.

  1. Öffnen Sie im Anforderungstrigger die Liste Neuen Parameter hinzufügen, und wählen Sie Methode aus. Dadurch wird diese Eigenschaft zum Trigger hinzugefügt.In the Request trigger, open the Add new parameter list, and select Method, which adds this property to the trigger.

    Hinzufügen der Eigenschaft „Methode“ zum Trigger

  2. Wählen Sie aus der Liste Methode die Methode aus, die der Trigger stattdessen erwarten sollte.From the Method list, select the method that the trigger should expect instead. Alternativ dazu können Sie auch eine benutzerdefinierte Methode angeben.Or, you can specify a custom method.

    Wählen Sie beispielsweise die Methode GET aus, damit Sie die Endpunkt-URL später testen können.For example, select the GET method so that you can test your endpoint's URL later.

    Auswählen der vom Trigger erwarteten Anforderungsmethode

Übergeben von Parametern über die Endpunkt-URLPass parameters through endpoint URL

Wenn Sie Parameterwerte über die URL des Endpunkts annehmen möchten, haben Sie folgende Optionen:When you want to accept parameter values through the endpoint's URL, you have these options:

  • Akzeptieren Sie Werte durch GET-Parameter oder URL-Parameter.Accept values through GET parameters or URL parameters.

    Diese Werte werden als Name-Wert-Paare an die Endpunkt-URL übergeben.These values are passed as name-value pairs in the endpoint's URL. Für diese Option müssen Sie die GET-Methode in Ihrem Anforderungstrigger verwenden.For this option, you need to use the GET method in your Request trigger. In einer nachfolgenden Aktion können Sie die Parameterwerte als Triggerausgaben abrufen, indem Sie die triggerOutputs()-Funktion in einem Ausdruck verwenden.In a subsequent action, you can get the parameter values as trigger outputs by using the triggerOutputs() function in an expression.

  • Akzeptieren Sie Werte über einen relativen Pfad für Parameter in Ihrem Anforderungstrigger.Accept values through a relative path for parameters in your Request trigger.

    Diese Werte werden über einen relativen Pfad in der Endpunkt-URL übergeben.These values are passed through a relative path in the endpoint's URL. Sie müssen zudem die Methode explizit auswählen, die Ihr Trigger erwartet.You also need to explicitly select the method that the trigger expects. In einer nachfolgenden Aktion können Sie die Parameterwerte als Triggerausgaben abrufen, indem direkt auf diese Ausgaben verweisen.In a subsequent action, you can get the parameter values as trigger outputs by referencing those outputs directly.

Akzeptieren von Werten durch GET-ParameterAccept values through GET parameters

  1. Öffnen Sie im Anforderungstrigger die Liste Neuen Parameter hinzufügen, fügen Sie dem Trigger die Eigenschaft Methode hinzu, wählen Sie die Methode GET aus.In the Request trigger, open the Add new parameter list, add the Method property to the trigger, and select the GET method.

    Weitere Informationen finden Sie unter Auswählen der erwarteten Anforderungsmethode.For more information, see Select expected request method.

  2. Fügen Sie unter dem Anforderungstrigger die Aktion hinzu, mit der Sie den Parameterwert verwenden möchten.Under the Request trigger, add the action where you want to use the parameter value. Fügen Sie für dieses Beispiel die Aktion Antwort hinzu.For this example, add the Response action.

    1. Wählen Sie unter dem Anforderungstrigger Neuer Schritt > Aktion hinzufügen aus.Under the Request trigger, select New step > Add an action.

    2. Geben Sie unter Aktion auswählen im Suchfeld response als Filter ein.Under Choose an action, in the search box, enter response as your filter. Wählen Sie in der Liste der Aktionen die Aktion Antwort aus.From the actions list, select the Response action.

  3. Führen Sie die folgenden Schritte aus, um den triggerOutputs()-Ausdruck zu erstellen, der den Parameterwert abruft:To build the triggerOutputs() expression that retrieves the parameter value, follow these steps:

    1. Klicken Sie in die Eigenschaft Body der Aktion „Antwort“, damit die dynamische Inhaltsliste angezeigt wird, und wählen Sie Ausdruck aus.Click inside the Response action's Body property so that the dynamic content list appears, and select Expression.

    2. Geben Sie in das Feld Ausdruck diesen Ausdruck ein, ersetzen Sie dabei parameter-name durch ihren Parameternamen, und wählen Sie OK aus.In the Expression box, enter this expression, replacing parameter-name with your parameter name, and select OK.

      triggerOutputs()['queries']['parameter-name']

      „triggerOutputs()“-Ausdruck zum Trigger hinzufügen

      In der Eigenschaft Body wird der Ausdruck in das triggerOutputs()-Token aufgelöst.In the Body property, the expression resolves to the triggerOutputs() token.

      Aufgelöster „triggerOutputs()“-Ausdruck

      Wenn Sie die Logik-App speichern, vom Designer weg und wieder zurück zum Designer navigieren, zeigt das Token den von Ihnen angegebenen Parameternamen an, z. B.:If you save the logic app, navigate away from the designer, and return to the designer, the token shows the parameter name that you specified, for example:

      Aufgelöster Ausdruck für den Parameternamen

      In der Codeansicht wird die Eigenschaft Body in der Definition der Aktion „Antwort“ wie folgt angezeigt:In code view, the Body property appears in the Response action's definition as follows:

      "body": "@{triggerOutputs()['queries']['parameter-name']}",

      Nehmen Sie beispielsweise an, dass Sie einen Wert für einen Parameter mit dem Namen postalCode übergeben möchten.For example, suppose that you want to pass a value for a parameter named postalCode. Die Eigenschaft Body gibt die Zeichenfolge Postal Code: mit einem nachfolgenden Leerzeichen an, gefolgt vom entsprechenden Ausdruck:The Body property specifies the string, Postal Code: with a trailing space, followed by the corresponding expression:

      „triggerOutputs()“-Beispielausdruck zum Trigger hinzufügen

  4. Um Ihren aufrufbaren Endpunkt zu testen, kopieren Sie die Rückruf-URL aus dem Anforderungstrigger, und fügen Sie die URL in ein anderes Browserfenster ein.To test your callable endpoint, copy the callback URL from the Request trigger, and paste the URL into another browser window. Fügen Sie in der URL den Parameternamen und -wert hinter dem Fragezeichen (?) im folgenden Format hinzu, und drücken Sie die EINGABETASTE.In the URL, add the parameter name and value following the question mark (?) to the URL in the following format, and press Enter.

    ...?{parameter-name=parameter-value}&api-version=2016-10-01...

    https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?{parameter-name=parameter-value}&api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

    Der Browser gibt eine Antwort mit dem folgenden Text zurück: Postal Code: 123456.The browser returns a response with this text: Postal Code: 123456

    Antwort vom Senden der Anforderung an die Rückruf-URL

  5. Um den Parameternamen und -wert an einer anderen Stelle innerhalb der URL zu platzieren, stellen Sie sicher, dass Sie das kaufmännische Und-Zeichen (&) als Präfix verwenden, z. B.:To put the parameter name and value in a different position within the URL, make sure to use the ampersand (&) as a prefix, for example:

    ...?api-version=2016-10-01&{parameter-name=parameter-value}&...

    In diesem Beispiel wird die Rückruf-URL mit dem Beispielparameternamen und -wert postalCode=123456 an verschiedenen Positionen innerhalb der URL angezeigt:This example shows the callback URL with the sample parameter name and value postalCode=123456 in different positions within the URL:

    • 1. Position: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?postalCode=123456&api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}1st position: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?postalCode=123456&api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

    • 2. Position: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?api-version=2016-10-01&postalCode=123456&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}2nd position: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?api-version=2016-10-01&postalCode=123456&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

Hinweis

Wenn Sie das Hash- oder Nummernzeichen ( # ) im URI verwenden möchten, nutzen Sie stattdessen diese codierte Version: %25%23.If you want to include the hash or pound symbol (#) in the URI, use this encoded version instead: %25%23

Akzeptieren von Werten durch einen relativen PfadAccept values through a relative path

  1. Öffnen Sie im Anforderungstrigger die Liste Neuen Parameter hinzufügen, und wählen Sie Relativer Pfad aus. Dadurch wird diese Eigenschaft zum Trigger hinzugefügt.In the Request trigger, open the Add new parameter list, and select Relative path, which adds this property to the trigger.

    Hinzufügen der Eigenschaft „Relativer Pfad“ zum Trigger

  2. Geben Sie in der Eigenschaft Relativer Pfad den relativen Pfad für den Parameter in Ihrem JSON-Schema an, der von Ihrer URL akzeptiert werden soll. Beispiel: /address/{postalCode}.In the Relative path property, specify the relative path for the parameter in your JSON schema that you want your URL to accept, for example, /address/{postalCode}.

    Angeben des relativen Pfads für den Parameter

  3. Fügen Sie unter dem Anforderungstrigger die Aktion hinzu, mit der Sie den Parameterwert verwenden möchten.Under the Request trigger, add the action where you want to use the parameter value. Fügen Sie für dieses Beispiel die Aktion Antwort hinzu.For this example, add the Response action.

    1. Wählen Sie unter dem Anforderungstrigger Neuer Schritt > Aktion hinzufügen aus.Under the Request trigger, select New step > Add an action.

    2. Geben Sie unter Aktion auswählen im Suchfeld response als Filter ein.Under Choose an action, in the search box, enter response as your filter. Wählen Sie in der Liste der Aktionen die Aktion Antwort aus.From the actions list, select the Response action.

  4. Schließen Sie in die Eigenschaft Text der Antwortaktion das Token für den Parameter ein, den Sie im relativen Pfad des Triggers angegeben haben.In the Response action's Body property, include the token that represents the parameter that you specified in your trigger's relative path.

    Nehmen Sie beispielsweise an, dass die Antwortaktion Postal Code: {postalCode} zurückgeben soll.For example, suppose that you want the Response action to return Postal Code: {postalCode}.

    1. Geben Sie in der Eigenschaft Text die Zeichenfolge Postal Code: mit einem nachfolgenden Leerzeichen ein.In the Body property, enter Postal Code: with a trailing space. Lassen Sie Ihren Cursor im Bearbeitungsfeld, damit die dynamische Inhaltsliste geöffnet bleibt.Keep your cursor inside the edit box so that the dynamic content list remains open.

    2. Wählen Sie in der dynamischen Inhaltsliste im Abschnitt Beim Empfang einer HTTP-Anforderung das Token postalCode aus.In the dynamic content list, from the When a HTTP request is received section, select the postalCode token.

      Hinzufügen des angegebenen Parameters zum Antworttext

      Die Eigenschaft Text enthält jetzt den ausgewählten Parameter.The Body property now includes the selected parameter:

      Beispiel für Antworttext mit Parameter

  5. Speichern Sie Ihre Logik-App.Save your logic app.

    Im Anforderungstrigger wird die Rückruf-URL aktualisiert und enthält nun den relativen Pfad, z. B.:In the Request trigger, the callback URL is updated and now includes the relative path, for example:

    https://prod-07.westus.logic.azure.com/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke/address/{postalCode}?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

  6. Um Ihren aufrufbaren Endpunkt zu testen, kopieren Sie die aktualisierte Rückruf-URL aus dem Anforderungstrigger, fügen Sie die URL in ein anderes Browserfenster ein, ersetzen Sie {postalCode} in der URL durch 123456, und drücken Sie die EINGABETASTE.To test your callable endpoint, copy the updated callback URL from the Request trigger, paste the URL into another browser window, replace {postalCode} in the URL with 123456, and press Enter.

    Der Browser gibt eine Antwort mit dem folgenden Text zurück: Postal Code: 123456.The browser returns a response with this text: Postal Code: 123456

    Antwort vom Senden der Anforderung an die Rückruf-URL

Hinweis

Wenn Sie das Hash- oder Nummernzeichen ( # ) im URI verwenden möchten, nutzen Sie stattdessen diese codierte Version: %25%23.If you want to include the hash or pound symbol (#) in the URI, use this encoded version instead: %25%23

Aufrufen einer Logik-App über eine Endpunkt-URLCall logic app through endpoint URL

Nach dem Erstellen des Endpunkts können Sie die Logik-App auslösen, indem Sie eine HTTPS-Anforderung an die vollständige URL des Endpunkts senden.After you create the endpoint, you can trigger the logic app by sending an HTTPS request to the endpoint's full URL. Logik-Apps bieten integrierte Unterstützung für Direktzugriffs-Endpunkte.Logic apps have built-in support for direct-access endpoints.

Aus dem Schema generierte TokenTokens generated from schema

Wenn Sie in Ihrem Anforderungstrigger ein JSON-Schema angeben, generiert der Logik-App-Designer Token für die Eigenschaften in diesem Schema.When you provide a JSON schema in the Request trigger, the Logic App Designer generates tokens for the properties in that schema. Diese Token können Sie dann zur Weitergabe von Daten über Ihren Logik-App-Workflow verwenden.You can then use those tokens for passing data through your logic app workflow.

Wenn Sie Ihrem JSON-Schema beispielsweise weitere Eigenschaften wie "suite" hinzufügen, stehen Ihnen in den späteren Schritten für Ihre Logik-App Token für diese Eigenschaften zur Verfügung.For example, if you add more properties, such as "suite", to your JSON schema, tokens for those properties are available for you to use in the later steps for your logic app. So sieht das vollständige JSON-Schema aus:Here is the complete JSON schema:

   {
   "type": "object",
   "properties": {
      "address": {
         "type": "object",
         "properties": {
            "streetNumber": {
               "type": "string"
            },
            "streetName": {
               "type": "string"
            },
            "suite": {
               "type": "string"
            },
            "town": {
               "type": "string"
            },
            "postalCode": {
               "type": "string"
            }
         }
      }
   }
}

Erstellen von geschachtelten Logik-AppsCreate nested logic apps

Sie können Workflows in Ihrer Logik-App schachteln, indem Sie andere Logik-Apps hinzufügen, die Anforderungen empfangen können.You can nest workflows into your logic app by adding other logic apps that can receive requests. Führen Sie zum Einschließen dieser Logik-Apps die folgenden Schritte aus:To include these logic apps, follow these steps:

  1. Wählen Sie in dem Schritt, in dem eine weitere Logik-App aufgerufen werden soll, die Option Neuer Schritt > Aktion hinzufügen aus.Under the step where you want to call another logic app, select New step > Add an action.

  2. Wählen Sie unter Aktion auswählen die Option Integriert aus.Under Choose an action, select Built-in. Geben Sie im Suchfeld den Begriff logic apps als Filter ein.In the search box, enter logic apps as your filter. Wählen Sie aus der Liste der Aktionen die Option Logic Apps-Workflow auswählen aus.From the actions list, select Choose a Logic Apps workflow.

    Schachteln einer Logik-App in der aktuellen Logik-App

    Der Designer zeigt die geeigneten Logik-Apps an, die Sie auswählen können.The designer shows the eligible logic apps for you to select.

  3. Wählen Sie die Logik-App aus, die aus Ihrer aktuellen Logik-App aufgerufen werden soll.Select the logic app to call from your current logic app.

    Auswählen der Logik-App, die aus der aktuellen Logik-App aufgerufen werden soll

Verweisen auf Inhalt von einer eingehenden Anforderung ausReference content from an incoming request

Wenn der Inhaltstyp der eingehenden Anforderung application/json lautet, können Sie auf die Eigenschaften in der eingehenden Anforderung verweisen.If the incoming request's content type is application/json, you can reference the properties in the incoming request. Andernfalls wird dieser Inhalt als einzelne binäre Einheit behandelt, die Sie an andere APIs übergeben können.Otherwise, this content is treated as a single binary unit that you can pass to other APIs. Um innerhalb des Workflows Ihrer Logik-App auf diesen Inhalt zu verweisen, müssen Sie den Inhalt zuerst konvertieren.To reference this content inside your logic app's workflow, you need to first convert that content.

Wenn Sie beispielsweise Inhalt vom Typ application/xml übergeben, können Sie mit dem @xpath()-Ausdruck eine XPath-Extrahierung durchführen oder mit dem @json()-Ausdruck XML in JSON konvertieren.For example, if you're passing content that has application/xml type, you can use the @xpath() expression to perform an XPath extraction, or use the @json() expression for converting XML to JSON. Informieren Sie sich über das Arbeiten mit unterstützten Inhaltstypen.Learn more about working with supported content types.

Um die Ausgabe aus einer eingehenden Anforderung abzurufen, können Sie den @triggerOutputs-Ausdruck verwenden.To get the output from an incoming request, you can use the @triggerOutputs expression. Nehmen Sie einmal an, Ihre Ausgabe sieht wie im folgenden Beispiel aus:For example, suppose you have output that looks like this example:

{
   "headers": {
      "content-type" : "application/json"
   },
   "body": {
      "myProperty" : "property value"
   }
}

Um speziell auf die Eigenschaft body zuzugreifen, können Sie den @triggerBody()-Ausdruck als Verknüpfung verwenden.To access specifically the body property, you can use the @triggerBody() expression as a shortcut.

Reagieren auf AnforderungenRespond to requests

Auf bestimmte Anforderungen, die Ihre Logik-App auslösen, möchten Sie möglicherweise mit Rückgabe von Inhalten an den Aufrufer reagieren.Sometimes you want to respond to certain requests that trigger your logic app by returning content to the caller. Um Statuscode, Header und Text für die Antwort zu erstellen, können Sie die Antwortaktion verwenden.To construct the status code, header, and body for your response, use the Response action. Diese Aktion kann an einer beliebigen Stelle in der Logik-App auftreten, nicht nur am Ende des Workflows.This action can appear anywhere in your logic app, not just at the end of your workflow. Wenn Ihre Logik-App keine Antwortaktion enthält, antwortet der Endpunkt sofort mit dem Status 202 – akzeptiert.If your logic app doesn't include a Response action, the endpoint responds immediately with the 202 Accepted status.

Damit der ursprüngliche Aufrufer die Antwort erhält, müssen alle erforderlichen Schritte für die Antwort innerhalb des Timeoutlimits der Anforderung beendet sein, es sei denn, die ausgelöste Logik-App wurde als geschachtelte Logik-App aufgerufen.For the original caller to successfully get the response, all the required steps for the response must finish within the request timeout limit unless the triggered logic app is called as a nested logic app. Wenn innerhalb dieses Limits keine Antwort erfolgt, kommt es bei der eingehenden Anforderung zu einem Timeout mit der Antwort 408 – Clienttimeout.If no response is returned within this limit, the incoming request times out and receives the 408 Client timeout response.

Bei geschachtelten Logik-Apps wartet die übergeordnete Logik-App so lange auf eine Antwort, bis alle Schritte abgeschlossen sind, unabhängig davon, wie lange dies dauert.For nested logic apps, the parent logic app continues to wait for a response until all the steps are completed, regardless of how much time is required.

Erstellen der AntwortConstruct the response

Sie können mehrere Header und jeden Inhaltstyp in den Antworttext einbeziehen.In the response body, you can include multiple headers and any type of content. Der Header der folgenden Antwort gibt beispielsweise an, dass der Inhaltstyp der Antwort application/json lautet und dass der Text Werte für die Eigenschaften town und postalCode enthält, basierend auf dem weiter oben in diesem Thema beschriebenen JSON-Schemas für den Anforderungstrigger.For example, this response's header specifies that the response's content type is application/json and that the body contains values for the town and postalCode properties, based on the JSON schema described earlier in this topic for the Request trigger.

Bereitstellen des Antwortinhalts für die HTTPS-Antwortaktion

Antworten haben folgende Eigenschaften:Responses have these properties:

Eigenschaft (Anzeige)Property (Display) Eigenschaft (JSON)Property (JSON) BESCHREIBUNGDescription
StatuscodeStatus Code statusCode Der HTTPS-Statuscode, der in der Antwort auf die eingehende Anforderung verwendet werden soll.The HTTPS status code to use in the response for the incoming request. Dieser Code kann jeder gültige Statuscode sein, der mit 2xx, 4xx oder 5xx beginnt.This code can be any valid status code that starts with 2xx, 4xx, or 5xx. Mit 3xx beginnende Statuscodes sind jedoch nicht zulässig.However, 3xx status codes are not permitted.
HeadersHeaders headers Mindestens ein Header, der in die Antwort eingefügt werden soll.One or more headers to include in the response
TextBody body Ein Textobjekt, das eine Zeichenfolge, ein JSON-Objekt oder sogar binäre Inhalte enthalten kann und auf das in einem vorherigen Schritt verwiesen wird.A body object that can be a string, a JSON object, or even binary content referenced from a previous step

Um die JSON-Definition der Antwortaktion und die vollständige JSON-Definition Ihrer Logik-App anzuzeigen, wählen Sie in der Symbolleiste des Logik-App-Designers die Option Codeansicht aus.To view the JSON definition for the Response action and your logic app's complete JSON definition, on the Logic App Designer toolbar, select Code view.

"Response": {
   "type": "Response",
   "kind": "http",
   "inputs": {
      "body": {
         "postalCode": "@triggerBody()?['address']?['postalCode']",
         "town": "@triggerBody()?['address']?['town']"
      },
      "headers": {
         "content-type": "application/json"
      },
      "statusCode": 200
   },
   "runAfter": {}
}

Fragen und AntwortenQ & A

F: Wie sieht es mit der URL-Sicherheit aus?Q: What about URL security?

A: Azure generiert über eine Shared Access Signature (SAS) auf sichere Weise Rückruf-URLs für Logik-Apps.A: Azure securely generates logic app callback URLs by using Shared Access Signature (SAS). Diese Signatur wird als Abfrageparameter übergeben und muss überprüft werden, bevor Ihre Logik-App ausgeführt werden kann.This signature passes through as a query parameter and must be validated before your logic app can run. Azure generiert die Signatur durch eine eindeutige Kombination aus einem geheimen Schlüssel pro Logik-App, dem Namen des Triggers und dem ausgeführten Vorgang.Azure generates the signature using a unique combination of a secret key per logic app, the trigger name, and the operation that's performed. Nur wenn ein Benutzer Zugriff auf den geheimen Logik-App-Schlüssel hat, kann er eine gültige Signatur generieren.So unless someone has access to the secret logic app key, they cannot generate a valid signature.

Wichtig

Bei Produktionssystemen und Systemen mit höherer Sicherheit wird dringend davon abgeraten, Ihre Logik-App direkt aus dem Browser aufzurufen. Das hat folgende Gründe:For production and higher security systems, we strongly advise against calling your logic app directly from the browser for these reasons:

  • Der Schlüssel für den gemeinsamen Zugriff ist in der URL enthalten.The shared access key appears in the URL.
  • Sie können keine Richtlinien für sichere Inhalte verwalten, da Domänen von Azure Logic Apps-Benutzern gemeinsam verwendet werden.You can't manage security content policies due to shared domains across Azure Logic Apps customers.

Weitere Informationen zu Sicherheit, Autorisierung und Verschlüsselung für eingehende Aufrufe Ihrer Logik-App, etwa über Transport Layer Security (TLS) (früher bekannt als Secure Sockets Layer (SSL)) oder Azure Active Directory Open Authorization (Azure AD OAuth), finden Sie unter Sicherer Zugriff und Daten: Zugriff für eingehende Aufrufe anforderungsbasierter Trigger. In diesem Artikel erfahren Sie auch, wie Sie Ihre Logik-App mit Azure API Management verfügbar machen oder IP-Adressen aus eingehenden Aufrufen einschränken.For more information about security, authorization, and encryption for inbound calls to your logic app, such as Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), Azure Active Directory Open Authentication (Azure AD OAuth), exposing your logic app with Azure API Management, or restricting the IP addresses that originate inbound calls, see Secure access and data - Access for inbound calls to request-based triggers.

F: Kann ich aufrufbare Endpunkte noch weiter konfigurieren?Q: Can I configure callable endpoints further?

A: Ja, HTTPS-Endpunkte unterstützen eine erweiterte Konfiguration über Azure API Management.A: Yes, HTTPS endpoints support more advanced configuration through Azure API Management. Dieser Dienst ermöglicht Ihnen auch die konsistente Verwaltung aller APIs einschließlich der Logik-Apps, das Einrichten benutzerdefinierter Domänennamen, Verwenden weiterer Authentifizierungsmethoden und vieles mehr, z.B.:This service also offers the capability for you to consistently manage all your APIs, including logic apps, set up custom domain names, use more authentication methods, and more, for example:

Nächste SchritteNext steps