Tutorial: Erstellen von Workflows zur Verarbeitung von E-Mails mithilfe von Azure Logic Apps, Azure Functions und Azure Storage
Gilt für: Azure Logic Apps (Verbrauch)
In diesem Tutorial wird gezeigt, wie Sie einen Beispielworkflow erstellen, der Azure Functions und Azure Storage mithilfe von Azure Logic Apps integriert. In diesem Tutorial wird gezeigt, wie Sie einen Logik-App-Workflow für den Verbrauch erstellen, der eingehende E-Mails und alle Anlagen verarbeitet, den E-Mail-Inhalt mithilfe von Azure Functions analysiert, den Inhalt in Azure Storage speichert und E-Mails zur Überprüfung des Inhalts sendet.
Nach Abschluss sieht Ihr Workflow dem folgenden allgemeinen Beispiel ähnlich:
Tipp
Um mehr zu erfahren, können Sie Azure Copilot folgende Fragen stellen:
- Was ist Azure Logic Apps?
- Übersicht zu Azure Functions
- Was ist Azure Storage?
- Was ist ein verbrauchsbasierter Logik-App-Worfklows?
Um Azure Copilot zu finden, wählen Sie auf der Symbolleiste im Azure-Portal die Option Copilot aus.
Sie können einen ähnlichen Workflow mit einer Standard-Logik-App-Ressource erstellen, bei der einige Connectorvorgänge, z. B. Azure Blob Storage, auch als integrierte, anbieterbasierte Vorgänge verfügbar sind. Die Schritte in der Benutzeroberfläche und im Tutorial weichen jedoch geringfügig von der Verbrauchsversion ab.
Voraussetzungen
Ein Azure-Konto und ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.
Ein E-Mail-Konto eines von Azure Logic Apps unterstützten E-Mail-Anbieters wie etwa Office 365 Outlook, Outlook.com oder Gmail. Weitere unterstützte E-Mail-Anbieter finden Sie unter Connectors für Azure Logic Apps.
In diesem Beispiel wird Office 365 Outlook mit einem Geschäfts-, Schul- oder Unikonto verwendet. Bei Verwendung eines anderen E-Mail-Kontos bleiben die allgemeinen Schritte zwar gleich, die Benutzeroberfläche unterscheidet sich jedoch möglicherweise geringfügig. Verwenden Sie für Outlook.com stattdessen Ihr persönliches Microsoft-Konto, um sich anzumelden.
Hinweis
Wenn Sie den Gmail-Connector verwenden möchten, können nur G-Suite-Geschäftskonten diesen Connector ohne Einschränkung in Logik-App-Workflows verwenden. Wenn Sie über ein Gmail-Consumerkonto verfügen, können Sie diesen Connector nur mit bestimmten von Google genehmigten Diensten verwenden, oder Sie können eine Google-Client-App erstellen, die für die Authentifizierung mit Ihrem Gmail-Connector verwendet werden soll. Weitere Informationen finden Sie unter Datensicherheit und Datenschutzrichtlinien für Google-Connectors in Azure Logic Apps.
Laden Sie den kostenlosen Microsoft Azure Storage-Explorer herunter, und installieren Sie ihn. Mit diesem Tool können Sie überprüfen, ob Ihr Speichercontainer ordnungsgemäß eingerichtet ist.
Wenn Ihr Workflow durch eine Firewall kommunizieren muss, die den Datenverkehr auf bestimmte IP-Adressen beschränkt, muss diese Firewall den Zugriff sowohl für die eingehenden als auch für die ausgehenden IP-Adressen zulassen, die von Azure Logic Apps in der Azure-Region verwendet werden, in der Ihre Logic App-Ressource existiert. Falls für Ihr Worfklow auch verwaltete Connectors (Office 365 Outlook-Connector oder SQL-Connector) oder benutzerdefinierte Connectors verwendet werden, muss in der Firewall in der Azure-Region Ihrer Logik-App zusätzlich der Zugriff für alleausgehenden IP-Adressen der verwalteten Connectors zulässig sein.
Einrichten von Speicher zum Speichern von Anlagen
Mit den folgenden Schritten wird Azure Storage eingerichtet, sodass Sie eingehende E-Mails und Anlagen als Blobs speichern können.
Melden Sie sich beim Azure-Portal mit den Anmeldeinformationen Ihres Azure-Kontos an.
Führen Sie diese Schritte aus, um ein Speicherkonto zu erstellen, es sei denn, Sie verfügen bereits über ein Speicherkonto.
Geben Sie auf der Registerkarte Grundeinstellungen die folgenden Informationen an:
Eigenschaft Erforderlich Wert BESCHREIBUNG Abonnement Ja <Name des Azure-Abonnements> Den Namen Ihres Azure-Abonnements
In diesem Beispiel wird Nutzungsbasierte Zahlung verwendet.Ressourcengruppe Ja <Azure-resource-group> Der Name der Azure-Ressourcengruppe, die zum Organisieren und Verwalten verwandter Ressourcen verwendet wird.
Hinweis: Eine Ressourcengruppe befindet sich in einer bestimmten Region. Die Elemente in diesem Tutorial sind unter Umständen nicht in allen Regionen verfügbar. Versuchen Sie aber nach Möglichkeit, die gleiche Region zu verwenden.
In diesem Beispiel wird LA-Tutorial-RG verwendet.Speicherkontoname Ja <Azure-storage-account-name> Der eindeutige Name des Speicherkontos, der aus 3 bis 24 Zeichen bestehen muss und nur Kleinbuchstaben und Ziffern enthalten darf.
In diesem Beispiel wird attachmentstorageacct verwendet.Region Ja <Azure-Region> Die Azure-Datenregion für Ihr Speicherkonto.
In diesem Beispiel wird USA, Westen verwendet.Primärer Dienst No <Azure-Speicherdienst> Der primäre Speichertyp, der in Ihrem Speicherkonto verwendet werden soll. Weitere Informationen finden Sie unter Erkunden der Optionen zum Speichern von Daten in Azure. Leistung Ja - Standard
- PremiumDiese Einstellung gibt die unterstützten Datentypen und die Medien für die Datenspeicherung an. Weitere Informationen finden Sie in der Speicherkontoübersicht.
In diesem Beispiel wird Standard verwendet.Redundanz Ja - Lokal redundanter Speicher
- Georedundanter Speicher (GRS)Diese Einstellung ermöglicht das Speichern mehrerer Kopien Ihrer Daten als Schutz vor geplanten und ungeplanten Ereignissen. Weitere Informationen finden Sie unter Azure Storage-Redundanz.
In diesem Beispiel wird georedundanter Speicher (GRS) verwendet.Sie können auch Azure PowerShell oder die Azure CLI verwenden, um Ihr Speicherkonto zu erstellen.
Wählen Sie, wenn Sie bereit sind, Überprüfen + erstellen aus. Warten Sie, bis Azure die Informationen zu Ihrer Speicherkontoressource überprüft hat, und wählen Sie anschließend Erstellen aus.
Warten Sie, bis Azure Ihr Speicherkonto bereitgestellt hat, und wählen Sie anschließend Zu Ressource wechseln aus. Alternativ dazu können Sie Ihr Speicherkonto über das Suchfeld von Azure suchen und auswählen.
Führen Sie die folgenden Schritte aus, um den Zugriffsschlüssel für das Speicherkonto abzurufen:
Wählen Sie im Speicherkontomenü unter Sicherheit + Netzwerkbetrieb die Option Zugriffsschlüssel aus.
Kopieren Sie den Speicherkontonamen und Schlüssel1. Speichern Sie diese Werte an einem sicheren Ort, um sie später zu verwenden.
Sie können auch Azure PowerShell oder die Azure CLI verwenden, um den Zugriffsschlüssel Ihres Speicherkontos abzurufen.
Erstellen Sie einen Blobspeichercontainer für Ihre E-Mail-Anlagen.
Wählen Sie im Menü des Speicherkontos unter Datenspeicher die Option Container aus.
Wählen Sie auf der Symbolleiste der Seite Container die Option Container aus.
Geben Sie im Bereich Neuer Container die folgenden Informationen an:
Eigenschaft Wert Beschreibung Name attachments Der Containername Anonyme Zugriffsebene Container (anonymer Lesezugriff für Container und Blobs) Klicken Sie auf Erstellen.
Wenn Sie fertig sind, zeigt die Containerliste nun den neuen Speichercontainer an.
Sie können auch Azure PowerShell oder die Azure-Befehlszeilenschnittstelle verwenden, um einen Speichercontainer zu erstellen.
Stellen Sie als Nächstes eine Storage-Explorer-Verbindung mit Ihrem Speicherkonto her.
Einrichten des Storage-Explorers
Mit den folgenden Schritten stellen Sie eine Storage-Explorer-Verbindung mit Ihrem Speicherkonto her und vergewissern sich, dass Ihr Workflow Anlagen ordnungsgemäß als Blobs in Ihrem Speichercontainer speichert.
Starten Sie den Microsoft Azure Storage-Explorer. Melden Sie sich mit Ihrem Azure-Konto an.
Hinweis
Wenn keine Eingabeaufforderung angezeigt wird, wählen Sie in der Storage-Explorer-Aktivitätsleiste die Option Kontoverwaltung (Profilsymbol) aus.
Wählen Sie im Fenster Azure-Umgebung auswählen Ihre Azure-Umgebung aus, und wählen Sie anschließend Weiter aus.
In diesem Beispiel wird eine globale mehrinstanzenfähige Azure-Instanz ausgewählt.
Melden Sie sich in dem daraufhin angezeigten Browserfenster bei Ihrem Azure-Konto an.
Kehren Sie zum Storage-Explorer und zum Fenster Kontoverwaltung zurück. Vergewissern Sie sich, dass der richtige Microsoft Entra-Mandant und das richtige Abonnement ausgewählt sind.
Wählen Sie auf der Aktivitätsleiste „Storage-Explorer“ die Option Verbindungsdialogfeld öffnen aus.
Wählen Sie im Fenster Ressource auswählen die Option Speicherkonto oder -dienst aus.
Wählen Sie im Fenster Verbindungsmethode auswählenKontoname und -schlüssel>Weiter aus.
Geben Sie im Fenster Mit Azure Storage verbinden die folgenden Informationen an:
Eigenschaft Wert Anzeigename Der Anzeigename Ihrer Verbindung Kontoname Name Ihres Speicherkontos Kontoschlüssel Der Zugriffsschlüssel, den Sie zuvor gespeichert haben Vergewissern Sie sich bei Speicherdomäne, dass Azure (core.windows.net) ausgewählt ist, und wählen Sie Weiter aus.
Überprüfen Sie im Fenster Zusammenfassung Ihre Verbindungsinformationen, und wählen Sie anschließend Verbinden aus.
Der Speicher-Explorer erstellt die Verbindung. Ihr Speicherkonto wird im Explorer-Fenster unter Emulator und Angefügt>Speicherkonten angezeigt.
Um Ihren Blob-Speichercontainer zu finden, erweitern Sie unter Speicherkonten Ihr Speicherkonto, in diesem Beispiel attachmentstorageacct. Unter Blobcontainer finden Sie den Container attachments, z. B.:
Erstellen Sie als Nächstes eine Azure-Funktions-App und eine Funktion, die HTML-Code aus dem Inhalt entfernt.
Erstellen einer Funktionen-App
Mit den folgenden Schritten wird eine Azure-Funktion erstellt, die Ihr Workflow aufruft, um HTML aus eingehenden E-Mails zu entfernen.
Damit Sie eine Funktion erstellen können, erstellen Sie eine Funktions-App, indem Sie den Plan Verbrauch auswählen und die folgenden Schritte ausführen:
Geben Sie auf der Registerkarte Grundeinstellungen die folgenden Informationen an:
Eigenschaft Erforderlich Wert BESCHREIBUNG Abonnement Ja <Name des Azure-Abonnements> Das gleiche Azure-Abonnement, das Sie zuvor für Ihr Speicherkonto verwendet haben. Ressourcengruppe Ja <Name der Azure-Ressourcengruppe> Dieselbe Azure-Ressourcengruppe, die Sie zuvor für Ihr Speicherkonto verwendet haben.
Wählen Sie für dieses Beispiel die Option LA-Tutorial-RG aus.Name der Funktions-App Ja <Funktions-App-Name> Ihr Funktions-App-Name, der in den Azure-Regionen eindeutig sein muss und nur Buchstaben (Groß-/Kleinschreibung nicht beachtet), Zahlen (0–9) und Bindestriche (-) enthalten darf.
Da CleanTextFunctionApp in diesem Beispiel bereits verwendet wird, muss ein anderer Name angegeben werden (beispielsweise MyCleanTextFunctionApp-<Ihr Name>.Runtimestapel Ja <programming-language> Die Laufzeit für die bevorzugte Programmiersprache der Funktion. Wählen Sie für C#- und F#-Funktionen .NET aus.
In diesem Beispiel wird .NETverwendet.
Die Bearbeitung im Portal ist nur für die folgenden Sprachen verfügbar:
- JavaScript
- PowerShell
- TypeScript
- C#-Skript
C#-Klassenbibliotheks-, Java- und Python-Funktionen müssen lokal entwickelt werden.Version Ja <version-number> Wählen Sie die Version für Ihre installierte Runtime aus. Region Ja <Azure-Region> Die gleiche Region, die Sie auch zuvor verwendet haben.
In diesem Beispiel wird USA, Westen verwendet.Betriebssystem Ja <Ihr Betriebssystem> Ein Betriebssystem ist basierend auf Ihrer Laufzeitstapelauswahl vorab für Sie ausgewählt. Sie können jedoch das Betriebssystem auswählen, das Ihre bevorzugte Funktionsprogrammiersprache unterstützt. Die portalinterne Bearbeitung wird nur unter Windows unterstützt.
In diesem Beispiel wird Windows ausgewählt.Klicken Sie auf Weiter: Speicher. Geben Sie auf der Registerkarte Speicher die folgenden Informationen an:
Eigenschaft Erforderlich Wert BESCHREIBUNG Speicherkonto Ja <Azure-storage-account-name> Erstellen Sie ein Speicherkonto, das Ihre Funktions-App verwenden soll. Speicherkontonamen müssen zwischen 3 und 24 Zeichen lang sein und dürfen nur Kleinbuchstaben und Zahlen enthalten.
In diesem Beispiel wird cleantextfunctionstorageacct verwendet.
Hinweis: Dieses Speicherkonto enthält Ihre Funktions-Apps und unterscheidet sich vom zuvor erstellten Speicherkonto für E-Mail-Anlagen. Sie können auch ein vorhandenes Konto verwenden, das die Anforderungen an das Speicherkonto erfüllen muss.Wenn Sie fertig sind, wählen Sie Überprüfen + Erstellen aus. Nachdem Azure die bereitgestellten Informationen überprüft hat, wählen Sie Erstellen aus.
Nachdem Azure die Funktions-App-Ressource erstellt und bereitgestellt hat, wählen Sie Zu Ressource wechseln aus.
Erstellen einer Funktion zum Entfernen von HTML-Code
Mit den folgenden Schritten erstellen Sie eine Azure-Funktion, die mithilfe des Beispielcodeausschnitts den HTML-Code aus jeder eingehenden E-Mail entfernt. Durch die Funktion wird der E-Mail-Inhalt übersichtlicher und lässt sich leichter verarbeiten. Diese Funktion können Sie dann aus Ihrem Workflow aufrufen.
Weitere Informationen finden Sie unter Erstellen Ihrer ersten Funktion im Azure-Portal. Für die erweiterte Funktionserstellung können Sie ihre Funktion auch lokal erstellen.
Öffnen Sie im Azure-Portal Ihre Funktions-App, falls sie noch nicht geöffnet ist.
Um Ihre Funktion später im Azure-Portal auszuführen, richten Sie Ihre Funktions-App so ein, dass Anforderungen vom Portal explizit akzeptiert werden. Wählen Sie im Menü der Funktions-App unter API die Option CORS aus. Geben Sie unter Zulässige Ursprünge
https://portal.azure.com
ein, und wählen Sie Speichern aus.Wählen Sie im Funktions-App-Menü Übersicht aus. Wählen Sie auf der Registerkarte Funktionen die Option Erstellen aus.
Wählen Sie im Bereich Funktion erstellen HTTP-Trigger: C#>Weiter aus.
Hinweis
Wenn die C#-Version nicht angezeigt wird, stellen Sie sicher, dass
Geben Sie die folgenden Informationen für Ihre Funktion an, und wählen Sie Erstellen aus:
Parameter Wert Funktionsname RemoveHTMLFunction Autorisierungsstufe Funktion Geben Sie auf der Registerkarte Programmieren und testen den folgenden Beispielcode ein, der HTML entfernt und die Ergebnisse an den Aufrufer zurückgibt.
#r "Newtonsoft.Json" using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; using System.Text.RegularExpressions; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { log.LogInformation("HttpWebhook triggered"); // Parse query parameter string emailBodyContent = await new StreamReader(req.Body).ReadToEndAsync(); // Replace HTML with other characters string updatedBody = Regex.Replace(emailBodyContent, "<.*?>", string.Empty); updatedBody = updatedBody.Replace("\\r\\n", " "); updatedBody = updatedBody.Replace(@" ", " "); // Return cleaned text return (ActionResult)new OkObjectResult(new {updatedBody}); }
Wenn Sie fertig sind, wählen Sie auf der Symbolleiste Programmieren und testen die Option Speichern aus, und wählen Sie dann Testen/Ausführen aus.
Geben Sie im Bereich Testen/Ausführen auf der Registerkarte Eingabe in das Feld Text die folgende Beispieleingabe ein, und wählen Sie Ausführen aus:
{"name": "<p><p>Testing my function</br></p></p>"}
Die Ausgabe Ihrer Funktion sollte folgendem Ergebnis ähneln:
{"updatedBody": "{\"name\": \"Testing my function\"}"}
Nachdem Sie sich vergewissert haben, dass die Funktion funktioniert, erstellen Sie die Ressource und den Workflow für Ihre Logik-App. In diesem Tutorial wird zwar gezeigt, wie Sie eine Funktion erstellen, die HTML-Code aus E-Mails entfernt, aber Azure Logic Apps stellt darüber hinaus auch einen HTML in Text-Connector bereit.
Erstellen einer verbrauchsbasierten Logik-App-Ressource
Geben Sie in das Suchfeld des Azure-Portals den Begriff Logik-App ein, und wählen Sie Logic Apps aus.
Wählen Sie auf der Symbolleiste der Seite Logic Apps die Option Hinzufügen aus.
Die Seite Erstellen einer Logik-App wird mit den folgenden Optionen angezeigt:
Planen BESCHREIBUNG Verbrauch Erstellt eine Logik-App-Ressource, die nur einen Workflow unterstützt, der in Azure Logic Apps mit mehreren Mandanten ausgeführt wird und das Verbrauchsmodell für die Abrechnung verwendet. Standard Erstellt eine Logik-App-Ressource, die mehrere Workflows unterstützt. Folgende Optionen stehen zur Auswahl:
- Workflowdienstplan: Workflows werden in Azure Logic Apps mit einem einzelnen Mandanten ausgeführt und verwenden das Standardabrechnungsmodell.
- App Service-Umgebung V3: Workflows werden in Azure Logic Apps mit einem Mandanten ausgeführt und verwenden einen App Service-Umgebungsplan für die Abrechnung.Wählen Sie auf der Seite Logik-App erstellen die Option Verbrauch (mehrere Mandanten) aus.
Geben Sie auf der Registerkarte Grundlegendes die folgenden Informationen zu Ihrer Logik-App-Ressource ein:
Parameter Erforderlich Wert BESCHREIBUNG Abonnement Ja <Name des Azure-Abonnements> Das gleiche Azure-Abonnement, das Sie auch zuvor verwendet haben. Ressourcengruppe Ja LA-Tutorial-RG Die gleiche Azure-Ressourcengruppe, die Sie auch zuvor verwendet haben. Name der Logik-App Ja <logic-app-name> Der Name Ihrer Logik-App-Ressource, der regionsübergreifend eindeutig sein muss und nur Buchstaben, Ziffern, Bindestriche (-), Unterstriche (_), Klammern (()) und Punkte (.) enthalten darf.
Dieses Beispiel erstellt eine Logik-App-Ressource namens LA-ProcessAttachment. Eine Verbrauchs-Logik-App und ein Workflow haben immer denselben Namen.Region Ja USA, Westen Die gleiche Region, die Sie auch zuvor verwendet haben. Aktivieren von Log Analytics Ja Nein Ändern Sie diese Option nur, wenn Sie die Diagnoseprotokollierung aktivieren möchten. Behalten Sie für dieses Tutorial die Standardauswahl bei.
Hinweis: Diese Option ist nur für Verbrauchs-Logik-Apps verfügbar.Hinweis
Verfügbarkeitszonen sind automatisch für neue und vorhandene Nutzungslogik-App-Workflows in Azure-Regionen aktiviert, die Verfügbarkeitszonen unterstützen. Weitere Informationen finden Sie unter Zuverlässigkeit in Azure Functions und Schützen von Logik-Apps vor Regionsausfällen mit Zonenredundanz und Verfügbarkeitszonen.
Wenn Sie bereit sind, wählen Sie Überprüfen + erstellen aus. Warten Sie, bis Azure die Informationen zu Ihrer Logik-App-Ressource überprüft hat, und wählen Sie anschließend Erstellen aus.
Nachdem Azure Ihre Logik-App-Ressource bereitgestellt hat, wählen Sie Zu Ressource wechseln aus. Alternativ dazu können Sie den Namen Ihrer Logik-App-Ressource in das Suchfeld von Azure eingeben und die Ressource auswählen.
Hinzufügen eines Triggers zum Überprüfen eingehender E-Mails
Mit den folgenden Schritten fügen Sie einen Trigger hinzu, der auf eingehende E-Mails mit Anlagen wartet.
Klicken Sie im Menü der Logik-App unter Entwicklungstools auf Logik-App-Designer.
Führen Sie im Workflow-Designer diese allgemeinen Schritte aus, um den Office 365 Outlook-Trigger mit dem Namen Wenn eine neue E-Mail empfangen wird hinzuzufügen.
Für den Office 365 Outlook-Connector müssen Sie sich mit einem Microsoft-Geschäfts-, Schul- oder Unikonto anmelden. Wenn Sie ein persönliches Microsoft-Konto verwenden, verwenden Sie den Outlook.com Connector.
Melden Sie sich bei Ihrem E-Mail-Konto an. Dadurch wird eine Verbindung zwischen Ihrem Workflow und Ihrem E-Mail-Konto hergestellt.
Fügen Sie im Triggerinformationsfeld aus der Liste Erweiterte Parameter die folgenden Parameter hinzu, sofern sie nicht angezeigt werden, und geben Sie die folgenden Informationen an:
Parameter Wert Beschreibung Wichtigkeit Beliebige Gibt die Wichtigkeitsstufe der gewünschten E-Mail an. Nur mit Anlagen Ja Ruft nur E-Mails mit Anlagen ab.
Hinweis: Der Trigger entfernt keine E-Mails aus Ihrem Konto. Er überprüft nur neue Nachrichten und verarbeitet nur E-Mails, die dem Betrefffilter entsprechen.Anlagen einschließen Ja Ruft die Anlagen als Eingabe für Ihren Workflow ab, anstatt nur nach Anlagen zu suchen. Ordner Inbox Der zu überprüfende E-Mail-Ordner. Filter für Betreff Business Analyst 2 #423501 Gibt den Text an, nach dem im Betreff der E-Mail gesucht werden soll. Wenn Sie fertig sind, sieht der Trigger ähnlich wie im folgenden Beispiel aus:
Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Ihr Workflow befindet sich jetzt im Livemodus, überprüft bislang aber lediglich Ihre E-Mails. Als Nächstes fügen Sie eine Bedingung hinzu, die Kriterien für die Fortsetzung nachfolgender Aktionen in dem Workflow angibt.
Hinzufügen einer Bedingung zur Überprüfung auf Anlagen
Mit den folgenden Schritten fügen Sie eine Bedingung hinzu, die nur E-Mails auswählt, die über Anlagen verfügen.
Führen Sie im Workflow-Designer die folgenden allgemeinen Schritte aus, um eine Control-Aktion namens Condition hinzuzufügen.
Benennen Sie im Infobereich der Aktion Condition die Aktion mit Wenn E-Mail Anlagen und einen Schlüsselbegriff enthält.
Erstellen Sie eine Bedingung, die überprüft, ob E-Mails mit Anlagen vorhanden sind.
Klicken Sie auf der Registerkarte Parameter in der ersten Zeile unter der Liste UND in das linke Feld, und wählen Sie anschließend die Liste mit dynamischen Inhalten (Blitzsymbol) aus. Wählen Sie in dieser Liste im Triggerabschnitt die Ausgabe Mit Anlagen aus.
Tipp
Wenn die Ausgabe Mit Anlagen nicht angezeigt wird, wählen Sie Weitere anzeigen aus.
Behalten Sie im mittleren Feld den Operator mit dem Namen ist gleich bei.
Geben Sie in das Feld rechts true ein. Dies ist der Wert, der mit dem Ausgabewert Mit Anlagen aus dem Trigger verglichen werden soll. Sind beide Werte gleich, besitzt die E-Mail mindestens eine Anlage, die Bedingung ist erfüllt, und der Workflow wird fortgesetzt.
In der zugrunde liegenden Workflowdefinition, die Sie anzeigen können, indem Sie in der Designersymbolleiste auf Codeansicht klicken, sieht die Bedingung ähnlich wie im folgenden Beispiel aus:
"Condition": { "actions": { <actions-to-run-when-condition-passes> }, "expression": { "and": [ { "equals": [ "@triggerBody()?['HasAttachment']", "true" ] } ] }, "runAfter": {}, "type": "If" }
Speichern Sie den Workflow.
Testen der Bedingung
Wählen Sie auf der Symbolleiste des Designers Ausführen>Ausführen aus.
Mit diesem Schritt wird Ihr Workflow manuell gestartet und ausgeführt. Es geschieht jedoch nichts, bis Sie eine Test-E-Mail an Ihren Posteingang senden.
Senden Sie sich selbst eine E-Mail, die folgende Kriterien erfüllt:
Der E-Mail-Betreff enthält den Text, den Sie in der Triggereigenschaft Filter für Betreff angegeben haben: Business Analyst 2 #423501
Ihre E-Mail verfügt über eine Anlage. Erstellen Sie vorerst einfach eine leere Textdatei, und fügen Sie sie an Ihre E-Mail an.
Wenn die E-Mail eingeht, wird sie von Ihrem Workflow auf Anlagen und den angegebenen Betrefftext überprüft. Wenn die Bedingung erfüllt ist, wird der Trigger ausgelöst und bewirkt, dass Azure Logic Apps eine Workflowinstanz instanziiert und ausführt.
Wählen Sie im Logik-App-Menü die Option Übersicht aus, und vergewissern Sie sich, dass der Trigger ausgelöst und die Logik-App erfolgreich ausgeführt wurde.
Um erfolgreich ausgeführte Workflows anzuzeigen, wählen Sie Ausführungsverlauf aus.
Um erfolgreich ausgelöste Trigger anzuzeigen, wählen Sie Triggerverlauf aus.
Wenn der Trigger nicht ausgelöst wurde oder wenn der Workflow trotz eines erfolgreichen Triggers nicht ausgeführt wurde, lesen Sie Problembehandlung bei Ihrem Logik-App-Workflow.
Als Nächstes definieren Sie die Aktionen, die für die True-Verzweigung ausgeführt werden sollen. Entfernen Sie jeglichen HTML-Code aus dem E-Mail-Text, und erstellen Sie anschließend Blobs im Speichercontainer für die E-Mail und die Anlagen, um die E-Mail zusammen mit sämtlichen Anlagen zu speichern.
Hinweis
Ihr Workflow kann den False-Branch leer lassen und keine Aktionen ausführen, wenn eine E-Mail keine Anlagen enthält. Als Zusatzübung können Sie nach Abschluss dieses Tutorials eine beliebige angemessene Aktion hinzufügen, die Sie für die False-Verzweigung durchführen möchten.
Aufrufen der Funktion „RemoveHTMLFunction“
Die folgenden Schritte fügen Ihre zuvor erstellte Azure-Funktion hinzu, die den E-Mail-Textinhalt vom E-Mail-Trigger als Eingabe annimmt.
Klicken Sie im Menü für die Logik-App unter Entwicklungstools auf Logik-App-Designer. Wählen Sie in der True-Verzweigung die Option Aktion hinzufügen aus.
Wählen Sie die Sie zuvor erstellte Funktions-App (CleanTextFunctionApp in diesem Beispiel) aus.
Wählen Sie Ihre Funktion aus, die in diesem Beispiel RemoveHTMLFunction lautet, und wählen Sie dann Aktion hinzufügen aus.
Benennen Sie die Aktion im Azure Functions-Infobereich in Call RemoveHTMLFunction um.
Geben Sie nun die Eingabe an, die Ihre Funktion verarbeiten soll.
Geben Sie unter Anforderungstext den folgenden Text mit einem nachgestellten Leerzeichen ein:
{ "emailBody":
Während Sie mit dieser Eingabe im nächsten Schritten arbeiten, wird eine Fehlermeldung zu ungültigem JSON angezeigt, bis die Eingabe ordnungsgemäß als JSON formatiert wurde. Bei vorherigen Tests dieser Funktion wurde für die Eingabe, die für diese Funktion angegeben wurde, das JSON-Format (JavaScript Object Notation) verwendet. Der Anforderungstext muss daher das gleiche Format besitzen.
Klicken Sie in das Feld Anforderungstext, und wählen Sie dann die dynamische Inhaltsliste (Blitzsymbol) aus, damit Sie Ausgaben aus vorherigen Aktionen auswählen können.
Wählen Sie aus der dynamischen Inhaltsliste unter Wenn eine neue E-Mail empfangen wird die Ausgabe Text aus. Nachdem dieser Wert im Feld Anforderungstext aufgelöst wurde, denken Sie daran, die schließende geschweifte Klammer (}) hinzuzufügen.
Wenn Sie fertig sind, sieht die Azure-Funktion wie im folgenden Beispiel aus:
Speichern Sie den Workflow.
Fügen Sie als Nächstes eine Aktion hinzu, mit der ein Blob zum Speichern des E-Mail-Texts erstellt wird.
Hinzufügen einer Aktion zum Erstellen eines Blobs für E-Mail-Text
Mit den folgenden Schritten wird ein Blob erstellt, in dem der E-Mail-Text in Ihrem Speichercontainer gespeichert wird.
Wählen Sie im Designer im Block True der Bedingung unter Ihrer Azure-Funktion die Option Aktion hinzufügen aus.
Geben Sie die Verbindungsinformationen für Ihr Speicherkonto an, z. B.:
Parameter Erforderlich Wert BESCHREIBUNG Verbindungsname Ja <connection-name> Ein beschreibender Name für die Verbindung.
In diesem Beispiel wird AttachmentStorageConnection verwendet.Authentifizierungstyp Ja <authentication-type> Der Authentifizierungstyp, der für die Verbindung verwendet werden soll.
In diesem Beispiel wird Zugriffsschlüssel verwendet.Azure-Speicherkontoname oder Blobendpunkt Ja <storage-account-name> Der Name für Ihr zuvor erstelltes Speicherkonto.
In diesem Beispiel wird attachmentstorageacct verwendet.Zugriffsschlüssel für das Azure Storage-Konto Ja <storage-account-access-key> Der Zugriffsschlüssel für Ihr zuvor erstelltes Speicherkonto. Wählen Sie abschließend Neu erstellen aus.
Benennen Sie im Informationsbereich der Aktion Blob erstellen die Aktion in Blob für E-Mail-Text erstellen um.
Geben Sie die folgenden Aktionsinformationen an:
Tipp
Wenn Sie in der Liste dynamischer Inhalte eine angegebene Ausgabe nicht finden können, wählen Sie Weitere neben dem Vorgangsnamen aus.
Parameter Erforderlich Wert Beschreibung Speicherkontoname oder Blobendpunkt Ja Use connection settings(<storage-account-name-or-blob-endpoint>) Wählen Sie die Option aus, die Ihren Speicherkontonamen enthält.
In diesem Beispiel wirdhttps://attachmentstorageacct.blob.core.windows.net
verwendet.Ordnerpfad Ja <path-and-container-name> Pfad und Name des zuvor erstellten Containers.
Wählen Sie für dieses Beispiel das Ordnersymbol und anschließend den Container attachments aus.Blobname Ja <sender-name> Verwenden Sie für dieses Beispiel den Namen des Absenders als Namen des Blobs.
1. Klicken Sie in das Feld Blobname, und wählen Sie dann die Option für die dynamische Inhaltsliste (Blitzsymbol) aus.
2. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht die Option Von aus.Blobinhalt Ja <cleaned-email-body> Verwenden Sie für dieses Beispiel den HTML-freien E-Mail-Text als Blobinhalt.
1. Klicken Sie in das Feld Blobinhalt, und wählen Sie dann die Option für die dynamische Inhaltsliste (Blitzsymbol) aus.
2. Wählen Sie im Abschnitt RemoveHTMLFunction aufrufen die Option Text aus.Der folgende Screenshot zeigt die Ausgaben, die für die Aktion Blob für E-Mail-Text erstellen ausgewählt werden sollen:
Wenn Sie fertig sind, sieht die Aktion wie im folgenden Beispiel aus:
Speichern Sie den Workflow.
Testen der Behandlung von Anlagen
Wählen Sie auf der Symbolleiste des Designers Ausführen>Ausführen aus.
Mit diesem Schritt wird Ihr Workflow manuell gestartet und ausgeführt. Es geschieht jedoch nichts, bis Sie eine Test-E-Mail an Ihren Posteingang senden.
Senden Sie sich selbst eine E-Mail, die folgende Kriterien erfüllt:
Der E-Mail-Betreff enthält den Text, den Sie im Triggerparameter Filter für Betreff angegeben haben: Business Analyst 2 #423501
Ihre E-Mail verfügt über mindestens eine Anlage. Erstellen Sie vorerst einfach eine leere Textdatei, und fügen Sie sie an Ihre E-Mail an.
Ihre E-Mail enthält etwas Text zu Testzwecken. Beispiel: Testing my logic app workflow
Wurde Ihr Workflow nicht ausgelöst oder trotz eines erfolgreichen Triggers nicht ausgeführt, lesen Sie unter Behandeln von Fehlern in Ihrem Logik-App-Workflow weiter.
Vergewissern Sie sich, dass Ihr Workflow die E-Mail im richtigen Speichercontainer gespeichert hat.
Erweitern Sie in Storage-Explorer Folgendes: Emulator und Angefügt>Speicherkonten>attachmentstorageacct (Schlüssel)>Blobcontainer>attachments.
Überprüfen Sie, ob der Container attachments die E-Mail enthält.
Bislang enthält der Container lediglich die E-Mail, da der Workflow die Anlagen noch nicht verarbeitet hat.
Löschen Sie die E-Mail im Storage-Explorer, wenn Sie fertig sind.
Optional: Zum Testen der False-Verzweigung, die momentan noch nichts bewirkt, können Sie eine E-Mail senden, die die Kriterien nicht erfüllt.
Fügen Sie als Nächstes eine For Each-Schleife hinzu, um alle E-Mail-Anlagen zu verarbeiten.
Hinzufügen einer Schleife zum Verarbeiten von Anlagen
Mit den folgenden Schritten wird eine Schleife hinzugefügt, um die einzelnen Anlagen der E-Mail zu verarbeiten.
Kehren Sie zum Workflow-Designer zurück. Wählen Sie unter der Aktion Blob für E-Mail-Text erstellen die Option Aktion hinzufügen aus.
Benennen Sie im Informationsbereich der For each-Aktion die Aktion in Für jede E-Mail-Anlage um.
Wählen Sie nun die Inhalte aus, die die Schleife verarbeiten soll.
Klicken Sie in der Schleife Für jede E-Mail-Anlage in das Feld Ausgabe aus vorherigen Schritten auswählen, und wählen Sie dann die Option für die dynamische Inhaltsliste (Blitzsymbol) aus.
Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht die Option Anlagen aus.
Die Ausgabe Anlagen enthält ein Array mit allen Anlagen aus einer E-Mail. Die For each-Schleife wiederholt Aktionen für jedes Arrayelement.
Tipp
Wenn Anlagen nicht angezeigt wird, wählen Sie Weitere anzeigen aus.
Speichern Sie den Workflow.
Fügen Sie als Nächstes eine Aktion hinzu, die jede Anlage als Blob in Ihrem Speichercontainer attachments speichert.
Hinzufügen einer Aktion zum Erstellen eines Blobs für jede E-Mail-Anlage
Mit den folgenden Schritten wird eine Aktion zum Erstellen eines Blobs für jede Anlage hinzugefügt.
Wählen Sie im Designer in der Schleife Für jede E-Mail-Anlage die Option Aktion hinzufügen aus.
Benennen Sie im Informationsbereich der Aktion Blob erstellen die Aktion in Blob für E-Mail-Anlage erstellen um.
Geben Sie die folgenden Aktionsinformationen an:
Tipp
Wenn Sie in der Liste dynamischer Inhalte eine angegebene Ausgabe nicht finden können, wählen Sie Weitere neben dem Vorgangsnamen aus.
Parameter Erforderlich Wert Beschreibung Speicherkontoname oder Blobendpunkt Ja Use connection settings(<storage-account-name-or-blob-endpoint>) Wählen Sie die Option aus, die Ihren Speicherkontonamen enthält.
In diesem Beispiel wirdhttps://attachmentstorageacct.blob.core.windows.net
verwendet.Ordnerpfad Ja <path-and-container-name> Pfad und Name des zuvor erstellten Containers.
Wählen Sie für dieses Beispiel das Ordnersymbol und anschließend den Container attachments aus.Blobname Ja <attachment-name> Verwenden Sie für dieses Beispiel den Namen der Anlage als Namen des Blobs.
1. Klicken Sie in das Feld Blobname, und wählen Sie dann die Option für die dynamische Inhaltsliste (Blitzsymbol) aus.
2. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht die Option Name aus.Blobinhalt Ja <E-Mail-Inhalt> Verwenden Sie für dieses Beispiel den E-Mail-Inhalt als Blobinhalt.
1. Klicken Sie in das Feld Blobinhalt, und wählen Sie dann die Option für die dynamische Inhaltsliste (Blitzsymbol) aus.
2. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht die Option Inhalt aus.Hinweis
Wenn Sie eine Ausgabe mit einem Array auswählen (beispielsweise das Feld Inhalt – ein Array mit Anlagen), fügt der Designer automatisch eine For Each-Schleife um die Aktion ein, die auf diese Ausgabe verweist. Auf diese Weise kann Ihr Workflow diese Aktion für jedes Arrayelement durchführen. Um die Schleife zu entfernen, verschieben Sie die Aktion, die auf die Ausgabe, verweist, aus der Schleife, und löschen Sie die Schleife.
Der folgende Screenshot zeigt die Ausgaben, die für die Aktion Blob für E-Mail-Anlage erstellen ausgewählt werden sollen:
Wenn Sie fertig sind, sieht die Aktion wie im folgenden Beispiel aus:
Speichern Sie den Workflow.
Erneutes Testen der Behandlung von Anlagen
Wählen Sie auf der Symbolleiste des Designers Ausführen>Ausführen aus.
Mit diesem Schritt wird Ihr Workflow manuell gestartet und ausgeführt. Es geschieht jedoch nichts, bis Sie eine Test-E-Mail an Ihren Posteingang senden.
Senden Sie sich selbst eine E-Mail, die folgende Kriterien erfüllt:
Der E-Mail-Betreff enthält den Text, den Sie im Triggerparameter Filter für Betreff angegeben haben: Business Analyst 2 #423501
Ihre E-Mail verfügt über mindestens zwei Anlagen. Erstellen Sie vorerst einfach zwei leere Textdateien, und fügen Sie sie an Ihre E-Mail an.
Wurde Ihr Workflow nicht ausgelöst oder trotz eines erfolgreichen Triggers nicht ausgeführt, lesen Sie unter Behandeln von Fehlern in Ihrem Logik-App-Workflow weiter.
Vergewissern Sie sich, dass der Workflow die E-Mail und die Anlagen im richtigen Speichercontainer gespeichert hat.
Erweitern Sie in Storage-Explorer Folgendes: Emulator und Angefügt>Speicherkonten>attachmentstorageacct (Schlüssel)>Blobcontainer>attachments.
Überprüfen Sie, ob der Container attachments sowohl die E-Mail als auch die Anlagen enthält.
Löschen Sie die E-Mail und die Anlagen im Storage-Explorer, wenn Sie fertig sind.
Fügen Sie als Nächstes eine Aktion in Ihrem Workflow hinzu, mit der E-Mails zur Überprüfung der Anlagen gesendet werden.
Hinzufügen einer Aktion zum Senden einer E-Mail
Mit den folgenden Schritten fügen Sie eine Aktion hinzu, damit Ihr Workflow E-Mails zur Überprüfung der Anlagen sendet.
Kehren Sie zum Workflow-Designer zurück. Wählen Sie in der Verzweigung True unter der Schleife Für jede E-Mail-Anlage die Option Aktion hinzufügen aus.
-
Dieses Beispiel wird mit dem Office 365 Outlook-Connector fortgesetzt, der nur mit einem Geschäfts-, Schul- oder Unikonto von Azure funktioniert. Wählen Sie für persönliche Microsoft-Konten den Outlook.com-Connector aus.
Falls Sie zur Eingabe von Anmeldeinformationen aufgefordert werden, melden Sie sich bei Ihrem E-Mail-Konto an, damit Azure Logic Apps eine Verbindung mit Ihrem E-Mail-Konto erstellt.
Benennen Sie im Informationsbereich der Aktion Senden einer E-Mail die Aktion in E-Mail zur Überprüfung senden um.
Geben Sie die folgenden Aktionsinformationen an, und wählen Sie die Ausgaben aus, die in die E-Mail aufgenommen werden sollen:
Tipp
Wenn Sie in der Liste dynamischer Inhalte eine angegebene Ausgabe nicht finden können, wählen Sie Weitere neben dem Vorgangsnamen aus.
Parameter Erforderlich Wert BESCHREIBUNG An Ja <E-Mail-Adresse des Empfängers> Geben Sie zu Testzwecken Ihre eigene E-Mail-Adresse an. Betreff Ja <email-subject> Der Betreff der E-Mail, den Sie einschließen möchten.
In diesem Beispiel wird ASAP - Review applicant for position: und die Ausgabe Betreff aus dem Trigger verwendet.
1. Geben Sie im Feld Betreff den Beispieltext mit einem nachstehenden Leerzeichen ein.
2. Klicken Sie in das Feld Betreff, und wählen Sie dann die Option für die dynamische Inhaltsliste (Blitzsymbol) aus.
3. Wählen Sie in der Liste unter Wenn eine neue E-Mail empfangen wird die Option Betreff aus.Text Ja <email-body> Der einzuschließende E-Mail-Text.
In diesem Beispiel wird Folgendes verwendet: Please review new applicant:, die Triggerausgabe Von, die Pfad-Ausgabe aus der Aktion Blob für E-Mail-Text erstellen und die Ausgabe Text aus der Aktion RemoveHTMLFunction aufrufen.
1. Geben Sie im Feld Text den Beispieltext (Please review new applicant:) ein.
2. Geben Sie in einer neuen Zeile den Beispieltext Applicant name: ein, und fügen Sie die Ausgabe Von aus dem Trigger hinzu.
3. Geben Sie in einer neuen Zeile den Beispieltext Application file location: ein, und fügen Sie die Pfad-Ausgabe aus der Aktion Blob für E-Mail-Text erstellen hinzu.
4. Geben Sie in einer neuen Zeile den Beispieltext Application email content: ein, und fügen Sie die Text-Ausgabe aus der Aktion RemoveHTMLFunction aufrufen hinzu.Hinweis
Wenn Sie eine Ausgabe mit einem Array auswählen (beispielsweise das Feld Inhalt – ein Array mit Anlagen), fügt der Designer automatisch eine For Each-Schleife um die Aktion ein, die auf diese Ausgabe verweist. Auf diese Weise kann Ihr Workflow diese Aktion für jedes Arrayelement durchführen. Um die Schleife zu entfernen, verschieben Sie die Aktion, die auf die Ausgabe, verweist, aus der Schleife, und löschen Sie die Schleife.
Der folgende Screenshot zeigt die fertige Beispielaktion E-Mail senden:
Speichern Sie den Workflow.
Ihr fertiger Workflow sollte wie im folgenden Beispiel aussehen:
Testen Ihres Workflows
Senden Sie sich selbst eine E-Mail, die folgende Kriterien erfüllt:
Der E-Mail-Betreff enthält den Text, den Sie im Triggerparameter Filter für Betreff angegeben haben: Business Analyst 2 #423501
Ihre E-Mail verfügt über mindestens eine Anlage. Sie können eine leere Textdatei aus dem vorherigen Test wiederverwenden. Sie können aber auch eine Datei mit einem Lebenslauf anfügen, um das Szenario realistischer zu gestalten.
Die E-Mail enthält folgenden Text, den Sie kopieren und in die E-Mail einfügen können:
Name: Jamal Hartnett Street address: 12345 Anywhere Road City: Any Town State or Country: Any State Postal code: 00000 Email address: jamhartnett@outlook.com Phone number: 000-000-0000 Position: Business Analyst 2 #423501 Technical skills: Dynamics CRM, MySQL, Microsoft SQL Server, JavaScript, Perl, Power BI, Tableau, Microsoft Office: Excel, Visio, Word, PowerPoint, SharePoint, and Outlook Professional skills: Data, process, workflow, statistics, risk analysis, modeling; technical writing, expert communicator and presenter, logical and analytical thinker, team builder, mediator, negotiator, self-starter, self-managing Certifications: Six Sigma Green Belt, Lean Project Management Language skills: English, Mandarin, Spanish Education: Master of Business Administration
Ausführen Ihres Workflows Bei erfolgreicher Ausführung sendet Ihr Workflow Ihnen eine E-Mail, die wie folgt aussieht:
Sollten Sie keine E-Mails erhalten, überprüfen Sie Ihren Ordner für Junk-E-Mails. Wenn Sie unsicher sind, ob Ihr Workflow richtig ausgeführt wurde, helfen Ihnen die Informationen unter Problembehandlung Ihres Logik-App-Workflows weiter.
Geschafft! Sie haben einen Workflow erstellt und ausgeführt, der Aufgaben über verschiedene Azure-Dienste hinweg automatisiert und benutzerdefinierten Code aufruft.
Bereinigen von Ressourcen
Ihr Workflow wird weiter ausgeführt, bis Sie die Logik-App-Ressource deaktivieren oder löschen. Wenn Sie dieses Beispiel nicht mehr benötigen, löschen Sie die Ressourcengruppe mit Ihrer Logik-App und den dazugehörigen Ressourcen.
Geben Sie im Suchfeld des Azure-Portals Ressourcengruppen ein, und wählen Sie Ressourcengruppen aus.
Wählen Sie in der Ressourcengruppenliste die Ressourcengruppe für dieses Tutorial aus.
Wählen Sie im Menü „Ressourcengruppe“ die Option Übersicht aus.
Wählen Sie auf der Symbolleiste Übersicht Ressourcengruppe löschen aus.
Wenn der Bestätigungsbereich angezeigt wird, geben Sie den Ressourcengruppennamen ein, und wählen Sie Löschen aus.
Nächste Schritte
In diesem Tutorial haben Sie einen Logik-App-Workflow erstellt, der E-Mail-Anlagen verarbeitet und speichert, indem er Azure-Dienste wie Azure Storage und Azure Functions integriert. Informieren Sie sich als Nächstes ausführlicher über andere Connectors für die Erstellung von Logik-Apps-Workflows.