Esercitazione: automatizzare la gestione di messaggi di posta elettronica e allegati con App per la logica di AzureTutorial: Automate handling emails and attachments with Azure Logic Apps

App per la logica di Azure permette di automatizzare i flussi di lavoro e integrare dati tra servizi di Azure, servizi Microsoft, altre app software come un servizio (SaaS) e sistemi locali.Azure Logic Apps helps you automate workflows and integrate data across Azure services, Microsoft services, other software-as-a-service (SaaS) apps, and on-premises systems. Questa esercitazione illustra come creare un'app per la logica che gestisce i messaggi di posta elettronica in arrivo e gli eventuali allegati.This tutorial shows how you can build a logic app that handles incoming emails and any attachments. Questa app per la logica analizza il contenuto dei messaggi di posta elettronica, lo salva in Archiviazione di Azure e invia notifiche per la verifica del contenuto.This logic app analyzes the email content, saves the content to Azure storage, and sends notifications for reviewing that content.

In questa esercitazione si apprenderà come:In this tutorial, you learn how to:

  • Configurare Archiviazione di Azure e Storage Explorer per controllare i messaggi di posta elettronica e gli allegati salvati.Set up Azure storage and Storage Explorer for checking saved emails and attachments.
  • Creare una funzione di Azure che rimuove il codice HTML dai messaggi di posta elettronica.Create an Azure function that removes HTML from emails. L'esercitazione include il codice che è possibile usare per questa funzione.This tutorial includes the code that you can use for this function.
  • Creare un'app per la logica vuota.Create a blank logic app.
  • Aggiungere un trigger per il monitoraggio dei messaggi di posta elettronica per individuare gli allegati.Add a trigger that monitors emails for attachments.
  • Aggiungere una condizione che controlla se i messaggi di posta elettronica hanno allegati.Add a condition that checks whether emails have attachments.
  • Aggiungere un'azione che chiama la funzione di Azure quando un messaggio di posta elettronica ha allegati.Add an action that calls the Azure function when an email has attachments.
  • Aggiungere un'azione che crea BLOB di archiviazione per i messaggi di posta elettronica e gli allegati.Add an action that creates storage blobs for emails and attachments.
  • Aggiungere un'azione che invia notifiche tramite posta elettronica.Add an action that sends email notifications.

Al termine, a livello generale l'app per la logica dovrebbe avere un flusso di lavoro simile al seguente:When you're done, your logic app looks like this workflow at a high level:

App per la logica completata

PrerequisitiPrerequisites

  • Una sottoscrizione di Azure.An Azure subscription. Se non si ha una sottoscrizione di Azure, iscriversi per creare un account Azure gratuito.If you don't have an Azure subscription, sign up for a free Azure account.

  • Un account di posta elettronica di un provider supportato da App per la logica, ad esempio un account Office 365 Outlook, Outlook.com o Gmail.An email account from an email provider supported by Logic Apps, such as Office 365 Outlook, Outlook.com, or Gmail. Per altri provider, vedere qui l'elenco dei connettori.For other providers, review the connectors list here.

    Questa app per la logica usa un account Office 365 Outlook.This logic app uses an Office 365 Outlook account. Se si usa un account di posta elettronica diverso, la procedura generale resta invariata, ma l'interfaccia utente potrebbe essere leggermente diversa.If you use a different email account, the general steps stay the same, but your UI might appear slightly different.

  • Scaricare e installare lo strumento gratuito Microsoft Azure Storage Explorer.Download and install the free Microsoft Azure Storage Explorer. Questo strumento consente di controllare che il contenitore di archiviazione sia configurato correttamente.This tool helps you check that your storage container is correctly set up.

Accedere al portale di AzureSign in to Azure portal

Accedere al portale di Azure con le credenziali dell'account Azure.Sign in to the Azure portal with your Azure account credentials.

Configurare l'archiviazione per salvare gli allegatiSet up storage to save attachments

È possibile salvare i messaggi di posta elettronica in arrivo e gli allegati come BLOB in un contenitore di archiviazione di Azure.You can save incoming emails and attachments as blobs in an Azure storage container.

  1. Prima di creare un contenitore di archiviazione, creare un account di archiviazione con queste impostazioni nella scheda Generale nel portale di Azure:Before you can create a storage container, create a storage account with these settings on the Basics tab in the Azure portal:

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    SottoscrizioneSubscription <nome sottoscrizione di Azure><Azure-subscription-name> Nome della sottoscrizione di AzureThe name for your Azure subscription
    Gruppo di risorseResource group LA-Tutorial-RGLA-Tutorial-RG Nome del gruppo di risorse di Azure usato per organizzare e gestire le risorse correlate.The name for the Azure resource group used to organize and manage related resources.

    Nota: un gruppo di risorse si trova in un'area specifica.Note: A resource group exists inside a specific region. Anche se gli elementi in questa esercitazione potrebbero non essere disponibili in tutte le aree, provare a usare la stessa area, se possibile.Although the items in this tutorial might not be available in all regions, try to use the same region when possible.

    Nome account di archiviazioneStorage account name attachmentstorageacctattachmentstorageacct Nome per l'account di archiviazioneThe name for your storage account
    PosizioneLocation Stati Uniti occidentaliWest US Area in cui archiviare le informazioni sull'account di archiviazioneThe region where to store information about your storage account
    PrestazioniPerformance StandardStandard Questa impostazione specifica i tipi di dati supportati e il supporto per l'archiviazione dei dati.This setting specifies the data types supported and media for storing data. Vedere Tipi di account di archiviazione.See Types of storage accounts.
    Tipo di accountAccount kind Scopo genericoGeneral purpose Tipo di account di archiviazioneThe storage account type
    ReplicaReplication Archiviazione con ridondanza locale (LRS)Locally redundant storage (LRS) Questa impostazione specifica come vengono copiati, archiviati, gestiti e sincronizzati i dati.This setting specifies how your data is copied, stored, managed, and synchronized. Vedere Archiviazione con ridondanza locale (LRS): ridondanza dei dati a basso costo per Archiviazione di Azure.See Locally redundant storage (LRS): Low-cost data redundancy for Azure Storage.

    Nella scheda Avanzate scegliere questa impostazione:On the Advanced tab, choose this setting:

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    Trasferimento sicuro necessarioSecure transfer required DisabledDisabled Questa impostazione specifica la sicurezza necessaria per le richieste dalle connessioni.This setting specifies the security required for requests from connections. Vedere Richiedere il trasferimento sicuro.See Require secure transfer.

    Per creare l'account di archiviazione è anche possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure.To create your storage account, you can also use Azure PowerShell or Azure CLI.

  2. Al termine, scegliere Rivedi e crea.When you're done, choose Review + create.

  3. Dopo che Azure ha distribuito l'account di archiviazione, ottenere la relativa chiave di accesso:After Azure deploys your storage account, get your storage account's access key:

    1. Nel menu dell'account di archiviazione selezionare Chiavi di accesso in Impostazioni.On your storage account menu, under Settings, select Access keys.

    2. Copiare il nome dell'account di archiviazione e key1 e quindi salvare tali valori in una posizione sicura.Copy your storage account name and key1, and then save those values somewhere safe.

      Copiare e salvare la chiave e il nome dell'account di archiviazione

    Per ottenere la chiave di accesso dell'account di archiviazione è anche possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure.To get your storage account's access key, you can also use Azure PowerShell or Azure CLI.

  4. Creare un contenitore di archiviazione BLOB per gli allegati di posta elettronica.Create a blob storage container for your email attachments.

    1. Nel menu dell'account di archiviazione selezionare Panoramica.On your storage account menu, select Overview. In Servizi scegliere BLOB.Under Services, choose Blobs.

      Aggiungere un contenitore di archiviazione BLOB

    2. Nella pagina Contenitori visualizzata selezionare Contenitore sulla barra degli strumenti.After the Containers page opens, on the toolbar, select Container.

    3. In Nuovo contenitore immettere "attachments" come nome del contenitore.Under New container, enter "attachments" as your container name. In Livello di accesso pubblico selezionare Contenitore (accesso in lettura anonimo per contenitori e BLOB) e quindi scegliere OK.Under Public access level, select Container (anonymous read access for containers and blobs), and then choose OK.

      Al termine, è possibile trovare il contenitore di archiviazione nell'account di archiviazione nel portale di Azure:When you're done, you can find your storage container in your storage account here in the Azure portal:

      Contenitore di archiviazione completato

    Per creare un contenitore di archiviazione è anche possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure.To create a storage container, you can also use Azure PowerShell, or Azure CLI.

Connettere quindi Storage Explorer all'account di archiviazione.Next, connect Storage Explorer to your storage account.

Configurare Storage ExplorerSet up Storage Explorer

A questo punto, connettere Storage Explorer all'account di archiviazione per poter verificare che l'app per la logica possa salvare correttamente gli allegati come BLOB nel contenitore di archiviazione.Now, connect Storage Explorer to your storage account so you can confirm that your logic app can correctly save attachments as blobs in your storage container.

  1. Aprire Microsoft Azure Storage Explorer.Open Microsoft Azure Storage Explorer.

    Storage Explorer richiede una connessione all'account di archiviazione.Storage Explorer prompts you for a connection to your storage account.

  2. Nel riquadro Connect to Azure Storage (Connetti ad Archiviazione di Azure) selezionare Use a storage account name and key (Usa nome e chiave di un account di archiviazione) e quindi scegliere Next (Avanti).In the Connect to Azure Storage pane, select Use a storage account name and key, and then choose Next.

    Storage Explorer: stabilire la connessione all'account di archiviazione

    Suggerimento

    Se non viene visualizzata alcuna richiesta, scegliere Add account (Aggiungi account) sulla barra degli strumenti di Storage Explorer.If no prompt appears, on the Storage Explorer toolbar, choose Add account.

  3. In Account name (Nome account) specificare il nome dell'account di archiviazione.Under Account name, provide your storage account name. In Account key (Chiave account) specificare la chiave di accesso salvata in precedenza.Under Account key, provide the access key you previously saved. Scegliere Avanti.Choose Next.

  4. Verificare le informazioni di connessione e quindi scegliere Connect (Connetti).Confirm your connection information, and then choose Connect.

    Storage Explorer crea la connessione e visualizza l'account di archiviazione nella finestra Explorer sotto (Local and Attached) (Locale e collegato) > Storage Accounts (Account di archiviazione).Storage Explorer creates the connection, and shows your storage account in the Explorer window under (Local and Attached) > Storage Accounts.

  5. Per trovare il contenitore di archiviazione BLOB, in Storage Accounts (Account di archiviazione) espandere l'account di archiviazione (in questo caso, attachmentstorageacct) e quindi Blob Containers (Contenitori BLOB), in cui si trova attachments. Ad esempio:To find your blob storage container, under Storage Accounts, expand your storage account, which is attachmentstorageacct here, and then expand Blob Containers where you find the attachments container, for example:

    Storage Explorer: trovare il contenitore di archiviazione

Creare quindi una funzione di Azure che rimuove il codice HTML dai messaggi di posta elettronica in arrivo.Next, create an Azure function that removes HTML from incoming email.

Creare una funzione per eliminare il codice HTMLCreate function to clean HTML

Usare ora il frammento di codice fornito in questi passaggi per creare una funzione di Azure che rimuove il codice HTML da ogni messaggio di posta elettronica in arrivo.Now, use the code snippet provided by these steps to create an Azure function that removes HTML from each incoming email. In questo modo, il contenuto di posta elettronica sarà più immediato e semplice da elaborare.That way, the email content is cleaner and easier to process. È quindi possibile chiamare questa funzione dall'app per la logica.You can then call this function from your logic app.

  1. Prima di creare una funzione, creare un'app per le funzioni con queste impostazioni:Before you can create a function, create a function app with these settings:

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    Nome appApp name <function-app-name><function-app-name> Il nome descrittivo e univoco a livello globale dell'app per le funzioni, ovvero "CleanTextFunctionApp" in questo esempio, quindi specificare un nome diverso, ad esempio "MyCleanTextFunctionApp"Your function app's descriptive and globally unique name, which is "CleanTextFunctionApp" in this example, so provide a different name, such as "MyCleanTextFunctionApp"
    SottoscrizioneSubscription <nome-sottoscrizione-Azure><your-Azure-subscription-name> La stessa sottoscrizione di Azure usata in precedenzaThe same Azure subscription that you previously used
    Gruppo di risorseResource Group LA-Tutorial-RGLA-Tutorial-RG Lo stesso gruppo di risorse di Azure usato in precedenzaThe same Azure resource group that you previously used
    Piano di hostingHosting Plan Piano a consumoConsumption Plan Questa impostazione determina la modalità di allocazione e scalabilità delle risorse, ad esempio la potenza di calcolo, per l'esecuzione dell'app per le funzioni.This setting determines how to allocate and scale resources, such as computing power, for running your function app. Vedere il confronto tra piani di hosting.See hosting plans comparison.
    PosizioneLocation Stati Uniti occidentaliWest US La stessa area usata in precedenzaThe same region that you previously used
    Stack di runtimeRuntime stack Lingua preferitaPreferred language Selezionare un runtime che supporti il linguaggio di programmazione della funzione preferito.Select a runtime that supports your favorite function programming language. Selezionare .NET per le funzioni C# e F #.Select .NET for C# and F# functions.
    ArchiviazioneStorage cleantextfunctionstorageacctcleantextfunctionstorageacct Creare un account di archiviazione per l'app per le funzioni.Create a storage account for your function app. Usare solo lettere minuscole e numeri.Use only lowercase letters and numbers.

    Nota: questo account di archiviazione contiene le app per le funzioni ed è diverso dall'account di archiviazione creato in precedenza per gli allegati di posta elettronica.Note: This storage account contains your function apps, and differs from your previously created storage account for email attachments.

    Application InsightsApplication Insights OffOff Attiva il monitoraggio delle applicazioni con Application Insights. Per questa esercitazione, tuttavia, scegliere l'impostazione No.Turns on application monitoring with Application Insights, but for this tutorial, choose the Off setting.

    Se l'app per le funzioni non si apre automaticamente dopo la distribuzione, individuare l'app nel portale di Azure.If your function app doesn't automatically open after deployment, find your app in the Azure portal. Nel menu principale di Azure selezionare App per le funzioni e selezionare l'app per le funzioni.On the main Azure menu, select Function Apps, and select your function app.

    Selezionare l'app per le funzioni

    Se la voce App per le funzioni non viene visualizzata nel menu di Azure, passare a Tutti i servizi.If Function Apps doesn't appear on the Azure menu, go to All services instead. Nella casella di ricerca trovare e selezionare App per le funzioni.In the search box, find and select Function Apps. Per altre informazioni, vedere Creare una funzione.For more information, see Create your function.

    In caso contrario, Azure apre automaticamente l'app per le funzioni come illustrato di seguito:Otherwise, Azure automatically opens your function app as shown here:

    App per le funzioni creata

    Per creare un'app per le funzioni è anche possibile usare l'interfaccia della riga di comando di Azure oppure PowerShell e i modelli di Resource Manager.To create a function app, you can also use Azure CLI, or PowerShell and Resource Manager templates.

  2. In App per le funzioni, espandere l'app per le funzioni, ovvero "CleanTextFunctionApp" in questo esempio e selezionare Funzioni.Under Function Apps, expand your function app, which is "CleanTextFunctionApp" in this example, and select Functions. Sulla barra degli strumenti delle funzioni selezionare Nuova funzione.On the functions toolbar, select New function.

    Creare una nuova funzione

  3. In Scegliere un modello sotto oppure passare all'Avvio rapido selezionare il modello Trigger HTTP.Under Choose a template below or go to the quickstart, select the HTTP trigger template.

    Selezionare il modello Trigger HTTP

    Azure crea una funzione usando il modello specifico del linguaggio per una funzione attivata tramite HTTP.Azure creates a function using a language-specific template for an HTTP triggered function.

  4. Nel riquadro Nuova funzione immettere RemoveHTMLFunction in Nome.In the New Function pane, under Name, enter RemoveHTMLFunction. Mantenere l'opzione Livello di autorizzazione impostata su Funzione e scegliere Crea.Keep Authorization level set to Function, and choose Create.

    Assegnare un nome alla funzione

  5. Dopo l'apertura dell'editor, sostituire il codice del modello con questo codice di esempio, che rimuove il codice HTML e restituisce i risultati al chiamante:After the editor opens, replace the template code with this sample code, which removes the HTML and returns results to the caller:

    #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 });
    }
    
  6. Al termine dell'operazione, scegliere Salva.When you're done, choose Save. Per testare la funzione, sul bordo destro dell'editor scegliere Test sotto l'icona a forma di freccia ( < ).To test your function, at the editor's right edge, under the arrow (<) icon, choose Test.

    Aprire il riquadro "Test"

  7. Nel riquadro Test immettere questa riga in Corpo della richiesta e scegliere Esegui.In the Test pane, under Request body, enter this line, and choose Run.

    {"name": "<p><p>Testing my function</br></p></p>"}
    

    Testare la funzione

    La finestra Output mostra il risultato della funzione:The Output window shows the function's result:

    {"updatedBody":"{\"name\": \"Testing my function\"}"}
    

Dopo aver controllato il funzionamento della funzione, creare l'app per la logica.After checking that your function works, create your logic app. Anche se questa esercitazione illustra come creare una funzione che rimuove il codice HTML dai messaggi di posta elettronica, App per la logica offre anche un connettore per la conversione di HTML in testo.Although this tutorial shows how to create a function that removes HTML from emails, Logic Apps also provides an HTML to Text connector.

Creare l'app per la logicaCreate your logic app

  1. Nel menu principale di Azure selezionare Crea una risorsa > Integrazione > App per la logica.On the main Azure menu, select Create a resource > Integration > Logic App.

    Creare l'app per la logica

  2. In Crea app per la logica specificare le informazioni sull'app per la logica come mostrato e descritto di seguito.Under Create logic app, provide this information about your logic app as shown and described. Al termine, scegliere Aggiungi al dashboard > Crea.When you're done, choose Pin to dashboard > Create.

    Specificare le informazioni sull'app per la logica

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    NomeName LA-ProcessAttachmentLA-ProcessAttachment Nome dell'app per la logicaThe name for your logic app
    SottoscrizioneSubscription <nome-sottoscrizione-Azure><your-Azure-subscription-name> La stessa sottoscrizione di Azure usata in precedenzaThe same Azure subscription that you previously used
    Gruppo di risorseResource group LA-Tutorial-RGLA-Tutorial-RG Lo stesso gruppo di risorse di Azure usato in precedenzaThe same Azure resource group that you previously used
    PosizioneLocation Stati Uniti occidentaliWest US La stessa area usata in precedenzaThe same region that you previously used
    Log AnalyticsLog Analytics OffOff Per questa esercitazione, scegliere l'impostazione No.For this tutorial, choose the Off setting.
  3. Dopo che Azure distribuisce l'app, si apre Progettazione app per la logica, che mostra un video introduttivo e alcuni modelli di app per la logica comuni.After Azure deploys your app, the Logic Apps Designer opens and shows a page with an introduction video and templates for common logic app patterns. In Modelli scegliere App per la logica vuota.Under Templates, choose Blank Logic App.

    Scegliere il modello App per la logica vuota

Aggiungere quindi un trigger che resta in ascolto dei messaggi di posta elettronica in arrivo con allegati.Next, add a trigger that listens for incoming emails that have attachments. Ogni app per la logica deve essere avviata con un trigger, che viene attivato quando si verifica un determinato evento o quando nuovi dati soddisfano una condizione specifica.Every logic app must start with a trigger, which fires when a specific event happens or when new data meets a specific condition. Per altre informazioni, vedere Create your first logic app (Creare la prima app per la logica).For more information, see Create your first logic app.

Monitorare la posta elettronica in arrivoMonitor incoming email

  1. Nella casella di ricerca della finestra di progettazione immettere "all'arrivo di un nuovo messaggio di posta elettronica" come filtro.On the designer in the search box, enter "when new email arrives" as your filter. Selezionare questo trigger per il provider di posta elettronica: All'arrivo di un nuovo messaggio di posta elettronica - <provider di posta elettronica>Select this trigger for your email provider: When a new email arrives - <your-email-provider>

    Ad esempio:For example:

    Selezionare questo trigger per il provider di posta elettronica: "All'arrivo di un nuovo messaggio di posta elettronica"

    • Per un account aziendale o dell'istituto di istruzione di Azure, selezionare Office 365 Outlook.For Azure work or school accounts, select Office 365 Outlook.

    • Per gli account Microsoft personali, selezionare Outlook.com.For personal Microsoft accounts, select Outlook.com.

  2. Se vengono richieste le credenziali, accedere all'account di posta elettronica in modo che App per la logica possa connettersi all'account.If you're asked for credentials, sign in to your email account so Logic Apps can connect to your email account.

  3. Specificare quindi i criteri usati dal trigger per filtrare i nuovi messaggi di posta elettronica.Now provide the criteria the trigger uses to filter new email.

    1. Specificare queste impostazioni per il controllo dei messaggi di posta elettronica.Specify these settings for checking emails.

      Specificare cartella, intervallo e frequenza per la verifica dei messaggi di posta elettronica

      ImpostazioneSetting ValoreValue DESCRIZIONEDescription
      CartellaFolder Posta in arrivoInbox Cartella di posta elettronica da controllareThe email folder to check
      Con allegatoHas Attachment Yes Recupera solo i messaggi di posta elettronica con allegati.Get only emails with attachments.

      Nota: il trigger non rimuove alcun messaggio di posta elettronica dall'account, ma controlla solo i nuovi messaggi ed elabora esclusivamente quelli che corrispondono al filtro dell'oggetto.Note: The trigger doesn't remove any emails from your account, checking only new messages and processing only emails that match the subject filter.

      Includi allegatiInclude Attachments Yes Recupera gli allegati da usare come input per il flusso di lavoro, invece che limitarsi a controllare la presenza di allegati.Get the attachments as input for your workflow, rather than just check for attachments.
      IntervalInterval 11 Numero di intervalli di attesa tra i controlliThe number of intervals to wait between checks
      FrequenzaFrequency MinutoMinute Unità di tempo per ogni intervallo tra i controlliThe unit of time for each interval between checks
    2. Nell'elenco Aggiungi nuovo parametro selezionare Filtro oggetto.From the Add new parameter list, select Subject Filter.

    3. Quando viene visualizzata la casella Filtro oggetto specificare l'oggetto come elencato qui:After the Subject Filter box appears in the action, specify the subject as listed here:

      ImpostazioneSetting ValoreValue DESCRIZIONEDescription
      Filtro oggettoSubject Filter Business Analyst 2 #423501 Testo da trovare nell'oggetto del messaggio di posta elettronicaThe text to find in the email subject
  4. Per nascondere i dettagli del trigger per il momento, fare clic sulla barra del titolo del trigger.To hide the trigger's details for now, click inside the trigger's title bar.

    Comprimere la forma per nascondere i dettagli

  5. Salvare l'app per la logica.Save your logic app. Nella barra degli strumenti della finestra di progettazione scegliere Salva.On the designer toolbar, choose Save.

    L'app per la logica è ora attiva, ma non esegue alcuna operazione oltre a controllare i messaggi di posta elettronica.Your logic app is now live but doesn't do anything other check your emails. Aggiungere quindi una condizione che specifica i criteri per continuare il flusso di lavoro.Next, add a condition that specifies criteria to continue workflow.

Controllare la presenza di allegatiCheck for attachments

Aggiungere quindi una condizione per selezionare solo i messaggi di posta elettronica con allegati.Now add a condition that selects only emails that have attachments.

  1. Nel trigger scegliere Nuovo passaggio.Under the trigger, choose New step.

    "Nuovo passaggio"

  2. In Scegliere un'azione immettere "condizione" nella casella di ricerca.Under Choose an action, in the search box, enter "condition". Selezionare questa azione: Condizione - ControlloSelect this action: Condition - Control

    Selezionare "Condizione"

    1. Rinominare la condizione con una descrizione migliore.Rename the condition with a better description. Sulla barra del titolo della condizione fare clic sui puntini di sospensione ( ... ) > Rinomina.On the condition's title bar, choose the ellipses (...) button > Rename.

      Rinominare la condizione

    2. Rinominare la condizione con questa descrizione: If email has attachments and key subject phraseRename your condition with this description: If email has attachments and key subject phrase

  3. Creare una condizione per verificare la presenza di messaggi di posta elettronica con allegati.Create a condition that checks for emails that have attachments.

    1. Nella prima riga sotto E fare clic all'interno della casella di sinistra.On the first row under And, click inside the left box. Nell'elenco di contenuto dinamico visualizzato selezionare la proprietà Con allegato.From the dynamic content list that appears, select the Has Attachment property.

      Creare una condizione

    2. Nella casella centrale mantenere l'operatore è uguale a.In the middle box, keep the operator is equal to.

    3. Nella casella di destra immettere true come valore da confrontare con il valore della proprietà Has Attachment del trigger.In the right box, enter true as the value to compare with the Has Attachment property value from the trigger.

      Creare una condizione

      Se i due valori sono uguali, il messaggio di posta elettronica ha almeno un allegato, la condizione viene soddisfatta e il flusso di lavoro continua.If both values are equal, the email has at least one attachment, the condition passes, and the workflow continues.

    Nella definizione dell'app per la logica sottostante, visualizzabile nella finestra dell'editor di codice, questa condizione si presenta come in questo esempio:In your underlying logic app definition, which you can view in the code editor window, this condition looks like this example:

    "Condition": {
       "actions": { <actions-to-run-when-condition-passes> },
       "expression": {
          "and": [ {
             "equals": [
                "@triggerBody()?['HasAttachment']",
                  "true"
             ]
          } ]
       },
       "runAfter": {},
       "type": "If"
    }
    
  4. Salvare l'app per la logica.Save your logic app. Nella barra degli strumenti della finestra di progettazione scegliere Salva.On the designer toolbar, choose Save.

Testare la condizioneTest your condition

Verificare ora se la condizione funziona correttamente:Now, test whether the condition works correctly:

  1. Se l'app per la logica non è già in esecuzione, scegliere Esegui sulla barra degli strumenti della finestra di progettazione.If your logic app isn't running already, choose Run on the designer toolbar.

    Questo passaggio avvia manualmente l'app per la logica senza che sia necessario attendere la scadenza dell'intervallo specificato.This step manually starts your logic app without having to wait until your specified interval passes. Tuttavia, non accadrà nulla finché il messaggio di posta elettronica di test non arriva nella Posta in arrivo.However, nothing happens until the test email arrives in your inbox.

  2. Inviare a se stessi un messaggio di posta elettronica che soddisfi questi criteri:Send yourself an email that meets this criteria:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per l'impostazione Filtro oggetto del trigger: Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha un allegato.Your email has one attachment. Per il momento, è sufficiente creare un file di testo vuoto e allegarlo al messaggio di posta elettronica.For now, just create one empty text file and attach that file to your email.

    Quando si riceve il messaggio di posta elettronica, l'app per la logica controlla la presenza di allegati e del testo dell'oggetto specificato.When the email arrives, your logic app checks for attachments and the specified subject text. Se la condizione viene soddisfatta, il trigger viene attivato e il motore di App per la logica crea un'istanza di app per la logica e avvia il flusso di lavoro.If the condition passes, the trigger fires and causes the Logic Apps engine to create a logic app instance and start the workflow.

  3. Per controllare che il trigger sia stato attivato e l'app per la logica sia stata eseguita correttamente, dal menu dell'app per la logica scegliere Panoramica.To check that the trigger fired and the logic app ran successfully, on the logic app menu, choose Overview.

    Controllare il trigger e la cronologia di esecuzione

    Se l'app per la logica non è stata attivata o eseguita nonostante l'esito positivo di un trigger, vedere Risolvere i problemi di un'app per la logica.If your logic app didn't trigger or run despite a successful trigger, see Troubleshoot your logic app.

Definire quindi le azioni da eseguire per il ramo È true.Next, define the actions to take for the If true branch. Per salvare il messaggio di posta elettronica insieme a eventuali allegati, rimuovere il codice HTML dal corpo del messaggio e quindi creare BLOB nel contenitore di archiviazione per il messaggio di posta elettronica e gli allegati.To save the email along with any attachments, remove any HTML from the email body, then create blobs in the storage container for the email and attachments.

Nota

L'app per la logica non deve eseguire alcuna azione per il ramo È false quando un messaggio di posta elettronica non ha allegati.Your logic app doesn't have to do anything for the If false branch when an email doesn't have attachments. Come esercizio aggiuntivo dopo aver completato questa esercitazione, è possibile aggiungere un'azione appropriata da eseguire per il ramo È false.As a bonus exercise after you finish this tutorial, you can add any appropriate action that you want to take for the If false branch.

Chiamare la funzione RemoveHTMLFunctionCall RemoveHTMLFunction

Questo passaggio aggiunge la funzione di Azure creata in precedenza all'app per la logica e passa il contenuto del corpo del messaggio di posta elettronica dal trigger di posta elettronica alla funzione.This step adds your previously created Azure function to your logic app and passes the email body content from email trigger to your function.

  1. Nel menu dell'app per la logica selezionare Progettazione app per la logica.On the logic app menu, select Logic App Designer. Nel ramo È true scegliere Aggiungi un'azione.In the If true branch, choose Add an action.

    Aggiungere un'azione all'interno di "È true"

  2. Nella casella di ricerca cercare "Funzioni di Azure" e selezionare questa azione: Scegliere una funzione di Azure - Funzioni di AzureIn the search box, find "azure functions", and select this action: Choose an Azure function - Azure Functions

    Selezionare l'azione "Scegliere una funzione di Azure"

  3. Selezionare l'app per le funzioni creata in precedenza, ovvero "CleanTextFunctionApp" in questo esempio:Select your previously created function app, which is "CleanTextFunctionApp" in this example:

    Selezionare l'app per le funzioni di Azure

  4. A questo punto selezionare la funzione: RemoveHTMLFunctionNow select your function: RemoveHTMLFunction

    Selezionare la funzione di Azure

  5. Rinominare la forma della funzione con questa descrizione: Call RemoveHTMLFunction to clean email bodyRename your function shape with this description: Call RemoveHTMLFunction to clean email body

  6. Specificare quindi l'input che dovrà essere elaborato dalla funzione.Now specify the input for your function to process.

    1. In Corpo della richiesta immettere il testo seguente con uno spazio finale:Under Request Body, enter this text with a trailing space:

      { "emailBody":

      Nel corso delle operazioni sull'input dei passaggi successivi verrà visualizzato un errore di codice JSON non valido finché all'input non verrà applicato un formato JSON corretto.While you work on this input in the next steps, an error about invalid JSON appears until your input is correctly formatted as JSON. Quando in precedenza questa funzione è stata testata, per l'input specificato per la funzione è stato usato JSON (JavaScript Object Notation).When you previously tested this function, the input specified for this function used JavaScript Object Notation (JSON). Di conseguenza, anche il corpo della richiesta deve usare lo stesso formato.So, the request body must also use the same format.

      Posizionando il cursore all'interno della casella Corpo della richiesta viene visualizzato l'elenco di contenuto dinamico ed è così possibile selezionare i valori delle proprietà disponibili dalle azioni precedenti.Also, when your cursor is inside the Request body box, the dynamic content list appears so you can select property values available from previous actions.

    2. Nell'elenco di contenuto dinamico selezionare la proprietà Corpo in All'arrivo di un nuovo messaggio di posta elettronica.From the dynamic content list, under When a new email arrives, select the Body property. Ricordarsi di aggiungere la parentesi graffa di chiusura } dopo questa proprietà.After this property, remember to add the closing curly brace: }

      Specificare il corpo della richiesta da passare alla funzione

    Al termine, l'input per la funzione si presenterà come in questo esempio:When you're done, the input to your function looks like this example:

    Corpo della richiesta completato da passare alla funzione

  7. Salvare l'app per la logica.Save your logic app.

Aggiungere quindi un'azione che crea un BLOB nel contenitore di archiviazione per poter salvare il corpo del messaggio di posta elettronica.Next, add an action that creates a blob in your storage container so you can save the email body.

Creare un BLOB per il corpo del messaggio di posta elettronicaCreate blob for email body

  1. Nel blocco È true scegliere Aggiungi un'azione sotto la funzione di Azure.In the If true block and under your Azure function, choose Add an action.

  2. Nella casella di ricerca immettere "Crea BLOB" come filtro e selezionare questa azione: Crea BLOB - Archivio BLOB di AzureIn the search box, enter "create blob" as your filter, and select this action: Create blob - Azure Blob Storage

    Aggiungere un'azione per creare un BLOB per il corpo del messaggio di posta elettronica

  3. Creare una connessione all'account di archiviazione con le impostazioni descritte e illustrate di seguito.Create a connection to your storage account with these settings as shown and described here. Al termine dell'operazione, scegliere Crea.When you're done, choose Create.

    Creare una connessione all'account di archiviazione

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    Connection Name (Nome connessione)Connection Name AttachmentStorageConnectionAttachmentStorageConnection Nome descrittivo per la connessioneA descriptive name for the connection
    Storage AccountStorage Account attachmentstorageacctattachmentstorageacct Nome dell'account di archiviazione creato in precedenza per il salvataggio degli allegatiThe name for the storage account that you previously created for saving attachments
  4. Rinominare l'azione Crea BLOB con questa descrizione: Create blob for email bodyRename the Create blob action with this description: Create blob for email body

  5. Nell'azione Crea BLOB specificare le informazioni e selezionare i campi per creare il BLOB come illustrato e descritto:In the Create blob action, provide this information, and select these fields to create the blob as shown and described:

    Specificare le informazioni sul BLOB per il corpo del messaggio di posta elettronica

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    Percorso cartellaFolder path /attachments/attachments Percorso e nome del contenitore creato in precedenza.The path and name for the container that you previously created. Per questo esempio, fare clic sull'icona a forma di cartella e quindi selezionare il contenitore "/attachments".For this example, click the folder icon, and then select the "/attachments" container.
    Nome BLOBBlob name Campo DaFrom field Per questo esempio, come nome del BLOB usare il nome del mittente.For this example, use the sender's name as the blob's name. Fare clic all'interno di questa casella in modo da visualizzare l'elenco di contenuto dinamico e quindi selezionare il campo Da sotto l'azione All'arrivo di un nuovo messaggio di posta elettronica.Click inside this box so that the dynamic content list appears, and then select the From field under the When a new email arrives action.
    Contenuto BLOBBlob content Campo ContenutoContent field Per questo esempio, come contenuto del BLOB usare il corpo del messaggio di posta elettronica senza codice HTML.For this example, use the HTML-free email body as the blob content. Fare clic all'interno di questa casella in modo da visualizzare l'elenco di contenuto dinamico e quindi selezionare Corpo sotto l'azione Call RemoveHTMLFunction to clean email body.Click inside this box so that the dynamic content list appears, and then select Body under the Call RemoveHTMLFunction to clean email body action.

    Al termine, l'azione si presenterà come in questo esempio:When you're done, the action looks like this example:

    Azione "Crea BLOB" completata

  6. Salvare l'app per la logica.Save your logic app.

Controllare la gestione degli allegatiCheck attachment handling

Verificare ora se l'app per la logica gestisce i messaggi di posta elettronica nel modo specificato:Now test whether your logic app handles emails the way that you specified:

  1. Se l'app per la logica non è già in esecuzione, scegliere Esegui sulla barra degli strumenti della finestra di progettazione.If your logic app isn't running already, choose Run on the designer toolbar.

  2. Inviare a se stessi un messaggio di posta elettronica che soddisfi questi criteri:Send yourself an email that meets this criteria:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per l'impostazione Filtro oggetto del trigger: Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha almeno un allegato.Your email has at least one attachment. Per il momento, è sufficiente creare un file di testo vuoto e allegarlo al messaggio di posta elettronica.For now, just create one empty text file and attach that file to your email.

    • Il messaggio di posta elettronica ha contenuto di test nel corpo, ad esempio:Your email has some test content in the body, for example:

      Testing my logic app
      

    Se l'app per la logica non è stata attivata o eseguita nonostante l'esito positivo di un trigger, vedere Risolvere i problemi di un'app per la logica.If your logic app didn't trigger or run despite a successful trigger, see Troubleshoot your logic app.

  3. Verificare che l'app per la logica abbia salvato il messaggio di posta elettronica nel contenitore di archiviazione corretto.Check that your logic app saved the email to the correct storage container.

    1. In Storage Explorer espandere (Local and Attached) (Locale e collegato) > Account di archiviazione > attachmentstorageacct (Esterno) > Blob Containers (Contenitori BLOB) > attachments.In Storage Explorer, expand (Local and Attached) > Storage Accounts > attachmentstorageacct (External) > Blob Containers > attachments.

    2. Controllare la presenza del messaggio di posta elettronica nel contenitore attachments.Check the attachments container for the email.

      A questo punto, nel contenitore è presente solo il messaggio di posta elettronica perché l'app per la logica non ha ancora elaborato gli allegati.At this point, only the email appears in the container because the logic app doesn't process the attachments yet.

      Controllare la presenza del messaggio di posta elettronica salvato in Storage Explorer

    3. Al termine, eliminare il messaggio di posta elettronica in Storage Explorer.When you're done, delete the email in Storage Explorer.

  4. Facoltativamente, per testare il ramo È false, che in questo caso non esegue alcuna azione, è possibile inviare un messaggio di posta elettronica che non soddisfa i criteri.Optionally, to test the If false branch, which does nothing at this time, you can send an email that doesn't meet the criteria.

Aggiungere quindi un ciclo per elaborare tutti gli allegati di posta elettronica.Next, add a loop to process all the email attachments.

Elaborare gli allegatiProcess attachments

Per elaborare ogni allegato del messaggio di posta elettronica, aggiungere un ciclo For each al flusso di lavoro dell'app per la logica.To process each attachment in the email, add a For each loop to your logic app's workflow.

  1. Sotto la forma Creare un BLOB per il corpo del messaggio di posta elettronica selezionare Aggiungi un'azione.Under the Create blob for email body shape, select Add an action.

    Aggiungere un ciclo For each

  2. In Scegliere un'azione immettere "for each" come filtro nella casella di ricerca.Under Choose an action, in the search box, enter "for each" as your filter. Selezionare questa azione: For each - ControlloSelect this action: For each - Control

    Selezionare "For each"

  3. Rinominare il ciclo con questa descrizione: For each email attachmentRename your loop with this description: For each email attachment

  4. Specificare ora i dati che il ciclo deve elaborare.Now specify the data for the loop to process. Fare clic all'interno della casella Selezionare un output dai passaggi precedenti per aprire l'elenco di contenuto dinamico e quindi selezionare Allegati.Click inside the Select an output from previous steps box so that the dynamic content list opens, and then select Attachments.

    Selezionare "Allegati"

    Il campo Allegati passa una matrice contenente tutti gli allegati inclusi in un messaggio di posta elettronica.The Attachments field passes in an array that contains all the attachments included with an email. Il ciclo For each ripete le azioni su ogni elemento passato con la matrice.The For each loop repeats actions on each item that's passed in with the array.

  5. Salvare l'app per la logica.Save your logic app.

Aggiungere quindi l'azione che consente di salvare ogni allegato come BLOB nel contenitore di archiviazione attachments.Next, add the action that saves each attachment as a blob in your attachments storage container.

Creare un BLOB per ogni allegatoCreate blob for each attachment

  1. Nel ciclo For each email attachment scegliere Aggiungi un'azione per poter specificare l'attività da eseguire su ogni allegato trovato.In the For each email attachment loop, choose Add an action so you can specify the task to perform on each found attachment.

    Aggiungere un'azione al ciclo

  2. Nella casella di ricerca immettere "Crea BLOB" come filtro e selezionare questa azione: Crea BLOB - Archivio BLOB di AzureIn the search box, enter "create blob" as your filter, and then select this action: Create blob - Azure Blob Storage

    Aggiungere un'azione per creare un BLOB

  3. Rinominare l'azione Crea BLOB 2 con questa descrizione: Create blob for each email attachmentRename the Create blob 2 action with this description: Create blob for each email attachment

  4. Nell'azione Create blob for each email attachment specificare le informazioni e selezionare le proprietà per ogni BLOB da creare come illustrato e descritto:In the Create blob for each email attachment action, provide this information, and select the properties for each blob you want to create as shown and described:

    Specificare le informazioni sul BLOB

    ImpostazioneSetting ValoreValue DESCRIZIONEDescription
    Percorso cartellaFolder path /attachments/attachments Percorso e nome del contenitore creato in precedenza.The path and name for the container that you previously created. Per questo esempio, fare clic sull'icona a forma di cartella e quindi selezionare il contenitore "/attachments".For this example, click the folder icon, and then select the "/attachments" container.
    Nome BLOBBlob name Campo NomeName field Per questo esempio, come nome del BLOB usare il nome dell'allegato.For this example, use the attachment's name as the blob's name. Fare clic all'interno di questa casella in modo da visualizzare l'elenco di contenuto dinamico e quindi selezionare il campo Nome sotto l'azione All'arrivo di un nuovo messaggio di posta elettronica.Click inside this box so that the dynamic content list appears, and then select the Name field under the When a new email arrives action.
    Contenuto BLOBBlob content Campo ContenutoContent field Per questo esempio, come contenuto del BLOB usare il campo Contenuto.For this example, use the Content field as the blob content. Fare clic all'interno di questa casella in modo da visualizzare l'elenco di contenuto dinamico e quindi selezionare il campo Contenuto sotto l'azione All'arrivo di un nuovo messaggio di posta elettronica.Click inside this box so that the dynamic content list appears, and then select Content under the When a new email arrives action.

    Al termine, l'azione si presenterà come in questo esempio:When you're done, the action looks like this example:

    Azione "Crea BLOB" completata

  5. Salvare l'app per la logica.Save your logic app.

Controllare la gestione degli allegatiCheck attachment handling

Verificare ora se l'app per la logica gestisce gli allegati nel modo specificato:Next, test whether your logic app handles the attachments the way that you specified:

  1. Se l'app per la logica non è già in esecuzione, scegliere Esegui sulla barra degli strumenti della finestra di progettazione.If your logic app isn't running already, choose Run on the designer toolbar.

  2. Inviare a se stessi un messaggio di posta elettronica che soddisfi questi criteri:Send yourself an email that meets this criteria:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per l'impostazione Filtro oggetto del trigger: Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha almeno due allegati.Your email has at least two attachments. Per il momento, è sufficiente creare due file di testo vuoti e allegarli al messaggio di posta elettronica.For now, just create two empty text files and attach those files to your email.

    Se l'app per la logica non è stata attivata o eseguita nonostante l'esito positivo di un trigger, vedere Risolvere i problemi di un'app per la logica.If your logic app didn't trigger or run despite a successful trigger, see Troubleshoot your logic app.

  3. Verificare che l'app per la logica abbia salvato il messaggio di posta elettronica e gli allegati nel contenitore di archiviazione corretto.Check that your logic app saved the email and attachments to the correct storage container.

    1. In Storage Explorer espandere (Local and Attached) (Locale e collegato) > Account di archiviazione > attachmentstorageacct (Esterno) > Blob Containers (Contenitori BLOB) > attachments.In Storage Explorer, expand (Local and Attached) > Storage Accounts > attachmentstorageacct (External) > Blob Containers > attachments.

    2. Controllare la presenza del messaggio di posta elettronica e degli allegati nel contenitore attachments.Check the attachments container for both the email and the attachments.

      Controllare la presenza di messaggi di posta elettronica e allegati salvati

    3. Al termine, eliminare il messaggio di posta elettronica e gli allegati in Storage Explorer.When you're done, delete the email and attachments in Storage Explorer.

Aggiungere quindi un'azione in modo che l'app per la logica invii un messaggio di posta elettronica per l'esame degli allegati.Next, add an action so that your logic app sends email to review the attachments.

Inviare notifiche di posta elettronicaSend email notifications

  1. Nel ramo If true nel ciclo For each email attachment (Per ogni allegato di posta elettronica) scegliere Aggiungi un'azione.In the If true branch, under the For each email attachment loop, choose Add an action.

    Aggiungere un'azione nel ciclo "For each"

  2. Nella casella di ricerca immettere "invia messaggio di posta elettronica" come filtro e quindi selezionare l'azione "Invia un messaggio di posta elettronica" per il proprio provider di posta elettronica.In the search box, enter "send email" as your filter, and then select the "send email" action for your email provider.

    Per filtrare l'elenco di azioni in base a un servizio specifico, si può selezionare prima il connettore.To filter the actions list to a specific service, you can select the connector first.

    Selezionare l'azione "invia un messaggio di posta elettronica" per il provider di posta elettronica

    • Per un account aziendale o dell'istituto di istruzione di Azure, selezionare Office 365 Outlook.For Azure work or school accounts, select Office 365 Outlook.

    • Per gli account Microsoft personali, selezionare Outlook.com.For personal Microsoft accounts, select Outlook.com.

  3. Se viene chiesto di immettere le credenziali, accedere all'account di posta elettronica in modo che App per la logica crei una connessione all'account.If you're asked for credentials, sign in to your email account so that Logic Apps creates a connection to your email account.

  4. Rinominare l'azione Invia un messaggio di posta elettronica con questa descrizione: Send email for reviewRename the Send an email action with this description: Send email for review

  5. Specificare le informazioni per l'azione e selezionare i campi da includere nel messaggio di posta elettronica come illustrato e descritto.Provide the information for this action and select the fields you want to include in the email as shown and described. Per aggiungere righe vuote in una casella di modifica, premere MAIUSC+INVIO.To add blank lines in an edit box, press Shift + Enter.

    Inviare notifiche di posta elettronica

    Se nell'elenco di contenuto dinamico non si trova un campo previsto, scegliere Vedi altro accanto a All'arrivo di un nuovo messaggio di posta elettronica.If you can't find an expected field in the dynamic content list, choose See more next to When a new email arrives.

    ImpostazioneSetting ValoreValue NoteNotes
    CorpoBody Please review new applicant:

    Applicant name: DaApplicant name: From

    Application file location: PercorsoApplication file location: Path

    Application email content: CorpoApplication email content: Body

    Contenuto del corpo del messaggio di posta elettronica.The email's body content. Fare clic all'interno della casella, immettere il testo dell'esempio e quindi selezionare i campi seguenti nell'elenco di contenuto dinamico:Click inside this box, enter the example text, and from the dynamic content list, select these fields:

    - Campo Da in All'arrivo di un nuovo messaggio di posta elettronica- The From field under When a new email arrives
    - Campo Percorso in Create blob for email body- The Path field under Create blob for email body
    - Campo Corpo in Call RemoveHTMLFunction to clean email body- The Body field under Call RemoveHTMLFunction to clean email body

    OggettoSubject ASAP - Review applicant for position: OggettoASAP - Review applicant for position: Subject Oggetto del messaggio di posta elettronica da includere.The email subject that you want to include. Fare clic all'interno della casella, immettere il testo dell'esempio e quindi selezionare il campo Oggetto nell'elenco di contenuto dinamico sotto All'arrivo di un nuovo messaggio di posta elettronica.Click inside this box, enter the example text, and from the dynamic content list, select the Subject field under When a new email arrives.
    ToTo <indirizzo-posta-elettronica-destinatario><recipient-email-address> AI fini del test delle app è possibile indicare il proprio indirizzo di posta elettronica.For testing purposes, you can use your own email address.

    Nota

    Se si seleziona un campo contenente una matrice, ad esempio il campo Contenuto che è una matrice contenente allegati, la finestra di progettazione aggiunge automaticamente un ciclo "For each" intorno all'azione che fa riferimento a tale campo.If you select a field that contains an array, such as the Content field, which is an array that contains attachments, the designer automatically adds a "For each" loop around the action that references that field. In questo modo, l'app per la logica può eseguire l'azione su ogni elemento della matrice.That way, your logic app can perform that action on each array item. Per rimuovere il ciclo, rimuovere il campo per la matrice, spostare l'azione di riferimento fuori dal ciclo, scegliere i puntini di sospensione ( ... ) sulla barra del titolo del ciclo e scegliere Elimina.To remove the loop, remove the field for the array, move the referencing action to outside the loop, choose the ellipses (...) on the loop's title bar, and choose Delete.

  6. Salvare l'app per la logica.Save your logic app.

Testare quindi l'app per la logica, che si presenterà ora come in questo esempio:Now, test your logic app, which now looks like this example:

App per la logica completata

Eseguire l'app per la logicaRun your logic app

  1. Inviare a se stessi un messaggio di posta elettronica che soddisfi questi criteri:Send yourself an email that meets this criteria:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per l'impostazione Filtro oggetto del trigger: Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha uno o più allegati.Your email has one or more attachments. È possibile riutilizzare un file di testo vuoto dal test precedente.You can reuse an empty text file from your previous test. Per uno scenario più realistico, allegare un file di un curriculum.For a more realistic scenario, attach a resume file.

    • Il corpo del messaggio di posta elettronica contiene testo, che è possibile copiare e incollare:The email body has this text, which you can copy and paste:

      
      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. Eseguire l'app per la logica.Run your logic app. In caso di esito positivo, l'app per la logica invia un messaggio di posta elettronica simile a questo esempio:If successful, your logic app sends you an email that looks like this example:

    Notifica tramite posta elettronica inviata dall'app per la logica

    Se non si riceve alcun messaggio di posta elettronica, controllare la cartella della posta indesiderata.If you don't get any emails, check your email's junk folder. Il filtro della posta indesiderata potrebbe reindirizzare questi tipi di messaggi di posta elettronica.Your email junk filter might redirect these kinds of mails. In caso contrario, se non si è certi che l'app per la logica sia stata eseguita correttamente, vedere Risolvere i problemi dell'app per la logica.Otherwise, if you're unsure that your logic app ran correctly, see Troubleshoot your logic app.

È stata creata ed eseguita un'app per la logica che automatizza le attività in diversi servizi di Azure e chiama codice personalizzato.Congratulations, you've now created and run a logic app that automates tasks across different Azure services and calls some custom code.

Pulire le risorseClean up resources

Quando non è più necessario, eliminare il gruppo di risorse contenente l'app per la logica e le risorse correlate.When no longer needed, delete the resource group that contains your logic app and related resources. Nel menu principale di Azure passare a Gruppi di risorse e quindi selezionare il gruppo di risorse per l'app per la logica.On the main Azure menu, go to Resource groups, and then select the resource group for your logic app. Scegliere Elimina gruppo di risorse.Choose Delete resource group. Immettere il nome del gruppo di risorse come conferma e scegliere Elimina.Enter the resource group name as confirmation, and choose Delete.

Eliminare il gruppo di risorse dell'app per la logica

Passaggi successiviNext steps

In questa esercitazione è stata creata un'app per la logica per l'elaborazione e l'archiviazione degli allegati di posta elettronica integrando servizi di Azure, come Archiviazione di Azure e Funzioni di Azure.In this tutorial, you created a logic app that processes and stores email attachments by integrating Azure services, such as Azure Storage and Azure Functions. Leggere ora altre informazioni sui connettori che è possibile usare per creare app per la logica.Now, learn more about other connectors that you can use to build logic apps.