Condividi tramite


Esercitazione: Creare flussi di lavoro per l’elaborazione di messaggi di posta elettronica con App per la logica di Azure, Funzioni di Azure e Archiviazione di Azure

Si applica a: App per la logica di Azure (A 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 di app per la logica che gestisce i messaggi di posta elettronica in arrivo e tutti gli allegati, analizza il contenuto delle e-mail 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 vuoto di app per la logica a consumo.
  • 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 del flusso di lavoro a consumo a livello 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. Nel 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 riportate nella scheda Dati principali:

    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. In questo esempio viene usato 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. In questo esempio viene usato 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, in Archiviazione dati selezionare Contenitori.

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

    3. In Nuovo contenitore immettere attachments 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 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

A questo punto, connettere Storage Explorer all'account di archiviazione per 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 Storage Explorer selezionare Gestione account (icona account).

  2. Nella finestra Seleziona l'ambiente di Azure selezionare l'ambiente di Azure, quindi selezionare Avanti.

    Questo esempio prosegue selezionando Azure globale e multi-tenant.

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

  4. Tornare a Storage 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 Storage Explorer selezionare Apri finestra di dialogo Connetti.

  6. Nella finestra Seleziona risorsa selezionare Account di archiviazione o servizio.

  7. Nella finestra Seleziona metodo di connessione selezionare Nome account e chiave>Avanti.

  8. Nella finestra Connetti ad 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 verificare le informazioni di connessione e quindi selezionare Connetti.

    Storage Explorer crea la connessione e mostra l'account di archiviazione nella finestra Explorer in Emulatore e collegato>Account di 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 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.

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> Il 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-<nome-utente>
      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#. La libreria di classi C# e le funzioni Java e Python devono essere sviluppate localmente. Per le funzioni C# e F # selezionare .NET.
      Versione <numero-versione> Selezionare la versione del runtime installato.
      Area <Area di Azure> La stessa area usata in precedenza. Questo esempio usa Stati Uniti occidentali.
      Sistema operativo <proprio-sistema-operativo> È pre-selezionato un sistema operativo 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 come vengono allocate le 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. I nomi degli account di archiviazione devono avere una lunghezza compresa tra 3 e 24 caratteri e possono contenere solo numeri e lettere minuscole.

      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. È anche possibile usare un account esistente, che deve soddisfare i requisiti dell'account di archiviazione.
    3. Al termine, selezionare Rivedi e crea. Verificare le informazioni e selezionare Crea.

    4. Una volta che Azure ha creato e distribuito la risorsa dell'app per le funzioni, selezionare Vai alla risorsa.

  2. Ora creare la funzione in locale poiché la creazione delle 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 il codice HTML dai messaggi di posta elettronica, App per la logica di Azure offre anche un connettore per la conversione di HTML in testo.

Creare il flusso di lavoro dell'app per la logica

  1. Nella casella di ricerca di primo livello del portale di Azure immettere 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 A 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, 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. Verificare 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 flussi di lavoro.

Aggiungere un trigger che controlli la posta elettronica in arrivo

Ora, aggiungere un trigger che controlli i 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, quando 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.

In questo esempio viene usato il connettore Outlook di Office 365, 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 l’apertura del 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, in modo da creare una connessione tra il flusso di lavoro e l'account di posta elettronica.

  4. Ora specificare i criteri del trigger per il controllo del nuovo messaggio di posta elettronica e l’esecuzione del flusso di lavoro.

    Proprietà valore Descrizione
    Priorità Any Specifica il livello di importanza desiderato del messaggio di posta elettronica.
    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 in arrivo Cartella di posta elettronica da controllare
  5. Nell'elenco Parametri avanzati selezionare Filtro oggetto.

  6. Quando viene visualizzata la casella Filtro oggetto specificare l'oggetto come descritto qui:

    Proprietà valore Descrizione
    Filtro oggetto Analista aziendale 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 alcuna operazione oltre a controllare i messaggi di posta elettronica. Aggiungere quindi una condizione che specifica i criteri per proseguire con le azioni successive del 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ù (+), quindi selezionare Aggiungi un'azione.

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

  3. Nell'elenco dei risultati delle azioni, scegliere l'azione Condizione.

  4. Rinominare la condizione usando una descrizione migliore.

    1. Nel riquadro informazioni della 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 dell’elenco operazioni 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à Contiene allegati 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à Contiene allegati 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. Nella barra degli strumenti della finestra di progettazione, selezionare Esegui trigger>Esegui.

    Questo passaggio avvia manualmente ed esegue 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 a se stessi un messaggio di posta elettronica che soddisfi i seguenti criteri:

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

    Quando si riceve il messaggio di posta elettronica, il flusso di lavoro controlla la presenza di allegati e del testo dell'oggetto specificato. Se la condizione viene superata, il trigger viene attivato e fa sì che App per la logica di Azure crei ed esegua un'istanza del flusso di lavoro.

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

    • 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 attivo, 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 aggiuntivo dopo aver completato questa esercitazione, è possibile aggiungere un'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 Scegli un'operazione selezionare Predefinito. Nella casella di ricerca inserire funzioni di azure e selezionare l'azione denominata Scegli una funzione di Azure.

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

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

  4. Ora selezionare 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. Ricordarsi di aggiungere la parentesi graffa di chiusura dopo questa proprietà (}).

      Specificare il corpo della richiesta da passare alla funzione

    Al termine, l'input per la funzione si presenterà come nell’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 selezionata.

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

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

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

    Proprietà valore Descrizione
    Nome dell'account di archiviazione o dell'endpoint BLOB Usare le impostazioni di connessione (<nome-account-archiviazione>) Selezionare l'account di archiviazione, ovvero attachmentstorageacct per questo esempio.
    Percorso cartella <nome-contenitore-e-percorso> Percorso e nome del contenitore creato in precedenza. Per questo esempio, selezionare l'icona della cartella, quindi selezionare il contenitore attachments.
    Nome BLOB <nome-mittente> Per questo esempio, come nome del BLOB usare il nome del mittente. Fare clic all'interno della casella per visualizzare l'elenco di contenuti dinamici. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare il campo Da.
    Contenuto BLOB <contenuto-per-blob> Per questo esempio, come contenuto del BLOB usare il corpo del messaggio di posta elettronica senza codice HTML. Fare clic all'interno della casella per visualizzare l'elenco di contenuti dinamici. Nella sezione Chiama RemoveHTMLFunction per pulire il corpo del messaggio di posta elettronica selezionare Corpo.

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

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

    Al termine, l'azione si presenterà come nell’esempio seguente:

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

  6. Salvare il flusso di lavoro.

Controllare la gestione degli allegati

  1. Nella barra degli strumenti della finestra di progettazione, selezionare Esegui trigger>Esegui.

    Questo passaggio avvia manualmente ed esegue 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 a se stessi un messaggio di posta elettronica che soddisfi i seguenti criteri:

    • 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 l'esito positivo di un trigger, vedere Risolvere i problemi di u 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 Storage Explorer espandere Emulatore e collegato>Account di archiviazione>attachmentstorageacct (Chiave)>Contenitori BLOB>attachments.

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

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

      Screenshot che mostra Storage Explorer solo con 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 in questo caso non esegue alcuna azione, è possibile inviare un messaggio di posta elettronica che non soddisfa i criteri.

Aggiungere quindi un ciclo Per ogni per elaborare tutti gli allegati di posta elettronica.

Elaborare gli allegati

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

  1. Tornare alla finestra di progettazione. Sotto l’azione Crea BLOB per il corpo del messaggio di posta elettronica selezionare Aggiungi un'azione.

  2. Nella casella di ricerca Scegli un'operazione selezionare Predefinito. Nella casella di ricerca immettere per ogni e selezionare l'azione Per ogni.

    Screenshot che mostra l'azione selezionata denominata Per ogni.

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

  4. Selezionare ora i dati che il ciclo deve elaborare. Nel ciclo Per ogni allegato di posta elettronica selezionare all'interno della casella Seleziona un output da passaggi precedenti in modo che venga visualizzato l'elenco dei contenuti dinamici. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Allegati.

    Screenshot che mostra l'elenco dei contenuti dinamici con il campo denominato Allegati selezionato.

    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 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: Crea 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
    Nome dell'account di archiviazione o dell'endpoint BLOB Usare le impostazioni di connessione (<nome-account-archiviazione>) Selezionare l'account di archiviazione, ovvero attachmentstorageacct per questo esempio.
    Percorso cartella <nome-contenitore-e-percorso> Percorso e nome del contenitore creato in precedenza. Per questo esempio, selezionare l'icona della cartella, quindi selezionare il contenitore attachments.
    Nome BLOB <nome-allegato> Per questo esempio, come nome del BLOB usare il nome dell'allegato. Fare clic all'interno della casella per visualizzare l'elenco di contenuti dinamici. 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, come contenuto del BLOB usare il contenuto dell’e-mail. Fare clic all'interno della casella per visualizzare l'elenco di contenuti dinamici. 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 si presenterà come nell’esempio seguente:

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

  5. Salvare il flusso di lavoro.

Controllare la gestione degli allegati

  1. Nella barra degli strumenti della finestra di progettazione, selezionare Esegui trigger>Esegui.

    Questo passaggio avvia manualmente ed esegue 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 a se stessi un messaggio di posta elettronica che soddisfi i seguenti 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 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 l'esito positivo di un trigger, vedere Risolvere i problemi di u 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 Storage Explorer espandere Emulatore e collegato>Account di archiviazione>attachmentstorageacct (Chiave)>Contenitori BLOB>attachments.

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

      Screenshot che mostra Storage 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 l'esame degli allegati.

Inviare notifiche di posta elettronica

  1. Tornare alla finestra di progettazione. Nel ramo True comprimere il ciclo Per ogni allegato di posta elettronica.

  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 di Scegli un'operazione selezionare Standard. Nella casella di ricerca immettere invia un messaggio di posta elettronica.

  4. Nell'elenco di azioni selezionare l’azione Invia un 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 prosegue 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 Invia un messaggio di posta elettronica Outlook di Office 365 selezionata.

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

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

  7. Specificare le seguenti informazioni sull'azione 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: Oggetto 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: Corpo

    Contenuto del corpo del messaggio di posta elettronica. Fare clic all'interno della casella, immettere il testo dell'esempio e quindi selezionare i campi seguenti nell'elenco di contenuto dinamico:

    - Campo Da in Quando arriva un nuovo messaggio di posta elettronica
    - Campo Percorso in Crea BLOB per il corpo del messaggio di posta elettronica
    - Campo Corpo in 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 contenente una matrice, ad esempio il campo Contenuto che è una matrice contenente allegati, la finestra di progettazione aggiunge automaticamente un ciclo Per ogni intorno all'azione che fa riferimento a tale campo. In questo modo, il flusso di lavoro può eseguire l'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 è 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 un esempio del messaggio di posta elettronica inviato 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.

È stata 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 contenente 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 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 per l'elaborazione e l'archiviazione degli allegati di posta elettronica integrando servizi di Azure, come Archiviazione di Azure e Funzioni di Azure. Leggere ora altre informazioni sui connettori che è possibile usare per creare flussi di lavoro dell’app per la logica.