Aufrufen von Funktionen aus Azure Logic AppsCall functions from Azure Logic Apps

Wenn Sie Code ausführen möchten, der einen bestimmten Auftrag in Ihren Logik-Apps ausführt, können Sie Ihre eigene Funktion erstellen, indem Sie Azure Functions verwenden.When you want to run code that performs a specific job in your logic apps, you can create your own function by using Azure Functions. Mit diesem Dienst können Sie Node.js-, C#- and F#-Funktionen erstellen, sodass Sie keine vollständige App oder Infrastruktur zur Ausführung von Code erstellen müssen.This service helps you create Node.js, C#, and F# functions so you don't have to build a complete app or infrastructure to run code. Sie können Logik-Apps auch aus Funktionen aufrufen.You can also call logic apps from inside functions. Azure Functions ermöglicht serverloses Computing in der Cloud und ist nützlich, um Aufgaben auszuführen, z.B. diese Beispiele:Azure Functions provides serverless computing in the cloud and is useful for performing tasks such as these examples:

  • Erweitern Sie das Verhalten Ihrer Logik-App um Funktionen in Node.js oder C#.Extend your logic app's behavior with functions in Node.js or C#.
  • Führen Sie in Ihrem Logik-App-Workflow Berechnungen durch.Perform calculations in your logic app workflow.
  • Wenden Sie in Ihren Logik-Apps die erweiterte Formatierung oder Computefelder an.Apply advanced formatting or compute fields in your logic apps.

Informationen zum Ausführen von Codeausschnitten ohne Azure Functions finden Sie unter Hinzufügen und Ausführen von Inlinecode.To run code snippets without using Azure Functions, learn how to add and run inline code.

Hinweis

Die Integration zwischen Logic Apps und Azure Functions funktioniert zurzeit nicht mit aktivierten Slots.Integration between Logic Apps and Azure Functions currently doesn't work with Slots enabled.

VoraussetzungenPrerequisites

  • Ein Azure-Abonnement.An Azure subscription. Wenn Sie nicht über ein Azure-Abonnement verfügen, können Sie sich für ein kostenloses Azure-Konto registrieren.If you don't have an Azure subscription, sign up for a free Azure account.

  • Eine Funktions-App ist ein Container für eine in Azure Functions erstellte Funktion gemeinsam mit der Funktion, die Sie erstellen.An function app, which is a container for a function that's created in Azure Functions, along with the function you create. Wenn noch keine Funktionen-App vorhanden ist, erstellen Sie zuerst Ihre Funktionen-App.If you don't have a function app, create your function app first. Sie können dann Ihre Funktion außerhalb Ihrer Logik-App im Azure-Portal oder aus Ihrer Logik-App heraus im Logik-App-Designer erstellen.You can then create your function either outside your logic app in the Azure portal, or from inside your logic app in the Logic App Designer.

  • Wenn Sie mit Logik-Apps arbeiten, gelten sowohl für vorhandene als auch für neue Funktions-Apps und Funktionen dieselben Anforderungen:When working with logic apps, the same requirements apply to function apps and functions whether they are existing or new:

    • Ihre Funktions-App und Logik-App müssen dasselbe Azure-Abonnement verwenden.Your function app and logic app must use the same Azure subscription.

    • Neue Funktions-Apps müssen entweder .NET oder JavaScript als Laufzeitstapel verwenden.New function apps must use either the .NET or JavaScript as the runtime stack. Wenn Sie vorhandenen Funktions-Apps eine neue Funktion hinzufügen, haben Sie die Wahl zwischen C# und JavaScript.When you add a new function to existing function apps, you can select either C# or JavaScript.

    • Ihre Funktion verwendet die HTTP-Trigger-Vorlage.Your function uses the HTTP trigger template.

      Die HTTP-Trigger-Vorlage kann Inhalte mit dem Typ application/json von Ihrer Logik-App akzeptieren.The HTTP trigger template can accept content that has application/json type from your logic app. Wenn Sie Ihrer Logik-App eine Funktion hinzufügen, zeigt der Logik-App-Designer benutzerdefinierte Funktionen, die im Rahmen Ihres Azure-Abonnements aus dieser Vorlage erstellt wurden.When you add a function to your logic app, the Logic App Designer shows custom functions that are created from this template within your Azure subscription.

    • Ihre Funktion verwendet keine benutzerdefinierten Routen – es sei denn, dass Sie eine OpenAPI-Definition festgelegt haben (früher als Swagger-Datei bezeichnet).Your function doesn't use custom routes unless you've defined an OpenAPI definition (formerly known as a Swagger file).

    • Wenn Sie für Ihre Funktion eine OpenAPI-Definition festgelegt haben, erhalten Sie im Logik-App-Designer eine umfangreichere Benutzeroberfläche für die Arbeit mit Funktionsparametern.If you have an OpenAPI definition for your function, the Logic Apps Designer gives you a richer experience when your work with function parameters. Bevor Ihre Logik-App Funktionen mit OpenAPI-Definitionen finden und darauf zugreifen kann, müssen Sie Ihre Funktionen-App mit diesen Schritten einrichten.Before your logic app can find and access functions that have OpenAPI definitions, set up your function app by following these steps.

  • Die Logik-App, in der Sie die Funktion hinzufügen möchten, einschließlich eines Triggers als erstem Schritt in Ihrer Logik-AppThe logic app where you want to add the function, including a trigger as the first step in your logic app

    Bevor Sie Aktionen zum Ausführen von Funktionen hinzufügen können, muss Ihre Logik-App über einen Trigger gestartet werden.Before you can add actions that run functions, your logic app must start with a trigger. Falls Sie noch nicht mit Logik-Apps vertraut sind, finden Sie weitere Informationen unter Was ist Azure Logic Apps? und Schnellstart: Erstellen Ihres ersten automatisierten Workflows mit Azure Logic Apps – Azure-Portal.If you're new to logic apps, review What is Azure Logic Apps and Quickstart: Create your first logic app.

Suchen von Funktionen, die OpenAPI-Beschreibungen besitzenFind functions that have OpenAPI descriptions

Um eine umfassendere Benutzeroberfläche zu erhalten, wenn Sie im Logik-App-Designer mit Funktionsparametern arbeiten, generieren Sie eine OpenAPI-Definition, früher als Swagger-Datei bezeichnet, für Ihre Funktion.For a richer experience when you work with function parameters in the Logic Apps Designer, generate an OpenAPI definition, formerly known as a Swagger file, for your function. Wenn Sie Ihre Funktionen-App so einrichten möchten, dass Ihre Logik-App Funktionen, die über Swagger-Beschreibungen verfügen, finden und nutzen kann, führen Sie die folgenden Schritte aus:To set up your function app so your logic app can find and use functions that have Swagger descriptions, follow these steps:

  1. Stellen Sie sicher, dass Ihre Funktions-App aktiv ausgeführt wird.Make sure that your function app is actively running.

  2. Richten Sie in Ihrer Funktions-App die Ressourcenfreigabe zwischen verschiedenen Ursprüngen (Cross-Origin Resource Sharing, CORS) mit den folgenden Schritten ein, damit alle Ursprünge zulässig sind:In your function app, set up Cross-Origin Resource Sharing (CORS) so that all origins are permitted by following these steps:

    1. Wählen Sie in der Liste Funktions-Apps Ihre Funktions-App aus.From the Function Apps list, select your function app. Wählen Sie im rechten Bereich Plattformfeatures > CORS aus.In the right-hand pane, select Platform features > CORS.

      Auswählen von Funktionen-App > Plattformfeatures > CORS

    2. Fügen Sie unter CORS das Sternchen-Platzhalterzeichen ( * ) hinzu, aber entfernen Sie alle anderen Ursprünge in der Liste, und wählen Sie Speichern aus.Under CORS, add the asterisk (*) wildcard character, but remove all the other origins in the list, and select Save.

      Legen Sie für "CORS* das Platzhalterzeichen "*" fest.

Zugreifen auf Eigenschaftswerte in HTTP-AnforderungenAccess property values inside HTTP requests

Webhook-Funktionen können HTTP-Anforderungen als Eingaben akzeptieren und diese Anforderungen an andere Funktionen übergeben.Webhook functions can accept HTTP requests as inputs and pass those requests to other functions. Obwohl Logic Apps beispielsweise über Funktionen zum Konvertieren von DateTime-Werten verfügt, wird in diesem einfachen Beispiel für eine JavaScript-Funktion Folgendes veranschaulicht: Zugreifen auf eine Eigenschaft in einem Anforderungsobjekt, das an die Funktion übergeben wird, und Durchführen von Vorgängen für diesen Eigenschaftswert.For example, although Logic Apps has functions that convert DateTime values, this basic sample JavaScript function shows how you can access a property inside a request object that's passed to the function and perform operations on that property value. Für den Zugriff auf Eigenschaften in Objekten wird in diesem Beispiel der Operator Punkt (.) verwendet:To access properties inside objects, this example uses the dot (.) operator:

function convertToDateString(request, response){
   var data = request.body;
   response = {
      body: data.date.ToDateString();
   }
}

In dieser Funktion läuft Folgendes ab:Here's what happens inside this function:

  1. Die Funktion erstellt die Variable data und weist das body-Objekt im request-Objekt dieser Variablen zu.The function creates a data variable and assigns the body object inside the request object to that variable. In der Funktion wird der Operator „Punkt“ (.) eingesetzt, um auf das body-Objekt im request-Objekt zu verweisen:The function uses the dot (.) operator to reference the body object inside the request object:

    var data = request.body;
    
  2. Die Funktion kann nun über die Variable data auf die date-Eigenschaft zugreifen und diesen Eigenschaftswert aus dem DateTime-Typ in den DateString-Typ konvertieren, indem die Funktion ToDateString() aufgerufen wird.The function can now access the date property through the data variable, and convert that property value from DateTime type to DateString type by calling the ToDateString() function. Die Funktion gibt auch das Ergebnis über die body-Eigenschaft in der Antwort der Funktion zurück:The function also returns the result through the body property in the function's response:

    body: data.date.ToDateString();
    

Nachdem Sie nun Ihre Funktion in Azure erstellt haben, können Sie die Schritte zum Hinzufügen von Funktionen zu Logik-Apps ausführen.Now that you've created your function in Azure, follow the steps to add functions to logic apps.

Erstellen von Funktionen innerhalb von Logik-AppsCreate functions inside logic apps

Sie können Funktionen direkt aus dem Workflow Ihrer Logik-App erstellen, indem Sie die integrierte Azure Functions-Aktion im Logik-App-Designer verwenden. Sie können diese Methode jedoch nur für in JavaScript geschriebene Funktionen verwenden.You can create functions directly from your logic app's workflow by using the built-in Azure Functions action in the Logic App Designer, but you can use this method only for functions written in JavaScript. Für andere Programmiersprachen können Sie Funktionen auf der Azure Functions-Benutzeroberfläche im Azure-Portal erstellen.For other languages, you can create functions through the Azure Functions experience in the Azure portal. Weitere Informationen finden Sie unter Erstellen Ihrer ersten Funktion im Azure-Portal.For more information, see Create your first function in the Azure portal.

Bevor Sie jedoch eine Funktion in Azure erstellen können, müssen Sie bereits über eine Funktions-App verfügen, die ein Container für Ihre Funktionen ist.However, before you can create your function in Azure, you must already have a function app, which is a container for your functions. Erstellen Sie zuerst diese Funktionen-App, falls sie noch nicht vorhanden ist.If you don't have a function app, create that function app first. Weitere Informationen finden Sie unter Erstellen Ihrer ersten Funktion im Azure-Portal.See Create your first function in the Azure portal.

  1. Öffnen Sie Ihre Logik-App über das Azure-Portal im Logik-App-Designer.In the Azure portal, open your logic app in the Logic App Designer.

  2. Führen Sie zum Erstellen und Hinzufügen Ihrer Funktion den Schritt aus, der für Ihr Szenario zutrifft:To create and add your function, follow the step that applies to your scenario:

    • Wählen Sie unter dem letzten Schritt im Workflow Ihrer Logik-App Neuer Schritt aus.Under the last step in your logic app's workflow, select New step.

    • Bewegen Sie Ihren Mauszeiger zwischen vorhandenen Schritten im Workflow Ihrer Logik-App auf den Pfeil, wählen Sie das Pluszeichen (+) und dann Aktion hinzufügen aus.Between existing steps in your logic app's workflow, move your mouse over the arrow, select the plus (+) sign, and then select Add an action.

  3. Geben Sie im Suchfeld „azure functions“ als Filter ein.In the search box, enter "azure functions" as your filter. Wählen Sie in der Aktionsliste beispielsweise die Aktion Azure-Funktion wählen aus.From the actions list, select the Choose an Azure function action, for example:

    Suchen Sie Funktionen im Azure-Portal.

  4. Wählen Sie in der Liste mit den Funktionen-Apps Ihre Funktionen-App aus.From the function apps list, select your function app. Wählen diese Aktion aus, nachdem die Liste mit den Aktionen geöffnet wurde: Erstellen einer neuen FunktionAfter the actions list opens, select this action: Create New Function.

    Auswählen Ihrer Funktionen-App

  5. Definieren Sie im Editor für Funktionsdefinitionen Ihre Funktion:In the function definition editor, define your function:

    1. Geben Sie im Feld Funktionsname einen Namen für Ihre Funktion an.In the Function name box, provide a name for your function.

    2. Fügen Sie im Feld Code der Funktionsvorlage Ihren Code hinzu. Binden Sie auch die Antwort und Nutzlast ein, die für Ihre Logik-App zurückgegeben werden soll, nachdem die Ausführung Ihrer Funktion abgeschlossen ist.In the Code box, add your code to the function template, including the response and payload that you want returned to your logic app after your function finishes running. Wählen Sie Erstellen, wenn Sie fertig sind.When you're done, select Create.

    Beispiel:For example:

    Definieren Ihrer Funktion

    Im Code der Vorlage bezieht sich das context-Objekt auf die Nachricht, die Ihre Logik-App in einem späteren Schritt über das Feld Anforderungstext sendet.In the template's code, the context object refers to the message that your logic app sends through the Request Body field in a later step. Verwenden Sie für den Zugriff auf die Eigenschaften des context-Objekts aus Ihrer Funktion heraus die folgende Syntax:To access the context object's properties from inside your function, use this syntax:

    context.body.<property-name>

    Um beispielsweise auf die content-Eigenschaft im context-Objekt zu verweisen, verwenden Sie diese Syntax:For example, to reference the content property inside the context object, use this syntax:

    context.body.content

    Der Vorlagencode enthält auch eine input-Variable, in der der Wert aus dem Parameter data gespeichert wird, damit Ihre Funktion Vorgänge an diesem Wert durchführen kann.The template code also includes an input variable, which stores the value from the data parameter so your function can perform operations on that value. Innerhalb der JavaScript-Funktionen ist die data-Variable außerdem eine Kurzform für context.body.Inside JavaScript functions, the data variable is also a shortcut for context.body.

    Hinweis

    Die body-Eigenschaft gilt hier für das context-Objekt und ist mit dem Body-Token aus der Ausgabe einer Aktion nicht identisch, das Sie möglicherweise ebenfalls an Ihre Funktion übergeben.The body property here applies to the context object and isn't the same as the Body token from an action's output, which you might also pass to your function.

  6. Geben Sie im Feld Anforderungstext die Eingabe für Ihre Funktion ein, die als JSON-Objekt (JavaScript Object Notation) formatiert werden muss.In the Request Body box, provide your function's input, which must be formatted as a JavaScript Object Notation (JSON) object.

    Diese Eingabe ist das Kontextobjekt oder die Nachricht, das bzw. die von Ihrer Logik-App an Ihre Funktion gesendet wird.This input is the context object or message that your logic app sends to your function. Wenn Sie in das Feld Anforderungstext klicken, wird die Liste mit dem dynamischen Inhalt angezeigt, und Sie können Token für Ausgaben aus vorherigen Schritten auswählen.When you click in the Request Body field, the dynamic content list appears so you can select tokens for outputs from previous steps. In diesem Beispiel wird angegeben, dass die Kontextnutzlast die Eigenschaft content enthält, die den Wert des Tokens Von aus dem E-Mail-Trigger aufweist.This example specifies that the context payload contains a property named content that has the From token's value from the email trigger.

    Beispiel „Anforderungstext“ –Nutzlast des Kontextobjekts

    Hier wird das Kontextobjekt nicht in eine Zeichenfolge umgewandelt, sodass der Inhalt des Objekts der JSON-Nutzlast direkt hinzugefügt wird.Here, the context object isn't cast as a string, so the object's content gets added directly to the JSON payload. Wenn das Kontextobjekt aber kein JSON-Token ist, das eine Zeichenfolge, ein JSON-Objekt oder ein JSON-Array übergibt, wird eine Fehlermeldung angezeigt.However, when the context object isn't a JSON token that passes a string, a JSON object, or a JSON array, you get an error. Wurde in diesem Beispiel stattdessen das Token Empfangszeit verwendet, können Sie das Kontextobjekt in eine Zeichenfolge umwandeln, indem Sie doppelte Anführungszeichen hinzufügen.So, if this example used the Received Time token instead, you can cast the context object as a string by adding double-quotation marks.

    Umwandeln eines Objekts in eine Zeichenfolge

  7. Um weitere Details wie die zu verwendende Methode, Anforderungskopfzeilen, Abfrageparameter oder Authentifizierung anzugeben, öffnen Sie die Liste Neuen Parameter hinzufügen, und wählen Sie die gewünschten Optionen aus.To specify other details such as the method to use, request headers, or query parameters, or authentication, open the Add new parameter list, and select the options that you want. Bei der Authentifizierung unterscheiden sich die Optionen je nach der von Ihnen ausgewählten Funktion.For authentication, your options differ based on your selected function. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung für Funktionen.See Enable authentication for functions.

Hinzufügen von vorhandenen Funktionen zu Logik-AppsAdd existing functions to logic apps

Zum Aufrufen von vorhandenen Funktionen aus Ihren Logik-Apps können Sie Funktionen wie alle anderen Aktionen im Logik-App-Designer hinzufügen.To call existing functions from your logic apps, you can add functions like any other action in the Logic App Designer.

  1. Öffnen Sie Ihre Logik-App über das Azure-Portal im Logik-App-Designer.In the Azure portal, open your logic app in the Logic App Designer.

  2. Wählen Sie im Schritt zum Hinzufügen der Funktion die Option Neuer Schritt aus.Under the step where you want to add the function, select New step.

  3. Geben Sie unter Aktion auswählen im Suchfeld „azure functions“ als Filter ein.Under Choose an action, in the search box, enter "azure functions" as your filter. Wählen Sie in der Aktionsliste die Aktion Azure-Funktion wählen aus.From the actions list, select the Choose an Azure function action.

    Suchen Sie in Azure eine Funktion.

  4. Wählen Sie in der Liste mit den Funktionen-Apps Ihre Funktionen-App aus.From the function apps list, select your function app. Wählen Sie Ihre Funktion aus, wenn die Liste mit den Funktionen angezeigt wird.After the functions list appears, select your function.

    Auswählen Ihrer Funktions-App und Funktion

    Für Funktionen, die über API-Definitionen (Swagger-Beschreibungen) verfügen und so eingerichtet sind, dass Ihre Logik-App diese Funktionen finden und darauf zugreifen kann, können Sie Swagger-Aktionen auswählen.For functions that have API definitions (Swagger descriptions) and are set up so your logic app can find and access those functions, you can select Swagger actions.

    Auswählen von Funktions-App, „Swagger-Aktionen“ und Ihrer Funktion

  5. Geben Sie im Feld Anforderungstext die Eingabe für Ihre Funktion ein, die als JSON-Objekt (JavaScript Object Notation) formatiert werden muss.In the Request Body box, provide your function's input, which must be formatted as a JavaScript Object Notation (JSON) object.

    Diese Eingabe ist das Kontextobjekt oder die Nachricht, das bzw. die von Ihrer Logik-App an Ihre Funktion gesendet wird.This input is the context object or message that your logic app sends to your function. Wenn Sie in das Feld Anforderungstext klicken, wird die Liste mit dem dynamischen Inhalt angezeigt, und Sie können Token für Ausgaben aus vorherigen Schritten auswählen.When you click in the Request Body field, the dynamic content list appears so that you can select tokens for outputs from previous steps. In diesem Beispiel wird angegeben, dass die Kontextnutzlast die Eigenschaft content enthält, die den Wert des Tokens Von aus dem E-Mail-Trigger aufweist.This example specifies that the context payload contains a property named content that has the From token's value from the email trigger.

    Beispiel „Anforderungstext“ –Nutzlast des Kontextobjekts

    Hier wird das Kontextobjekt nicht in eine Zeichenfolge umgewandelt, sodass der Inhalt des Objekts der JSON-Nutzlast direkt hinzugefügt wird.Here, the context object isn't cast as a string, so the object's content gets added directly to the JSON payload. Wenn das Kontextobjekt aber kein JSON-Token ist, das eine Zeichenfolge, ein JSON-Objekt oder ein JSON-Array übergibt, wird eine Fehlermeldung angezeigt.However, when the context object isn't a JSON token that passes a string, a JSON object, or a JSON array, you get an error. Wurde in diesem Beispiel stattdessen das Token Empfangszeit verwendet, können Sie das Kontextobjekt in eine Zeichenfolge umwandeln, indem Sie doppelte Anführungszeichen hinzufügen:So, if this example used the Received Time token instead, you can cast the context object as a string by adding double-quotation marks:

    Umwandeln eines Objekts in eine Zeichenfolge

  6. Um weitere Details wie die zu verwendende Methode, Anforderungskopfzeilen, Abfrageparameter oder Authentifizierung anzugeben, öffnen Sie die Liste Neuen Parameter hinzufügen, und wählen Sie die gewünschten Optionen aus.To specify other details such as the method to use, request headers, query parameters, or authentication, open the Add new parameter list, and select the options that you want. Bei der Authentifizierung unterscheiden sich die Optionen je nach der von Ihnen ausgewählten Funktion.For authentication, your options differ based on your selected function. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung in Funktionen.See Enable authentication in functions.

Aufrufen von Logik-Apps aus FunktionenCall logic apps from functions

Wenn Sie eine Logik-App aus einer Funktion auslösen möchten, muss diese App mit einem Trigger starten, der einen aufrufbaren Endpunkt bereitstellt.When you want to trigger a logic app from inside a function, the logic app must start with a trigger that provides a callable endpoint. So können Sie beispielsweise die Logik-App mit dem Trigger HTTP, Anforderung, Azure-Warteschlangen oder Event Grid starten.For example, you can start the logic app with the HTTP, Request, Azure Queues, or Event Grid trigger. Senden Sie in Ihrer Funktion eine HTTP POST-Anforderung an die URL des Triggers, und binden Sie die Nutzlast ein, die von dieser Logik-App verarbeitet werden soll.Inside your function, send an HTTP POST request to the trigger's URL, and include the payload you want that logic app to process. Weitere Informationen hierzu finden Sie unter Aufrufen, Auslösen oder Schachteln von Logik-Apps.For more information, see Call, trigger, or nest logic apps.

Aktivieren der Authentifizierung für FunktionenEnable authentication for functions

Um den Zugriff auf andere Ressourcen, die von Azure Active Directory (Azure AD) geschützt werden, ohne Anmeldung oder Bereitstellung von Anmeldeinformationen oder Geheimnissen einfach zu authentifizieren, kann Ihre Logik-App eine verwaltete Identität (früher als verwaltete Dienstidentität (Managed Service Identity, MSI) bezeichnet) verwenden.To easily authenticate access to other resources that are protected by Azure Active Directory (Azure AD) without having to sign in and provide credentials or secrets, your logic app can use a managed identity (formerly known as Managed Service Identity or MSI). Azure verwaltet diese Identität für Sie und dient als Hilfe beim Schützen Ihrer Anmeldeinformationen, da Sie keine Geheimnisse angeben oder eine Rotation dafür durchführen müssen.Azure manages this identity for you and helps secure your credentials because you don't have to provide or rotate secrets. Erfahren Sie mehr zu Azure-Diensten, die verwaltete Identitäten für die Azure AD-Authentifizierung unterstützen.Learn more about Azure services that support managed identities for Azure AD authentication.

Wenn Sie Ihre Logik-App so einrichten, dass sie die vom System zugewiesene verwaltete Identität oder eine manuell erstellte benutzerseitig zugewiesene Identität verwendet, können die Funktionen in Ihrer Logik-App auch dieselbe Identität für die Authentifizierung verwenden.If you set up your logic app to use the system-assigned identity or a manually created, user-assigned identity, the function in your logic app can also use that same identity for authentication. Weitere Informationen zur Unterstützung der Authentifizierung für Funktionen in Logik-Apps finden Sie unter Hinzufügen von Authentifizierung zu ausgehenden Aufrufen.For more information about authentication support for functions in logic apps, see Add authentication to outbound calls.

Um die verwaltete Identität mit Ihrer Funktion einzurichten und zu verwenden, führen Sie diese Schritte aus:To set up and use the managed identity with your function, follow these steps:

  1. Aktivieren Sie die verwaltete Identität in Ihrer Logik-App, und richten den Zugriff dieser Identität auf die Zielressource ein.Enable the managed identity on your logic app, and set up that identity's access to the target resource. Weitere Informationen finden Sie unter Authentifizieren des Zugriffs auf Azure-Ressourcen mithilfe verwalteter Identitäten in Azure Logic Apps.See Authenticate access to Azure resources by using managed identities in Azure Logic Apps.

  2. Aktivieren Sie die Authentifizierung in Ihrer Funktion und der Funktions-App, indem Sie folgende Schritte ausführen:Enable authentication in your function and function app by following these steps:

Einrichten der anonymen Authentifizierung in ihrer FunktionSet up anonymous authentication in your function

Um die verwaltete Identität Ihrer Logik-App in Ihrer Funktion zu verwenden, müssen Sie die Authentifizierungsebene Ihrer Funktion auf „Anonym“ festlegen.To use your logic app's managed identity in your function, you must set your function's authentication level to anonymous. Andernfalls löst die Logik-App einen „BadRequest“-Fehler aus.Otherwise, your logic app throws a "BadRequest" error.

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie sie aus.In the Azure portal, find and select your function app. In diesen Schritten wird „FabrikamFunctionApp“ als Beispiel für eine Funktions-App verwendet.These steps use "FabrikamFunctionApp" as the example function app.

  2. Wählen Sie im Bereich „Funktions-App“ Plattformfeatures aus.On the function app pane, select Platform features. Wählen Sie unter Entwicklungstools die Option Erweiterte Tools (Kudu) aus.Under Development tools, select Advanced tools (Kudu).

    Öffnen der erweiterten Tools für Kudu

  3. Wählen Sie in der Titelleiste der Kudu-Website im Menü Debugging-Konsole CMD aus.On the Kudu website's title bar, from the Debug Console menu, select CMD.

    Auswählen der Option „CMD“ im Menü „Debugging-Konsole“

  4. Wählen Sie auf der angezeigten nächsten Seite Website > wwwroot > Ihre Funktion aus der Ordnerliste aus.After the next page appears, from the folder list, select site > wwwroot > your-function. In diesen Schritten wird „FabrikamAzureFunction“ als Beispielfunktion verwendet.These steps use "FabrikamAzureFunction" as the example function.

    Auswählen von „Website“ > „wwwroot“ > Ihre Funktion

  5. Öffnet die Datei function.json zur Bearbeitung.Open the function.json file for editing.

    Klicken auf „Bearbeiten“ der „function.json“-Datei

  6. Überprüfen Sie im Objekt bindings, ob die Eigenschaft authLevel vorhanden ist.In the bindings object, check whether the authLevel property exists. Wenn die Eigenschaft vorhanden ist, setzen Sie den Eigenschaftswert auf anonymous.If the property exists, set the property value to anonymous. Fügen Sie die Eigenschaft andernfalls hinzu und legen Sie den Wert fest.Otherwise, add that property and set the value.

    Hinzufügen der Eigenschaft „authLevel“ und Festlegen auf „Anonym“

  7. Wenn Sie fertig sind, speichern Sie Ihre Einstellungen, und fahren Sie mit den nächsten Abschnitt fort.When you're done, save your settings, and then continue to the next section.

Einrichten der Azure AD-Authentifizierung für ihre Funktions-AppSet up Azure AD authentication for your function app

Suchen Sie diese Werte vor dem Start dieser Aufgabe, und legen Sie sie zur späteren Verwendung zur Seite:Before you start this task, find and put these values aside for later use:

  • Die für die vom System zugewiesene Identität generierte Objekt-ID, die Ihre Logik-App darstelltThe object ID that's generated for the system-assigned identity that represents your logic app

  • Die Verzeichnis-ID für Ihren Mandanten in Azure Active Directory (Azure AD)The directory ID for your tenant in Azure Active Directory (Azure AD)

    Um die Verzeichnis-ID Ihres Mandanten abzurufen, führen Sie den PowerShell-Befehl Get-AzureAccount aus.To get your tenant's directory ID, you can run the Get-AzureAccount Powershell command. Oder gehen Sie im Azure-Portal wie folgt vor:Or, in the Azure portal, follow these steps:

    1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie sie aus.In the Azure portal, find and select your function app.

    2. Suchen Sie Ihren Azure AD-Mandanten, und wählen Sie ihn aus.Find and select your Azure AD tenant. In diesen Schritten wird „Fabrikam“ als Beispielmandant verwendet.These steps use "Fabrikam" as the example tenant.

    3. Wählen Sie im Menü des Mandanten unter Verwalten die Option Eigenschaften aus.On the tenant's menu, under Manage, select Properties.

    4. Kopieren Sie z. B. die Verzeichnis-ID Ihres Mandanten, und speichern Sie diese für die spätere Verwendung.Copy your tenant's directory ID, for example, and save that ID for later use.

      Suchen und Kopieren der Verzeichnis-ID des Azure AD-Mandanten

  • Die Ressourcen-ID der Zielressource, auf die Sie zugreifen möchtenThe resource ID for the target resource that you want to access

    Wichtig

    Diese Zielressourcen-ID muss genau dem Wert entsprechen, den Azure AD erwartet, einschließlich aller erforderlichen nachgestellten Schrägstriche.This resource ID must exactly match the value that Azure AD expects, including any required trailing slashes.

    Diese Ressourcen-ID ist außerdem derselbe Wert, den Sie später in der Eigenschaft Zielgruppe verwenden, wenn Sie Ihre Funktionsaktion so einrichten, dass sie die vom System zugewiesene Identität verwendet.This resource ID is also the same value that you later use in the Audience property when you set up your function action to use the system-assigned identity.

Jetzt können Sie die Azure AD-Authentifizierung für ihre Funktions-App einrichten.Now you're ready to set up Azure AD authentication for your function app.

  1. Suchen Sie im Azure-Portal nach Ihrer Funktions-App, und wählen Sie sie aus.In the Azure portal, find and select your function app.

  2. Wählen Sie im Bereich „Funktions-App“ Plattformfeatures aus.On the function app pane, select Platform features. Wählen Sie unter Netzwerk die Option Authentifizierung/Autorisierung aus.Under Networking, select Authentication / Authorization.

    Anzeigen von Authentifizierung und Autorisierung

  3. Ändern Sie die Einstellung App Service-Authentifizierung in Ein.Change the App Service Authentication setting to On. Wählen Sie in der Liste Die auszuführende Aktion, wenn die Anforderung nicht authentifiziert ist die Option Mit Azure Active Directory anmelden aus.From the Action to take when request is not authenticated list, select Log in with Azure Active Directory. Wählen Sie unter Authentifizierungsanbieter die Option Azure Active Directory aus.Under Authentication Providers, select Azure Active Directory.

    Aktivieren der Authentifizierung mit Azure AD

  4. Führen Sie im Bereich Azure Active Directory-Einstellungen die folgenden Schritte aus:On the Azure Active Directory Settings pane, follow these steps:

    1. Legen Sie den Verwaltungsmodus auf Erweitert fest.Set Management mode to Advanced.

    2. Geben Sie unter Client-ID die Objekt-ID für die vom System zugewiesene Identität Ihrer Logik-App ein.In the Client ID property, enter the object ID for your logic app's system-assigned identity.

    3. Geben Sie in der Eigenschaft Aussteller-URL die URL https://sts.windows.net/ ein, und fügen Sie die Verzeichnis-ID Ihres Azure AD-Mandanten an.In the Issuer Url property, enter the https://sts.windows.net/ URL, and append your Azure AD tenant's directory ID.

      https://sts.windows.net/<Azure-AD-tenant-directory-ID>

    4. Geben Sie in der Eigenschaft Zulässige Tokenzielgruppe die Ressourcen-ID der Zielressource ein, auf die Sie zugreifen möchten.In the Allowed Token Audiences property, enter the resource ID for the target resource that you want to access.

      Diese Ressourcen-ID ist derselbe Wert, den Sie später in der Eigenschaft Zielgruppe verwenden, wenn Sie Ihre Funktionsaktion so einrichten, dass sie die vom System zugewiesene Identität verwendet.This resource ID is the same value that you later use in the Audience property when you set up your function action to use the system-assigned identity.

    An dieser Stelle sieht Ihre Version in etwa wie in diesem Beispiel aus:At this point, your version looks similar to this example:

    Azure Active Directory-Authentifizierungseinstellungen

  5. Wenn Sie fertig sind, wählen Sie OK.When you're done, select OK.

  6. Kehren Sie zum Logik-App-Designer zurück, und führen Sie die Schritte zum Authentifizieren des Zugriffs mit der verwalteten Identität aus.Return to the Logic App Designer and follow the steps to authenticate access with the managed identity.

Nächste SchritteNext steps