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)

Mit Azure Logic Apps können Sie Workflows automatisieren und Daten übergreifend in Azure-Dienste, Microsoft-Dienste, andere SaaS-Apps (Software-as-a-Service) und lokale Systeme integrieren. In diesem Tutorial wird gezeigt, wie Sie einen Logik-App-Workflow erstellen, der eingehende E-Mails und alle Anlagen verarbeitet, den E-Mail-Inhalt mithilfe von Azure Functions analysiert, den Inhalt im Azure-Speicher speichert und E-Mails zur Überprüfung des Inhalts sendet.

In diesem Tutorial lernen Sie Folgendes:

  • Einrichten von Azure Storage und dem Storage-Explorer zur Prüfung gespeicherter E-Mails und Anlagen
  • Erstellen einer Azure-Funktion, die HTML-Code aus E-Mails entfernt. (Das Tutorial enthält den Code, den Sie für diese Funktion verwenden können.)
  • Erstellen eines leeren verbrauchsbasierten Logik-App-Worfklows
  • Hinzufügen eines Triggers, der E-Mails auf Anlagen überwacht
  • Hinzufügen einer Bedingung, die überprüft, ob E-Mails über Anlagen verfügen
  • Hinzufügen einer Aktion, die die Azure-Funktion aufruft, wenn eine E-Mail über Anlagen verfügt
  • Hinzufügen einer Aktion, die Speicherblobs für E-Mails und Anlagen erstellt
  • Hinzufügen einer Aktion zum Senden von E-Mail-Benachrichtigungen

Der folgende Screenshot zeigt den allgemeinen Workflow:

Screenshot eines Beispielworkflows für den allgemeinen Verbrauch für dieses Tutorial.

Voraussetzungen

Einrichten von Speicher zum Speichern von Anlagen

Eingehende E-Mails und Anlagen können als Blobs in einem Azure-Speichercontainer gespeichert werden.

  1. Erstellen Sie im Azure-Portal mit den Anmeldeinformationen Ihres Azure-Kontos ein Speicherkonto, sofern Sie nicht bereits über eines verfügen, und verwenden Sie die folgenden Informationen auf der Registerkarte Grundlagen:

    Eigenschaft Wert BESCHREIBUNG
    Abonnement <Name des Azure-Abonnements> Der Name Ihres Azure-Abonnements
    Ressourcengruppe <Azure-resource-group> Der Name der Azure-Ressourcengruppe, die zum Organisieren und Verwalten verwandter Ressourcen verwendet wird. In diesem Beispiel wird LA-Tutorial-RG verwendet.

    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.
    Speicherkontoname <Azure-storage-account-name> Der 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 <Azure-Region> Die Region, in der die Informationen zu Ihrem Speicherkonto gespeichert werden sollen. In diesem Beispiel wird USA, Westen verwendet.
    Leistung Standard Diese Einstellung gibt die unterstützten Datentypen und die Medien für die Datenspeicherung an. Weitere Informationen finden Sie unter Speicherkontentypen.
    Redundanz 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.

    Sie können auch Azure PowerShell oder die Azure CLI verwenden, um Ihr Speicherkonto zu erstellen.

  2. Wählen Sie abschließend Überprüfen>erstellen aus.

  3. Nachdem Azure Ihr Speicherkonto bereitgestellt hat, suchen Sie nach Ihrem Speicherkonto, und rufen Sie den Zugriffsschlüssel des Speicherkontos ab:

    1. Wählen Sie in Ihrem Speicherkontomenü unter Sicherheit + Netzwerkbetrieb die Option Zugriffsschlüssel aus.

    2. Kopieren Sie den Namen Ihres Speicherkontos sowie key1, und speichern Sie die Werte an einem sicheren Speicherort.

    Sie können auch Azure PowerShell oder die Azure CLI verwenden, um den Zugriffsschlüssel Ihres Speicherkontos abzurufen.

  4. Erstellen Sie einen Blobspeichercontainer für Ihre E-Mail-Anlagen.

    1. Wählen Sie im Menü Ihres Speicherkontos unter Datenspeicher die Option Container aus.

    2. Wählen Sie auf der Symbolleiste der Seite Container die Option Container aus.

    3. Geben Sie unter Neuer Container als Containernamen attachments ein. Wählen Sie unter Öffentliche Zugriffsebene Folgendes aus: Container (Anonymer Lesezugriff für Container und Blobs)>OK.

    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

Stellen Sie eine Storage-Explorer-Verbindung mit Ihrem Speicherkonto her, und vergewissern Sie sich, dass Ihr Workflow Anlagen ordnungsgemäß als Blobs in Ihrem Speichercontainer speichert.

  1. Starten Sie den Microsoft Azure Storage-Explorer. Melden Sie sich mit Ihrem Azure-Konto an.

    Hinweis

    Wenn keine Eingabeaufforderung angezeigt wird, wählen Sie auf der Aktivitätsleiste „Storage-Explorer“ die Option Kontoverwaltung (Kontosymbol) aus.

  2. 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.

  3. Melden Sie sich in dem daraufhin angezeigten Browserfenster bei Ihrem Azure-Konto an.

  4. Kehren Sie zu Storage-Explorer und zum Fenster Kontoverwaltung zurück, und überprüfen Sie, ob der richtige Microsoft Entra-Mandant und das richtige Abonnement ausgewählt sind.

  5. Wählen Sie auf der Aktivitätsleiste „Storage-Explorer“ die Option Verbindungsdialogfeld öffnen aus.

  6. Wählen Sie im Fenster Ressource auswählen die Option Speicherkonto oder -dienst aus.

  7. Wählen Sie im Fenster Verbindungsmethode auswählenKontoname und -schlüssel>Weiter aus.

  8. Geben Sie im Fenster Mit Azure Storage verbinden die folgenden Informationen an, und wählen Sie Weiter aus.

    Eigenschaft Wert
    Anzeigename Der Anzeigename Ihrer Verbindung
    Kontoname Name Ihres Speicherkontos
    Kontoschlüssel Der Zugriffsschlüssel, den Sie zuvor gespeichert haben
  9. Überprüfen Sie im Fenster Zusammenfassung Ihre Verbindungsinformationen, und wählen Sie anschließend Verbinden aus.

    Storage-Explorer erstellt die Verbindung und zeigt Ihr Speicherkonto im Explorer-Fenster unter Emulator und Angefügt>Speicherkonten an.

  10. Erweitern Sie zum Anzeigen Ihres Blobspeichercontainers unter Speicherkonten Ihr Speicherkonto (in diesem Fall attachmentstorageacct), und erweitern Sie anschließend Blobcontainer. Dort finden Sie beispielsweise den Container attachments:

    Screenshot des Storage-Explorer – Speichercontainer suchen.

Erstellen Sie als Nächstes eine Azure-Funktion, die HTML-Code aus eingehenden E-Mails entfernt.

Erstellen einer Funktion zum Entfernen von HTML-Code

Erstellen Sie nun mithilfe des in diesen Schritten bereitgestellten Codeausschnitts eine Azure-Funktion, die HTML-Code aus jeder eingehenden E-Mail entfernt. Dadurch wird der E-Mail-Inhalt übersichtlicher und lässt sich leichter verarbeiten. Diese Funktion können Sie dann aus Ihrem Workflow aufrufen.

  1. Damit Sie eine Funktion erstellen können, müssen Sie zunächst anhand der folgenden Schritte eine Funktions-App erstellen:

    1. Geben Sie auf der Registerkarte Grundeinstellungen die folgenden Informationen an:

      Eigenschaft Wert BESCHREIBUNG
      Abonnement <Name Ihres Azure Abonnements> Das gleiche Azure-Abonnement, das Sie auch zuvor verwendet haben.
      Ressourcengruppe LA-Tutorial-RG Die gleiche Azure-Ressourcengruppe, die Sie auch zuvor verwendet haben.
      Name der Funktions-App <Funktions-App-Name> Der Name Ihrer Funktions-App, der innerhalb von Azure global eindeutig sein muss. Da CleanTextFunctionApp in diesem Beispiel bereits verwendet wird, muss ein anderer Name angegeben werden (beispielsweise MyCleanTextFunctionApp-<Ihr Name>.
      Möchten Sie Code oder ein Containerimage bereitstellen? Code Veröffentlichen von Codedateien
      Laufzeitstapel <Bevorzugte Sprache> Wählen Sie eine Runtime aus, die Ihre bevorzugte Programmiersprache für Funktionen unterstützt. Die Bearbeitung im Portal ist nur für JavaScript-, PowerShell-, TypeScript- und C#-Skripts verfügbar. C#-Klassenbibliotheks-, Java- und Python-Funktionen müssen lokal entwickelt werden. Wählen Sie für C#- und F#-Funktionen .NET aus.
      Version <version-number> Wählen Sie die Version für Ihre installierte Runtime aus.
      Region <Azure-Region> Die gleiche Region, die Sie auch zuvor verwendet haben. In diesem Beispiel wird USA, Westen verwendet.
      Betriebssystem <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.
      Hostingoptionen und -pläne Verbrauch (serverlos) Wählen Sie den Hostingplan aus, mit dem definiert wird, wie Ihre Ressourcen der Funktions-App zugewiesen werden. Im Standard-Verbrauchstarif werden Ressourcen so dynamisch hinzugefügt, wie dies für Ihre Funktionen erforderlich ist. Beim serverlosen Hosting bezahlen Sie nur die Zeit, in der Ihre Funktionen ausgeführt werden. Bei der Ausführung in einem App Service-Plan müssen Sie die Skalierung Ihrer Funktions-App verwalten.
    2. Klicken Sie auf Weiter: Speicher. Geben Sie auf der Registerkarte Speicher die folgenden Informationen an:

      Eigenschaft Wert BESCHREIBUNG
      Speicherkonto cleantextfunctionstorageacct Erstellen Sie ein Speicherkonto, das von Ihrer Funktions-App verwendet wird. Speicherkontonamen müssen zwischen 3 und 24 Zeichen lang sein und dürfen nur Kleinbuchstaben und Zahlen enthalten.

      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.
    3. Wählen Sie abschließend Überprüfen + erstellen aus. Überprüfen Sie Ihre Angaben, und wählen Sie Erstellen aus.

    4. Nachdem Azure die Funktions-App-Ressource erstellt und bereitgestellt hat, wählen Sie Zu Ressource wechseln.

  2. Erstellen Sie jetzt Ihre Funktion lokal, da die Funktionserstellung im Azure-Portal eingeschränkt ist. Verwenden Sie unbedingt die Vorlage HTTP-Trigger, geben Sie die folgenden Informationen für Ihre Funktion an, und verwenden Sie den enthaltenen Beispielcode, der HTML entfernt und die Ergebnisse an den Aufrufer zurückgibt:

    Eigenschaft Wert
    Funktionsname RemoveHTMLFunction
    Autorisierungsstufe Funktion
    #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(@"&nbsp;", " ");
    
       // Return cleaned text
       return (ActionResult)new OkObjectResult(new { updatedBody });
    }
    
  3. Um Ihre Funktion zu testen, können Sie die folgende Beispieleingabe verwenden:

    {"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.

Speichern Ihres Logik-App-Workflows

  1. Geben Sie in das Suchfeld ganz oben im Azure-Portal Logic Apps ein, und wählen Sie Logic Apps aus.

  2. Wählen Sie auf der Seite Logic Apps die Option Hinzufügen aus.

  3. Wählen Sie auf der Seite Logik-App erstellen unter Plan die Option Verbrauch als Plantyp aus, auf der dann nur die Optionen für Logik-App-Verbrauchsworkflows angezeigt werden. Geben Sie die folgenden Informationen an, und wählen Sie dann Überprüfen + Erstellen aus.

    Eigenschaft Wert BESCHREIBUNG
    Abonnement <Name Ihres Azure Abonnements> Das gleiche Azure-Abonnement, das Sie auch zuvor verwendet haben.
    Ressourcengruppe LA-Tutorial-RG Die gleiche Azure-Ressourcengruppe, die Sie auch zuvor verwendet haben.
    Name der Logik-App LA-ProcessAttachment Der Name Ihrer Logik-App und Ihres Workflows. Eine Verbrauchs-Logik-App und ein Workflow haben immer denselben Namen.
    Region USA, Westen Die gleiche Region, die Sie auch zuvor verwendet haben.
    Aktivieren von Log Analytics Nein Behalten Sie für dieses Tutorial die Einstellung Aus bei.
  4. Bestätigen Sie die von Ihnen angegebenen Informationen, und wählen Sie Erstellen aus. Warten Sie, bis Azure Ihre App bereitgestellt hat, und wählen Sie anschließend Zu Ressource wechseln aus.

  5. Wählen Sie im Ressourcenmenü der Logik-App Logik-App-Designer aus, um den Workflow-Designer zu öffnen.

Hinzufügen eines Triggers zum Überprüfen eingehender E-Mails

Fügen Sie nun einen Trigger hinzu, der auf eingehende E-Mails mit Anlagen prüft. Jeder Workflow muss mit einem Trigger beginnen, der ausgelöst wird, wenn die Triggerbedingung erfüllt ist, z. B. wenn ein bestimmtes Ereignis eintritt oder wenn neue Daten vorhanden sind. Weitere Informationen finden Sie unter Schnellstart: Erstellen eines Beispiels für einen Verbrauchs-Logik-App-Workflow in Azure Logic Apps für mehrere Mandanten.

In diesem Beispiel wird der Office 365 Outlook-Connector verwendet, der erfordert, dass 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.

  1. Wählen Sie im Workflow-Designer die Option Trigger hinzufügen aus.

  2. Nachdem der Bereich Trigger hinzufügen geöffnet wurde, geben Sie im Suchfeld office 365 outlook ein. Wählen Sie in der Liste der Triggerergebnisse unter Office 365 Outlook die Option Bei Eingang einer neuen E-Mail (V3) aus.

  3. Falls Sie zur Eingabe von Anmeldeinformationen aufgefordert werden, melden Sie sich bei Ihrem E-Mail-Konto an. Dadurch wird eine Verbindung zwischen Ihrem Workflow und Ihrem E-Mail-Konto hergestellt.

  4. Geben Sie nun die Triggerkriterien für die Überprüfung neuer E-Mails und die Ausführung Ihres Workflows an.

    Eigenschaft 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.
  5. Wählen Sie in der Liste Erweiterte Parameter die Option Betrefffilter aus.

  6. Wenn das Feld Filter für Betreff in der Aktion angezeigt wird, geben Sie den Betreff wie hier gezeigt an:

    Eigenschaft Wert BESCHREIBUNG
    Filter für Betreff Business Analyst 2 #423501 Der Text, nach dem im Betreff der E-Mail gesucht werden soll.
  7. Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

    Ihr Logik-App-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.

Überprüfen auf Anlagen

Nun fügen Sie eine Bedingung hinzu, die nur E-Mails auswählt, die über Anlagen verfügen.

  1. Wählen Sie unterhalb des Triggers das Pluszeichen (+) und anschließend die Option Aktion hinzufügen aus.

  2. Geben Sie im Bereich Aktion hinzufügen den Text Bedingung in das Suchfeld ein.

  3. Wählen Sie in der Ergebnisliste für Aktionen die Aktion Bedingung aus.

  4. Geben Sie der Bedingung einen aussagekräftigeren Namen.

    1. Ersetzen Sie im Infobereich Bedingung den Standardnamen der Bedingung durch die folgende Beschreibung: Wenn E-Mail Anlagen und einen Schlüsselbegriff enthält.
  5. Erstellen Sie eine Bedingung, die überprüft, ob E-Mails mit Anlagen vorhanden sind.

    1. Setzen Sie in der ersten Zeile unter der Liste des Vorgangs And das Häkchen in das Feld ganz links. Wählen Sie aus der Liste mit dynamischem Inhalt, die angezeigt wird, die Eigenschaft Hat Anlage aus.

      Screenshot der Bedingungsaktion, der zweiten Zeile mit dem Cursor im Feld ganz links, der geöffneten Liste dynamischer Inhalte und ausgewählter Eigenschaft „Anlage“.

    2. Behalten Sie im mittleren Feld den Operator gleich bei.

    3. Geben Sie in das Feld rechts true als Wert für den Vergleich mit dem Eigenschaftswert Hat Anlage ein, bei dem es sich um eine Ausgabe aus dem Trigger handelt. Sind beide Werte gleich, besitzt die E-Mail mindestens eine Anlage, die Bedingung ist erfüllt, und der Workflow wird fortgesetzt.

      Screenshot der vollständigen Bedingung.

    In der zugrunde liegenden Workflowdefinition, die Sie anzeigen können, indem Sie im Designer 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"
    }
    
  6. Speichern Sie den Workflow.

Testen der Bedingung

  1. Wählen Sie auf der Symbolleiste des Designers Trigger ausführen>Ausführen aus.

    Mit diesem Schritt wird Ihr Workflow manuell gestartet und ausgeführt. Es geschieht jedoch nichts, bis die Test-E-Mail im Posteingang eingeht.

  2. Senden Sie sich selbst eine E-Mail, die folgende Kriterien erfüllt:

    • Der E-Mail-Betreff enthält den Text, den Sie unter Filter für Betreff des Triggers 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.

  3. 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 ausgelöste Trigger anzuzeigen, wählen Sie Triggerverlauf aus.

    • Um erfolgreich ausgeführte Workflows anzuzeigen, wählen Sie Ausführungsverlauf 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“

In diesem Schritt wird Ihre zuvor erstellte Azure-Funktion dem Workflow hinzugefügt, und der Inhalt des E-Mail-Texts wird aus dem E-Mail-Trigger an Ihre Funktion übergeben.

  1. Klicken Sie im Menü der Logik-App auf Logik-App-Designer. Wählen Sie in der True-Verzweigung die Option Aktion hinzufügen aus.

  2. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Integriert aus. Geben Sie in das Suchfeld azure functions ein, und wählen Sie die Aktion Azure-Funktion auswählen aus.

    Screenshot der ausgewählten Aktion mit dem Namen „Azure-Funktion auswählen“.

  3. Wählen Sie die Sie zuvor erstellte Funktions-App, in diesem Beispiel CleanTextFunctionApp aus:

  4. Wählen Sie nun Ihre Funktion aus, die in diesem Beispiel RemoveHTMLFunction lautet.

  5. Benennen Sie die Funktionsform mit der folgenden Beschreibung um: RemoveHTMLFunction aufrufen, um den E-Mail-Text zu bereinigen

  6. Geben Sie nun die Eingabe an, die Ihre Funktion verarbeiten soll.

    1. Geben Sie unter Anforderungstext diesen 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.

      Wenn sich der Cursor innerhalb des Felds Anforderungstext befindet, wird die Liste mit dynamischem Inhalt angezeigt, damit Sie Eigenschaftswerte auswählen können, die aus vorherigen Aktionen verfügbar sind.

    2. Wählen Sie aus der Liste mit dynamischem Inhalt unter Wenn eine neue E-Mail empfangen wird die Eigenschaft Text aus. Denken Sie daran, nach dieser Eigenschaft die schließende geschweifte Klammer (}) hinzuzufügen.

      Angeben des Anforderungstexts, der an die Funktion übergeben werden soll

    Wenn Sie fertig sind, sieht die Eingabe für Ihre Funktion wie im folgenden Beispiel aus:

    Fertiggestellter Anforderungstext für die Übergabe an die Funktion

  7. Speichern Sie den Workflow.

Fügen Sie im nächsten Schritt eine Aktion hinzu, die in Ihrem Speichercontainer ein Blob zum Speichern des E-Mail-Texts erstellt.

Erstellen eines Blobs für E-Mail-Text

  1. Wählen Sie im Designer im Block True unter Ihrer Azure-Funktion die Option Aktion hinzufügen aus.

  2. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Alle aus. Geben Sie in das Suchfeld Blob erstellen ein, und wählen Sie die Aktion Blob erstellen aus.

    Screenshot der ausgewählten Azure Blob Storage-Aktion mit dem Namen „Blob erstellen“.

  3. Geben Sie die Verbindungsinformationen für Ihr Speicherkonto an, und wählen Sie Erstellen aus. Beispiel:

    Eigenschaft Wert BESCHREIBUNG
    Verbindungsname AttachmentStorageConnection Ein aussagekräftiger Name für die Verbindung.
    Authentifizierungstyp Zugriffsschlüssel Der Authentifizierungstyp, der für die Verbindung verwendet werden soll
    Name oder Endpunkt des Azure Storage-Kontos <Speicherkontoname> Der Name Ihres zuvor erstellten Speicherkontos; in diesem Beispiel attachmentstorageacct
    Zugriffsschlüssel für das Azure Storage-Konto <storage-account-access-key> Der Zugriffsschlüssel für Ihr zuvor erstelltes Speicherkonto
  4. Benennen Sie die Aktion Blob erstellen mit der folgenden Beschreibung um: Blob für E-Mail-Text erstellen

  5. Geben Sie zu der Aktion Blob erstellen die folgenden Informationen an:

    Eigenschaft Wert Beschreibung
    Speicherkontoname oder Blobendpunkt Verbindungseinstellungen verwenden (<Speicherkontoname>) Wählen Sie Ihr Speicherkonto aus, in diesem Beispiel attachmentstorageacct.
    Ordnerpfad <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 <sender-name> Verwenden Sie für dieses Beispiel den Namen des Absenders als Namen des Blobs. Klicken Sie in das Feld, sodass die dynamische Inhaltsliste angezeigt wird. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht das Feld Von aus.
    Blobinhalt <content-for-blob> Verwenden Sie für dieses Beispiel den HTML-freien E-Mail-Text als Blobinhalt. Klicken Sie in das Feld, sodass die dynamische Inhaltsliste angezeigt wird. Wählen Sie im Abschnitt RemoveHTMLFunction aufrufen, um den E-Mail-Text zu entfernen die Option Text aus.

    Die folgende Abbildung zeigt die Felder, die für die Aktion Blob erstellen ausgewählt werden sollen:

    Screenshot der Informationen zum HTML-freien E-Mail-Textkörper in der Aktion „Blob erstellen“.

    Wenn Sie fertig sind, sieht die Aktion wie im folgenden Beispiel aus:

    Screenshot der HTML-freien Beispiel-E-Mail-Eingaben für die fertige Aktion „Blob erstellen“.

  6. Speichern Sie den Workflow.

Überprüfen der Behandlung von Anlagen

  1. Wählen Sie auf der Symbolleiste des Designers Trigger ausführen>Ausführen aus.

    Mit diesem Schritt wird Ihr Workflow manuell gestartet und ausgeführt. Es geschieht jedoch nichts, bis die Test-E-Mail im Posteingang eingeht.

  2. Senden Sie sich selbst eine E-Mail, die folgende Kriterien erfüllt:

    • Der E-Mail-Betreff enthält den Text, den Sie unter Filter für Betreff des Triggers 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.

  3. Vergewissern Sie sich, dass Ihr Workflow die E-Mail im richtigen Speichercontainer gespeichert hat.

    1. Erweitern Sie in Storage-Explorer Folgendes: Emulator und Angefügt>Speicherkonten>attachmentstorageacct (Schlüssel)>Blobcontainer>attachments.

    2. Ü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.

      Screenshot des Storage-Explorer nur mit der gespeicherten E-Mail.

    3. Löschen Sie die E-Mail im Storage-Explorer, wenn Sie fertig sind.

  4. 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.

Verarbeiten der Anlagen

Fügen Sie dem Workflow zum Verarbeiten der einzelnen E-Mail-Anlagen eine For Each-Schleife hinzu.

  1. Kehren Sie zum Designer zurück. Wählen Sie unter der Aktion Blob für E-Mail-Text erstellen die Option Aktion hinzufügen aus.

  2. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Integriert aus. Geben Sie in das Suchfeld den Suchbegriff For Each ein, und wählen Sie die Aktion For Each aus.

    Screenshot der ausgewählten Aktion mit dem Namen „For Each“.

  3. Benennen Sie Ihre Schleife mit der folgenden Beschreibung um: Für jede E-Mail-Anlage

  4. Wählen Sie nun die Daten 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, damit die Liste mit den dynamischen Inhalten angezeigt wird. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht die Option Anlagen aus.

    Screenshot der Liste der dynamischen Inhalte mit ausgewählten Feld „Anlagen“.

    Das Feld Anlagen übergibt ein Array mit allen Anlagen einer E-Mail. Die For Each-Schleife wiederholt Aktionen für jedes Element, das über das Array übergeben wird.

  5. Speichern Sie den Workflow.

Fügen Sie als Nächstes die Aktion hinzu, die jede Anlage als Blob in Ihrem Speichercontainer attachments speichert.

Erstellen eines Blobs für jede Anlage

  1. Wählen Sie im Designer n der Schleife für jede E-Mail-Anlage die Option Aktion hinzufügen aus, um die Aufgabe anzugeben, die zu jeder gefundenen Anlage ausgeführt werden soll.

    Screenshot der Schleife mit ausgewählter Option „Aktion hinzufügen“.

  2. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Alle aus. Geben Sie in das Suchfeld Blob erstellen ein, und wählen Sie die Aktion Blob erstellen aus.

    Screenshot der ausgewählten Aktion mit dem Namen „Blob erstellen“.

  3. Benennen Sie die Aktion Blob 2 erstellen mit der folgenden Beschreibung um: Blob für jede E-Mail-Anlage erstellen

  4. Geben Sie in der Aktion Blob für jede E-Mail-Anlage erstellen die folgenden Informationen an:

    Eigenschaft Wert Beschreibung
    Speicherkontoname oder Blobendpunkt Verbindungseinstellungen verwenden (<Speicherkontoname>) Wählen Sie Ihr Speicherkonto aus, in diesem Beispiel attachmentstorageacct.
    Ordnerpfad <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 <attachment-name> Verwenden Sie für dieses Beispiel den Namen der Anlage als Namen des Blobs. Klicken Sie in das Feld, sodass die dynamische Inhaltsliste angezeigt wird. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht das Feld Name aus.
    Blobinhalt <E-Mail-Inhalt> Verwenden Sie für dieses Beispiel den E-Mail-Inhalt als Blobinhalt. Klicken Sie in das Feld, sodass die dynamische Inhaltsliste angezeigt wird. Wählen Sie im Abschnitt Wenn eine neue E-Mail eingeht die Option Inhalt aus.

    Screenshot der Informationen zu Anlagen in der Aktion „Blob erstellen“.

    Wenn Sie fertig sind, sieht die Aktion wie im folgenden Beispiel aus:

    Screenshot der Beispielanlageninformationen für die fertige Aktion „Blob erstellen“.

  5. Speichern Sie den Workflow.

Überprüfen der Behandlung von Anlagen

  1. Wählen Sie auf der Symbolleiste des Designers Trigger ausführen>Ausführen aus.

    Mit diesem Schritt wird Ihr Workflow manuell gestartet und ausgeführt. Es geschieht jedoch nichts, bis die Test-E-Mail im Posteingang eingeht.

  2. 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 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.

  3. Vergewissern Sie sich, dass der Workflow die E-Mail und die Anlagen im richtigen Speichercontainer gespeichert hat.

    1. Erweitern Sie in Storage-Explorer Folgendes: Emulator und Angefügt>Speicherkonten>attachmentstorageacct (Schlüssel)>Blobcontainer>attachments.

    2. Überprüfen Sie, ob der Container attachments sowohl die E-Mail als auch die Anlagen enthält.

      Screenshot des Storage-Explorer und der gespeicherten E-Mails und Anlagen.

    3. Löschen Sie die E-Mail und die Anlagen im Storage-Explorer, wenn Sie fertig sind.

Fügen Sie als Nächstes eine Aktion hinzu, damit Ihr Workflow E-Mails zur Überprüfung der Anlagen sendet.

Senden von E-Mail-Benachrichtigungen

  1. Kehren Sie zum Designer zurück. Reduzieren Sie in der True-Verzweigung die Schleife Für jede E-Mail-Anlage.

  2. Wählen Sie unter der Schleife den Befehl Aktion hinzufügen aus.

    Screenshot der reduzierten Schleifen. Unter der Schleife ist die Option „Aktion hinzufügen“ ausgewählt.

  3. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Standard aus. Geben Sie in das Suchfeld E-Mail senden ein.

  4. Wählen Sie in der Liste der Aktionen die Aktion „E-Mail senden“ für Ihren E-Mail-Anbieter aus. Um die Liste der Aktionen nach einem bestimmten Connector zu filtern, können Sie zuerst den Connector auswählen.

    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.

    Screenshot der ausgewählten Aktion „Office 365 Outlook-E-Mail senden.

  5. 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.

  6. Benennen Sie die Aktion Senden einer E-Mail mit der folgenden Beschreibung um: E-Mail zur Überprüfung senden

  7. Geben Sie die folgenden Aktionsinformationen an, und wählen Sie die Felder aus, die in die E-Mail aufgenommen werden sollen.

    • Drücken Sie UMSCHALT+EINGABETASTE, um in einem Bearbeitungsfeld leere Zeilen hinzuzufügen.
    • Sollte ein erwartetes Feld nicht in der Liste mit den dynamischen Inhalten enthalten sein, wählen Sie neben Wenn eine neue E-Mail empfangen wird die Option Mehr anzeigen aus.
    Eigenschaft Wert BESCHREIBUNG
    An <E-Mail-Adresse des Empfängers> Zu Testzwecken können Sie hier Ihre eigene E-Mail-Adresse angeben.
    Subject ASAP - Review applicant for position:Betreff Der Betreff der E-Mail, den Sie einschließen möchten. Klicken Sie innerhalb dieses Felds, geben Sie den Beispieltext ein, und wählen Sie dann aus der Liste mit dynamischem Inhalt das Feld Betreff unter Wenn eine neue E-Mail empfangen wird aus.
    Text Please review new applicant:

    Applicant name:Von

    Application file location:Pfad

    Application email content:Text

    Der Textinhalt der E-Mail. Klicken Sie innerhalb dieses Felds, geben Sie den Beispieltext ein, und wählen Sie dann aus der Liste mit dynamischem Inhalt die folgenden Felder aus:

    – Das Feld Von unter Wenn eine neue E-Mail eintrifft
    – Das Feld Pfad unter Erstellen eines Blobs für E-Mail-Text
    – Das Feld Text unter RemoveHTMLFunction aufrufen, um den E-Mail-Text zu bereinigen

    Screenshot der zu sendenden Beispiel-E-Mail.

    Hinweis

    Wenn Sie ein Feld mit einem Array auswählen (beispielsweise das Feld Inhalt – ein Array mit Anlagen), fügt der Designer der Aktion, die auf dieses Feld verweist, automatisch in eine For Each-Schleife hinzu. Auf diese Weise kann Ihr Workflow diese Aktion für jedes Arrayelement durchführen. Wenn Sie die Schleife entfernen möchten, entfernen Sie das Feld für das Array, platzieren Sie die verweisende Aktion außerhalb der Schleife, wählen Sie auf der Titelleiste der Schleife die Auslassungspunkte ( ... ) aus, und wählen Sie anschließend Löschen aus.

  8. Speichern Sie den Workflow.

Testen Sie nun Ihren Workflow, der jetzt wie im folgenden Beispiel aussieht:

Screenshot des fertigen Workflows.

Ausführen Ihres Workflows

  1. 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 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
      
  2. Ausführen Ihres Workflows Bei erfolgreicher Ausführung sendet Ihr Workflow Ihnen eine E-Mail, die wie folgt aussieht:

    Screenshot einer Beispiel-E-Mail, die vom Logik-App-Workflow gesendet wurde.

    Sollten Sie keine E-Mails erhalten, überprüfen Sie Ihren Ordner für Junk-E-Mails. E-Mails dieser Art werden unter Umständen durch Ihren Junk-E-Mail-Filter umgeleitet. 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

Wenn Sie dieses Beispiel nicht mehr benötigen, löschen Sie die Ressourcengruppe mit Ihrem Logik-App-Workflow und den dazugehörigen Ressourcen.

  1. Geben Sie in das Feld für die allgemeine Suche im Azure-Portal Ressourcengruppen ein und wählen Sie Ressourcengruppen aus.

  2. Wählen Sie in der Ressourcengruppenliste die Ressourcengruppe für dieses Tutorial aus.

  3. Wählen Sie auf der Symbolleiste der Seite Übersicht die Option Ressourcengruppe löschen aus.

  4. 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.