Esercitazione: Creare flussi di lavoro che elaborano i messaggi di posta elettronica usando App per la logica di Azure, Funzioni di Azure e Archiviazione di Azure

Si applica a: App per la logica di Azure (consumo)

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. Questa esercitazione illustra come creare un flusso di lavoro dell'app per la logica che gestisce i messaggi di posta elettronica in arrivo e tutti gli allegati, analizza il contenuto tramite Funzioni di Azure, salva il contenuto in Archiviazione di Azure e invia un messaggio di posta elettronica per esaminare il contenuto.

In questa esercitazione apprenderai a:

  • Configurare Archiviazione di Azure e Storage Explorer per controllare i messaggi di posta elettronica e gli allegati salvati.
  • Creare una funzione di Azure che rimuove il codice HTML dai messaggi di posta elettronica. L'esercitazione include il codice che è possibile usare per questa funzione.
  • Creare un flusso di lavoro dell'app per la logica a consumo vuoto.
  • Aggiungere un trigger per il monitoraggio dei messaggi di posta elettronica per individuare gli allegati.
  • Aggiungere una condizione che controlla se i messaggi di posta elettronica hanno allegati.
  • Aggiungere un'azione che chiama la funzione di Azure quando un messaggio di posta elettronica ha allegati.
  • Aggiungere un'azione che crea BLOB di archiviazione per i messaggi di posta elettronica e gli allegati.
  • Aggiungere un'azione che invia notifiche tramite posta elettronica.

Lo screenshot seguente mostra il flusso di lavoro a livello generale:

Screenshot che mostra l'esempio di flusso di lavoro a consumo generale per questa esercitazione.

Prerequisiti

Configurare l'archiviazione per salvare gli allegati

È possibile salvare i messaggi di posta elettronica in arrivo e gli allegati come BLOB in un contenitore di archiviazione di Azure.

  1. Nella portale di Azure con le credenziali dell'account Azure creare un account di archiviazione, a meno che non ne sia già disponibile uno, usando le informazioni seguenti nella scheda Informazioni di base:

    Proprietà valore Descrizione
    Abbonamento <Azure-subscription-name> Il nome della sottoscrizione di Azure
    Gruppo di risorse <Azure-resource-group> Nome del gruppo di risorse di Azure usato per organizzare e gestire le risorse correlate. Questo esempio usa LA-Tutorial-RG.

    Nota: un gruppo di risorse si trova in un'area specifica. Anche se gli elementi in questa esercitazione potrebbero non essere disponibili in tutte le aree, provare a usare la stessa area, se possibile.
    Nome account di archiviazione <Azure-storage-account-name> Il nome dell'account di archiviazione, che deve essere composto da 3 a 24 caratteri e può contenere solo lettere minuscole e numeri. Questo esempio usa attachmentstorageacct.
    Area <Area di Azure> Area in cui archiviare le informazioni sull'account di archiviazione. Questo esempio usa Stati Uniti occidentali.
    Prestazioni Standard Questa impostazione specifica i tipi di dati supportati e il supporto per l'archiviazione dei dati. Vedere Tipi di account di archiviazione.
    Ridondanza Archiviazione con ridondanza geografica (GRS) Questa impostazione consente di archiviare più copie dei dati come protezione dagli eventi pianificati e non pianificati. Per altre informazioni, vedere Ridondanza di Archiviazione di Azure.

    Per creare l'account di archiviazione è anche possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure.

  2. Al termine, selezionare Rivedi>crea.

  3. Dopo che Azure ha distribuito l'account di archiviazione, trovare il proprio account di archiviazione e ottenere la relativa chiave di accesso:

    1. Nel menu dell'account di archiviazione, in Sicurezza e rete selezionare Chiavi di accesso.

    2. Copiare key1 e il nome dell'account di archiviazione e salvare tali valori in una posizione sicura.

    Per ottenere la chiave di accesso dell'account di archiviazione è anche possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure.

  4. Creare un contenitore di archiviazione BLOB per gli allegati di posta elettronica.

    1. Nel menu dell'account di archiviazione selezionare Contenitori in Archiviazione dati.

    2. Nella barra degli strumenti della pagina Contenitori selezionare Contenitore.

    3. In Nuovo contenitore immettere allegati come nome del contenitore. In Livello di accesso pubblico selezionare Contenitore (accesso in lettura anonimo per contenitori e BLOB)>OK.

    Al termine, l'elenco dei contenitori mostra ora il nuovo contenitore di archiviazione.

    Per creare un contenitore di archiviazione è anche possibile usare Azure PowerShell o l'interfaccia della riga di comando di Azure.

Connettere quindi Storage Explorer all'account di archiviazione.

Configurare Storage Explorer

Ora, connettersi Archiviazione Explorer all'account di archiviazione in modo da poter verificare che il flusso di lavoro possa salvare correttamente gli allegati come BLOB nel contenitore di archiviazione.

  1. Avviare Esplora archivi di Microsoft Azure. Accedere con l'account Azure.

    Nota

    Se non viene visualizzata alcuna richiesta, nella barra delle attività di Archiviazione Explorer selezionare Gestione account (icona account).

  2. Nella finestra Selezionare l'ambiente di Azure selezionare l'ambiente di Azure e quindi selezionare Avanti.

    Questo esempio continua selezionando Azure globale e multi-tenant.

  3. Nella finestra del browser visualizzata accedere con l'account Azure.

  4. Tornare a Archiviazione Explorer e alla finestra Gestione account e verificare che siano selezionati il tenant e la sottoscrizione di Microsoft Entra corretti.

  5. Nella barra delle attività di Archiviazione Explorer selezionare Apri finestra di dialogo Connessione.

  6. Nella finestra Seleziona risorsa selezionare Archiviazione account o servizio.

  7. Nella finestra Seleziona metodo Connessione ion selezionare Nome account e chiave>Avanti.

  8. Nella finestra Connessione per Archiviazione di Azure specificare le informazioni seguenti e selezionare Avanti.

    Proprietà valore
    Nome visualizzato Nome descrittivo per la connessione
    Account name Nome dell'account di archiviazione
    Chiave dell'account Chiave di accesso salvata in precedenza
  9. Nella finestra Riepilogo confermare le informazioni di connessione e quindi selezionare Connessione.

    Archiviazione Explorer crea la connessione e mostra l'account di archiviazione nella finestra Esplora risorse in Emulatore e account associati> Archiviazione.

  10. Per trovare il contenitore di archiviazione BLOB, in Storage Accounts (Account di archiviazione) espandere l'account di archiviazione (in questo caso, attachmentstorageacct) e Blob Containers (Contenitori BLOB), in cui si trova attachments. Ad esempio:

    Screenshot che mostra Archiviazione Explorer - Trovare il contenitore di archiviazione.

Creare quindi una funzione di Azure che rimuove il codice HTML dai messaggi di posta elettronica in arrivo.

Creare una funzione per rimuovere 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. In questo modo, il contenuto di posta elettronica sarà più immediato e semplice da elaborare. È quindi possibile chiamare questa funzione dal flusso di lavoro.

  1. Prima di creare una funzione, creare un'app per le funzioni seguendo questa procedura:

    1. Nella scheda Nozioni di base specificare le informazioni seguenti:

      Proprietà valore Descrizione
      Abbonamento <your-Azure-subscription-name> La stessa sottoscrizione di Azure usata in precedenza
      Gruppo di risorse LA-Tutorial-RG Lo stesso gruppo di risorse di Azure usato in precedenza
      Nome dell'app per le funzioni <function-app-name> Nome dell'app per le funzioni, che deve essere univoco a livello globale in Azure. Questo esempio usa già CleanTextFunctionApp, quindi specificare un nome diverso, ad esempio MyCleanTextFunctionApp-your-name<>
      Distribuire codice o immagine del contenitore? Codice Pubblicare file di codice.
      Stack di runtime <lingua preferita> Selezionare un runtime che supporti il linguaggio di programmazione della funzione preferito. La modifica nel portale è disponibile solo per script JavaScript, PowerShell, TypeScript e C#. Le funzioni C# della libreria di classi, Java e Python devono essere sviluppate in locale. Per le funzioni C# e F# selezionare .NET.
      Versione <numero di versione> Selezionare la versione per il runtime installato.
      Area <Area di Azure> La stessa area usata in precedenza. Questo esempio usa Stati Uniti occidentali.
      Sistema operativo <proprio-sistema-operativo> Un sistema operativo è pre-selezionato in base alla selezione dello stack di runtime, ma è possibile selezionare il sistema operativo che supporta il linguaggio di programmazione delle funzioni preferito. La modifica all'interno del portale è supportata solo in Windows. In questo esempio viene selezionato Windows.
      Opzioni e piani di hosting Consumo (serverless) Selezionare il piano di hosting che definisce la modalità di allocazione delle risorse all'app per le funzioni. Nel piano Consumo predefinito le risorse vengono aggiunte dinamicamente in base alle esigenze delle funzioni. In questo hosting serverless si paga solo per il periodo in cui le funzioni sono in esecuzione. In caso di esecuzione in un piano di servizio app, è necessario gestire il ridimensionamento dell'app per le funzioni.
    2. Selezionare Avanti: Archiviazione. Nella scheda Archiviazione specificare le informazioni seguenti:

      Proprietà valore Descrizione
      Account di archiviazione cleantextfunctionstorageacct Creare un account di archiviazione usato dall'app per le funzioni. Archiviazione nomi di account devono avere una lunghezza compresa tra 3 e 24 caratteri e può contenere solo lettere minuscole e numeri.

      Nota: questo account di archiviazione contiene le app per le funzioni e differisce dall'account di archiviazione creato in precedenza per gli allegati di posta elettronica. È anche possibile usare un account esistente, che deve soddisfare i requisiti dell'account di archiviazione.
    3. Al termine, selezionare Rivedi e crea. Confermare le informazioni e selezionare Crea.

    4. Dopo aver creato e distribuito la risorsa dell'app per le funzioni, selezionare Vai alla risorsa.

  2. Creare ora la funzione in locale come creazione di funzioni nel portale di Azure è limitata. Assicurarsi di usare il modello di trigger HTTP, fornire le informazioni seguenti per la funzione e usare il codice di esempio incluso, che rimuove HTML e restituisce i risultati al chiamante:

    Proprietà valore
    Nome funzione RemoveHTMLFunction
    Livello di autorizzazione Funzione
    #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. Per testare la funzione, è possibile usare l'input di esempio seguente:

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

    L'output della funzione è simile al risultato seguente:

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

Dopo aver verificato il funzionamento della funzione, creare la risorsa e il flusso di lavoro dell'app per la logica. Anche se questa esercitazione illustra come creare una funzione che rimuove HTML dai messaggi di posta elettronica, App per la logica di Azure fornisce anche un connettore HTML a testo.

Creare il flusso di lavoro dell'app per la logica

  1. Nella casella di ricerca di primo livello della portale di Azure immettere le app per la logica e selezionare App per la logica.

  2. Nella pagina App per la logica selezionare Aggiungi.

  3. Nella pagina Crea app per la logica, in Piano selezionare Consumo come tipo di piano, che mostra quindi solo le opzioni per i flussi di lavoro dell'app per la logica a consumo. Specificare le informazioni seguenti e quindi selezionare Rivedi e crea.

    Proprietà valore Descrizione
    Abbonamento <your-Azure-subscription-name> La stessa sottoscrizione di Azure usata in precedenza
    Gruppo di risorse LA-Tutorial-RG Lo stesso gruppo di risorse di Azure usato in precedenza
    Nome dell'app per la logica LA-ProcessAttachment Nome dell'app per la logica e del flusso di lavoro. Un'app per la logica a consumo e un flusso di lavoro hanno sempre lo stesso nome.
    Area Stati Uniti occidentali La stessa area usata in precedenza
    Abilitare l'analisi dei log No Per questa esercitazione, mantenere l'impostazione No.
  4. Confermare le informazioni fornite e selezionare Crea. Dopo la distribuzione dell'app in Azure, selezionare Vai alla risorsa.

  5. Nel menu delle risorse dell'app per la logica selezionare Progettazione app per la logica per aprire la finestra di progettazione del flusso di lavoro.

Aggiungere un trigger per controllare la posta elettronica in arrivo

Aggiungere ora un trigger che verifica la presenza di messaggi di posta elettronica in arrivo con allegati. Ogni flusso di lavoro deve iniziare con un trigger, che viene generato quando viene soddisfatta la condizione del trigger, ad esempio, si verifica un evento specifico o quando sono presenti nuovi dati. Per altre informazioni, vedere Avvio rapido: Creare un esempio di flusso di lavoro dell'app per la logica a consumo in App per la logica di Azure multi-tenant.

Questo esempio usa il connettore Office 365 Outlook, che richiede l'accesso con un account microsoft aziendale o dell'istituto di istruzione. Se si usa un account Microsoft personale, usare il connettore Outlook.com.

  1. Nella finestra di progettazione del flusso di lavoro selezionare Aggiungi un trigger.

  2. Dopo aver aperto il riquadro Aggiungi un trigger , nella casella di ricerca immettere office 365 outlook. Nell'elenco dei risultati del trigger, in Office 365 Outlook selezionare All'arrivo di un nuovo messaggio di posta elettronica (V3).

  3. Se vengono richieste le credenziali, accedere all'account di posta elettronica, creando una connessione tra il flusso di lavoro e l'account di posta elettronica.

  4. Specificare ora i criteri di trigger per controllare il nuovo messaggio di posta elettronica ed eseguire il flusso di lavoro.

    Proprietà valore Descrizione
    Priorità Any Specifica il livello di importanza del messaggio di posta elettronica desiderato.
    Solo con allegati Recupera solo i messaggi di posta elettronica con allegati.

    Nota: il trigger non rimuove alcun messaggio di posta elettronica dall'account, controlla solo i nuovi messaggi ed elabora solo i messaggi che corrispondono al filtro dell'oggetto.
    Includi allegati Recupera gli allegati da usare come input per il flusso di lavoro, invece che limitarsi a controllare la presenza di allegati.
    Cartella Posta Cartella di posta elettronica da controllare
  5. Nell'elenco Parametri avanzati selezionare Filtro soggetto.

  6. Dopo la visualizzazione della casella Filtro oggetto nell'azione, specificare l'oggetto come descritto di seguito:

    Proprietà valore Descrizione
    Filtro oggetto Business Analyst 2 #423501 Testo da trovare nell'oggetto del messaggio di posta elettronica
  7. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

    Il flusso di lavoro dell'app per la logica è ora attivo, ma non esegue altre operazioni di controllo dei messaggi di posta elettronica. Aggiungere quindi una condizione che specifica i criteri per continuare le azioni successive nel flusso di lavoro.

Controllare la presenza di allegati

Aggiungere quindi una condizione per selezionare solo i messaggi di posta elettronica con allegati.

  1. Nel trigger selezionare il segno più (+) e quindi selezionare Aggiungi un'azione.

  2. Nella casella di ricerca del riquadro Aggiungi un'azione immettere la condizione.

  3. Nell'elenco dei risultati dell'azione selezionare l'azione denominata Condizione.

  4. Rinominare la condizione usando una descrizione migliore.

    1. Nel riquadro Informazioni condizione sostituire il nome predefinito della condizione con la descrizione seguente: Se il messaggio di posta elettronica contiene allegati e frase dell'oggetto chiave
  5. Creare una condizione per verificare la presenza di messaggi di posta elettronica con allegati.

    1. Nella prima riga sotto l'elenco Operazione And selezionare all'interno della casella più a sinistra. Nell'elenco di contenuto dinamico visualizzato selezionare la proprietà Con allegato.

      Screenshot che mostra l'azione condizione, la seconda riga con il cursore nella casella all'estrema sinistra, l'elenco di contenuto dinamico aperto e la proprietà Attachment selezionata.

    2. Nella casella centrale mantenere l'operatore è uguale a.

    3. Nella casella più a destra immettere true, ovvero il valore da confrontare con il valore della proprietà Has Attachment restituito dal trigger. 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.

      Screenshot che mostra la condizione completa.

    Nella definizione del flusso di lavoro sottostante, che è possibile visualizzare selezionando Visualizzazione codice nella finestra di progettazione, la condizione è simile all'esempio seguente:

    "Condition": {
       "actions": { <actions-to-run-when-condition-passes> },
       "expression": {
          "and": [ {
             "equals": [
                "@triggerBody()?['HasAttachment']",
                  "true"
             ]
          } ]
       },
       "runAfter": {},
       "type": "If"
    }
    
  6. Salvare il flusso di lavoro.

Testare la condizione

  1. Sulla barra degli strumenti della finestra di progettazione selezionare Esegui esecuzione trigger>.

    Questo passaggio avvia ed esegue manualmente il flusso di lavoro, ma non verrà eseguita alcuna operazione fino all'arrivo del messaggio di posta elettronica di test nella posta in arrivo.

  2. Inviare un messaggio di posta elettronica che soddisfi i criteri seguenti:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per l'impostazione Filtro oggetto del trigger: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha un allegato. Per il momento, è sufficiente creare un file di testo vuoto e allegarlo al messaggio di posta elettronica.

    All'arrivo del messaggio di posta elettronica, il flusso di lavoro verifica la presenza di allegati e il testo dell'oggetto specificato. Se la condizione viene superata, il trigger viene attivato e fa sì che App per la logica di Azure di creare un'istanza del flusso di lavoro ed eseguire un'istanza del flusso di lavoro.

  3. Per verificare che il trigger sia stato attivato e che il flusso di lavoro sia stato eseguito correttamente, scegliere Panoramica dal menu dell'app per la logica.

    • Per visualizzare i trigger attivati correttamente, selezionare Cronologia trigger.

    • Per visualizzare i flussi di lavoro eseguiti correttamente, selezionare Cronologia esecuzioni.

    Se il trigger non è stato attivato o il flusso di lavoro non è stato eseguito nonostante un trigger riuscito, vedere Risolvere i problemi del flusso di lavoro dell'app per la logica.

Definire quindi le azioni da eseguire per il ramo True . 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.

Nota

Il flusso di lavoro può lasciare vuoto il ramo False e non eseguire alcuna azione quando un messaggio di posta elettronica non contiene allegati. Come esercizio bonus dopo aver completato questa esercitazione, è possibile aggiungere qualsiasi azione appropriata da eseguire per il ramo False .

Chiamare la funzione RemoveHTMLFunction

Questo passaggio aggiunge la funzione di Azure creata in precedenza al flusso di lavoro e passa il contenuto del corpo del messaggio di posta elettronica dal trigger di posta elettronica alla funzione.

  1. Nel menu dell'app per la logica selezionare Progettazione app per la logica. Nel ramo True selezionare Aggiungi un'azione.

  2. Nella casella di ricerca Scegliere un'operazione selezionare Predefinita. Nella casella di ricerca immettere funzioni di Azure e selezionare l'azione denominata Scegliere una funzione di Azure.

    Screenshot che mostra l'azione selezionata denominata Scegliere una funzione di Azure.

  3. Selezionare l'app per le funzioni creata in precedenza, ovvero CleanTextFunctionApp in questo esempio:

  4. Selezionare ora la funzione, denominata RemoveHTMLFunction in questo esempio.

  5. Rinominare la forma della funzione con la descrizione seguente: Chiamare RemoveHTMLFunction per pulire il corpo del messaggio di posta elettronica

  6. Specificare quindi l'input che dovrà essere elaborato dalla funzione.

    1. In Corpo della richiesta immettere il testo seguente con uno spazio finale:

      { "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. Quando in precedenza questa funzione è stata testata, per l'input specificato per la funzione è stato usato JSON (JavaScript Object Notation). Di conseguenza, anche il corpo della richiesta deve usare lo stesso formato.

      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.

    2. Nell'elenco di contenuto dinamico selezionare la proprietà Corpo in All'arrivo di un nuovo messaggio di posta elettronica. Dopo questa proprietà, ricordarsi di aggiungere la parentesi graffa di chiusura (}).

      Specificare il corpo della richiesta da passare alla funzione

    Al termine, l'input per la funzione sarà simile all'esempio seguente:

    Corpo della richiesta completato da passare alla funzione

  7. Salvare il flusso di lavoro.

Aggiungere quindi un'azione che crea un BLOB nel contenitore di archiviazione per poter salvare il corpo del messaggio di posta elettronica.

Creare un BLOB per il corpo del messaggio di posta elettronica

  1. Nella finestra di progettazione, nel blocco True, nella funzione di Azure selezionare Aggiungi un'azione.

  2. Nella casella di ricerca di Scegliere un'operazione selezionare Tutte. Nella casella di ricerca immettere crea BLOB e selezionare l'azione denominata Crea BLOB.

    Screenshot che mostra l'azione Archiviazione BLOB di Azure denominata Crea BLOB selezionato.

  3. Specificare le informazioni di connessione per l'account di archiviazione e selezionare Crea, ad esempio:

    Proprietà valore Descrizione
    Nome connessione Allegato Archiviazione Connessione ion Nome descrittivo per la connessione
    Tipo di autenticazione Chiave di accesso Tipo di autenticazione da usare per la connessione
    Archiviazione di Azure nome o endpoint dell'account <storage-account-name> Nome dell'account di archiviazione creato in precedenza, che è attachmentstorageacct per questo esempio
    chiave di accesso dell'account Archiviazione di Azure <storage-account-access-key> Chiave di accesso per l'account di archiviazione creato in precedenza
  4. Rinominare l'azione Crea BLOB con la descrizione seguente: Creare UN BLOB per il corpo del messaggio di posta elettronica

  5. Nell'azione Crea BLOB specificare le informazioni seguenti:

    Proprietà valore Descrizione
    Archiviazione nome dell'account o dell'endpoint BLOB Usare le impostazioni di connessione (<storage-account-name>) Selezionare l'account di archiviazione, ovvero attachmentstorageacct per questo esempio.
    Percorso cartella <path-and-container-name> Percorso e nome del contenitore creato in precedenza. Per questo esempio, selezionare l'icona della cartella e quindi selezionare il contenitore allegati .
    Nome BLOB <sender-name> Per questo esempio, come nome del BLOB usare il nome del mittente. Selezionare all'interno di questa casella in modo che venga visualizzato l'elenco di contenuto dinamico. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare il campo Da.
    Contenuto BLOB <content-for-blob> Per questo esempio, come contenuto del BLOB usare il corpo del messaggio di posta elettronica senza codice HTML. Selezionare all'interno di questa casella in modo che venga visualizzato l'elenco di contenuto dinamico. Nella sezione Call RemoveHTMLFunction to clean email body (Chiama RemoveHTMLFunction per pulire il corpo del messaggio di posta elettronica) selezionare Body (Corpo).

    L'immagine seguente mostra i campi da selezionare per l'azione Crea BLOB :

    Screenshot che mostra informazioni sul corpo della posta elettronica senza HTML nell'azione Crea BLOB.

    Al termine, l'azione sarà simile all'esempio seguente:

    Screenshot che mostra l'esempio di input di posta elettronica senza HTML per l'azione Crea BLOB completata.

  6. Salvare il flusso di lavoro.

Controllare la gestione degli allegati

  1. Sulla barra degli strumenti della finestra di progettazione selezionare Esegui esecuzione trigger>.

    Questo passaggio avvia ed esegue manualmente il flusso di lavoro, ma non verrà eseguita alcuna operazione fino all'arrivo del messaggio di posta elettronica di test nella posta in arrivo.

  2. Inviare un messaggio di posta elettronica che soddisfi i criteri seguenti:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per l'impostazione Filtro oggetto del trigger: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha almeno un allegato. Per il momento, è sufficiente creare un file di testo vuoto e allegarlo al messaggio di posta elettronica.

    • Il messaggio di posta elettronica ha contenuto di test nel corpo, ad esempio: Testing my logic app workflow

    Se il flusso di lavoro non è stato attivato o eseguito nonostante un trigger riuscito, vedere Risolvere i problemi relativi al flusso di lavoro dell'app per la logica.

  3. Verificare che il flusso di lavoro abbia salvato il messaggio di posta elettronica nel contenitore di archiviazione corretto.

    1. In Archiviazione Explorer espandere Emulator & Attached> Archiviazione Accounts attachmentstorageacct (Key)Blob Containers attachments (Key)>Blob Containers attachments (Allegati di emulatore e allegati Archiviazione Account.>>

    2. Controllare la presenza del messaggio di posta elettronica nel contenitore attachments.

      A questo punto, solo il messaggio di posta elettronica viene visualizzato nel contenitore perché il flusso di lavoro non ha ancora elaborato gli allegati.

      Screenshot che mostra Archiviazione Explorer con solo il messaggio di posta elettronica salvato.

    3. Al termine, eliminare il messaggio di posta elettronica in Storage Explorer.

  4. Facoltativamente, per testare il ramo False , che non esegue alcuna operazione in questo momento, è possibile inviare un messaggio di posta elettronica che non soddisfa i criteri.

Aggiungere quindi un ciclo For each per elaborare tutti gli allegati di posta elettronica.

Elaborare gli allegati

Per elaborare ogni allegato nel messaggio di posta elettronica, aggiungere un ciclo For each al flusso di lavoro.

  1. Tornare alla finestra di progettazione. Nell'azione Crea BLOB per il corpo della posta elettronica selezionare Aggiungi un'azione.

  2. Nella casella di ricerca Scegliere un'operazione selezionare Predefinita. Nella casella di ricerca immettere per ognuno e selezionare l'azione denominata Per ognuno.

    Screenshot che mostra l'azione selezionata denominata For each.

  3. Rinominare il ciclo con la descrizione seguente: Per ogni allegato di posta elettronica

  4. Selezionare ora i dati per il ciclo da elaborare. Nel ciclo For each email attachment (Per ogni allegato di posta elettronica) selezionare all'interno della casella Select an output from previous steps (Selezionare un output dei passaggi precedenti) in modo che venga visualizzato l'elenco di contenuto dinamico. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Allegati.

    Screenshot che mostra l'elenco di contenuto dinamico con il campo selezionato denominato Allegati.

    Il campo Allegati passa una matrice contenente tutti gli allegati inclusi in un messaggio di posta elettronica. Il ciclo For each ripete le azioni su ogni elemento passato con la matrice.

  5. Salvare il flusso di lavoro.

Aggiungere quindi l'azione che consente di salvare ogni allegato come BLOB nel contenitore di archiviazione attachments.

Creare un BLOB per ogni allegato

  1. Nella finestra di progettazione, nel ciclo For each email attachment (Per ogni allegato di posta elettronica) selezionare Aggiungi un'azione per specificare l'attività da eseguire su ogni allegato trovato.

    Screenshot che mostra il ciclo con l'opzione Aggiungi un'azione selezionata.

  2. Nella casella di ricerca di Scegliere un'operazione selezionare Tutte. Nella casella di ricerca immettere crea BLOB e selezionare l'azione denominata Crea BLOB.

    Screenshot che mostra l'azione selezionata denominata Crea BLOB.

  3. Rinominare l'azione Crea BLOB 2 con la descrizione seguente: Creare UN BLOB per ogni allegato di posta elettronica

  4. Nell'azione Crea BLOB per ogni allegato di posta elettronica specificare le informazioni seguenti:

    Proprietà valore Descrizione
    Archiviazione nome dell'account o dell'endpoint BLOB Usare le impostazioni di connessione (<storage-account-name>) Selezionare l'account di archiviazione, ovvero attachmentstorageacct per questo esempio.
    Percorso cartella <path-and-container-name> Percorso e nome del contenitore creato in precedenza. Per questo esempio, selezionare l'icona della cartella e quindi selezionare il contenitore allegati .
    Nome BLOB <attachment-name> Per questo esempio, come nome del BLOB usare il nome dell'allegato. Selezionare all'interno di questa casella in modo che venga visualizzato l'elenco di contenuto dinamico. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare il campo Nome.
    Contenuto BLOB <contenuto del messaggio di posta elettronica> Per questo esempio, usare il contenuto del messaggio di posta elettronica come contenuto del BLOB. Selezionare all'interno di questa casella in modo che venga visualizzato l'elenco di contenuto dinamico. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Contenuto.

    Screenshot che mostra informazioni sull'allegato nell'azione Crea BLOB.

    Al termine, l'azione sarà simile all'esempio seguente:

    Screenshot che mostra le informazioni sugli allegati di esempio per l'azione Crea BLOB completata.

  5. Salvare il flusso di lavoro.

Controllare la gestione degli allegati

  1. Sulla barra degli strumenti della finestra di progettazione selezionare Esegui esecuzione trigger>.

    Questo passaggio avvia ed esegue manualmente il flusso di lavoro, ma non verrà eseguita alcuna operazione fino all'arrivo del messaggio di posta elettronica di test nella posta in arrivo.

  2. Inviare un messaggio di posta elettronica che soddisfi i criteri seguenti:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per la proprietà Filtro oggetto del trigger: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha almeno due allegati. Per il momento, è sufficiente creare due file di testo vuoti e allegarli al messaggio di posta elettronica.

    Se il flusso di lavoro non è stato attivato o eseguito nonostante un trigger riuscito, vedere Risolvere i problemi relativi al flusso di lavoro dell'app per la logica.

  3. Verificare che il flusso di lavoro abbia salvato il messaggio di posta elettronica e gli allegati nel contenitore di archiviazione corretto.

    1. In Archiviazione Explorer espandere Emulator & Attached> Archiviazione Accounts attachmentstorageacct (Key)Blob Containers attachments (Key)>Blob Containers attachments (Allegati di emulatore e allegati Archiviazione Account.>>

    2. Controllare la presenza del messaggio di posta elettronica e degli allegati nel contenitore attachments.

      Screenshot che mostra Archiviazione Explorer e i messaggi di posta elettronica e gli allegati salvati.

    3. Al termine, eliminare il messaggio di posta elettronica e gli allegati in Storage Explorer.

Aggiungere quindi un'azione in modo che il flusso di lavoro invii un messaggio di posta elettronica per esaminare gli allegati.

Inviare notifiche di posta elettronica

  1. Tornare alla finestra di progettazione. Nel ramo True comprimere il ciclo For each email attachment .In the True branch, collapse the For each email attachment loop.

  2. Nel ciclo selezionare Aggiungi un'azione.

    Screenshot che mostra il ciclo compresso per ogni ciclo. Nel ciclo è selezionata l'opzione Aggiungi un'azione.

  3. Nella casella di ricerca Scegliere un'operazione selezionare Standard. Nella casella di ricerca immettere invia messaggio di posta elettronica.

  4. Nell'elenco delle azioni selezionare l'azione invia messaggio di posta elettronica per il provider di posta elettronica. Per filtrare l'elenco di azioni in base a un connettore specifico, è possibile selezionare prima il connettore.

    Questo esempio continua con il connettore Office 365 Outlook, che funziona solo con un account aziendale o dell'istituto di istruzione di Azure. Per gli account Microsoft personali, selezionare il connettore Outlook.com.

    Screenshot che mostra l'azione Di invio di posta elettronica di Office 365 Outlook selezionata.

  5. Se vengono richieste le credenziali, accedere all'account di posta elettronica in modo che App per la logica di Azure crei una connessione all'account di posta elettronica.

  6. Rinominare l'azione Invia un messaggio di posta elettronica con la descrizione seguente: Inviare un messaggio di posta elettronica per la revisione

  7. Specificare le informazioni sull'azione seguenti e selezionare i campi da includere nel messaggio di posta elettronica.

    • Per aggiungere righe vuote in una casella di modifica, premere MAIUSC+INVIO.
    • Se nell'elenco di contenuto dinamico non si trova un campo previsto, selezionare Vedi altro accanto a All'arrivo di un nuovo messaggio di posta elettronica.
    Proprietà valore Descrizione
    Per <indirizzo-posta-elettronica-destinatario> AI fini del test delle app è possibile indicare il proprio indirizzo di posta elettronica.
    Argomento ASAP - Review applicant for position:Argomento Oggetto del messaggio di posta elettronica da includere. 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.
    Testo Please review new applicant:

    Applicant name:Da

    Application file location:Percorso

    Application email content:Testo

    Contenuto del corpo del messaggio di posta elettronica. Fare clic all'interno di questa casella, immettere il testo di esempio e nell'elenco di contenuto dinamico selezionare questi campi:

    - Campo Da in Quando arriva
    un nuovo messaggio di posta elettronica- Il campo Percorso in Crea BLOB per il corpo del messaggio di posta elettronica- Il campo Corpo in Call RemoveHTMLFunction to clean email body
    (Chiama RemoveHTMLFunction) per pulire il corpo del messaggio di posta elettronica

    Screenshot che mostra il messaggio di posta elettronica di esempio da inviare.

    Nota

    Se si seleziona un campo che contiene una matrice, ad esempio il campo Contenuto , ovvero una matrice contenente allegati, la finestra di progettazione aggiunge automaticamente un ciclo For each intorno all'azione che fa riferimento a tale campo. In questo modo, il flusso di lavoro può eseguire tale azione su ogni elemento della matrice. Per rimuovere il ciclo, rimuovere il campo per la matrice, spostare l'azione di riferimento fuori dal ciclo, fare clic sui puntini di sospensione (... ) sulla barra del titolo del ciclo e quindi Elimina.

  8. Salvare il flusso di lavoro.

Testare ora il flusso di lavoro, che ora è simile all'esempio seguente:

Screenshot che mostra il flusso di lavoro completato.

Eseguire il flusso di lavoro

  1. Inviare a se stessi un messaggio di posta elettronica che soddisfi questi criteri:

    • L'oggetto del messaggio di posta elettronica contiene il testo specificato per la proprietà Filtro oggetto del trigger: Business Analyst 2 #423501

    • Il messaggio di posta elettronica ha uno o più allegati. È possibile riutilizzare un file di testo vuoto dal test precedente. Per uno scenario più realistico, allegare un file di un curriculum.

    • Il corpo del messaggio di posta elettronica contiene testo, che è possibile copiare e incollare:

      
      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 il flusso di lavoro. In caso di esito positivo, il flusso di lavoro invia un messaggio di posta elettronica simile all'esempio seguente:

    Screenshot che mostra l'esempio di posta elettronica inviata dal flusso di lavoro dell'app per la logica.

    Se non si riceve alcun messaggio di posta elettronica, controllare la cartella della posta indesiderata. Il filtro della posta indesiderata potrebbe reindirizzare questi tipi di messaggi di posta elettronica. In caso contrario, se non si è certi che il flusso di lavoro sia stato eseguito correttamente, vedere Risolvere i problemi del flusso di lavoro dell'app per la logica.

Ora è stato creato ed eseguito un flusso di lavoro che automatizza le attività in diversi servizi di Azure e chiama codice personalizzato.

Pulire le risorse

Quando questo esempio non è più necessario, eliminare il gruppo di risorse che contiene il flusso di lavoro dell'app per la logica e le risorse correlate.

  1. Nella casella di ricerca di primo livello del portale di Azure immettere i gruppi di risorse e selezionare Gruppi di risorse.

  2. Dall'elenco Gruppi di risorse selezionare il gruppo di risorse per questa esercitazione.

  3. Nella barra degli strumenti della pagina Panoramica del gruppo di risorse selezionare Elimina gruppo di risorse.

  4. Quando viene visualizzato il riquadro di conferma immettere il nome del gruppo di risorse e selezionare Elimina.

Passaggi successivi

In questa esercitazione è stato creato un flusso di lavoro dell'app per la logica che elabora e archivia gli allegati di posta elettronica integrando i servizi di Azure, ad esempio Archiviazione di Azure e Funzioni di Azure. Altre informazioni su altri connettori che è possibile usare per creare flussi di lavoro delle app per la logica.