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)

Questa esercitazione illustra come creare un flusso di lavoro di esempio che integra Funzioni di Azure e Archiviazione di Azure usando App per la logica di Azure. Questo esempio crea in modo specifico un flusso di lavoro dell'app per la logica a consumo che gestisce i messaggi di posta elettronica in arrivo e gli eventuali allegati, analizza il contenuto della posta elettronica usando Funzioni di Azure, salva il contenuto in Archiviazione di Azure e invia messaggi di posta elettronica per la revisione del contenuto.

Al termine, il flusso di lavoro è simile all'esempio generale seguente:

Screenshot che mostra l'esempio di flusso di lavoro di alto livello A consumo.

Suggerimento

Per altre informazioni, è possibile porre queste domande a Copilot di Azure:

  • Che cos'è App per la logica di Azure?
  • Che cos'è Funzioni di Azure?
  • Che cos'è Archiviazione di Azure?
  • Che cos'è un flusso di lavoro di app per la logica a consumo?

Per trovare Copilot di Azure, nella barra degli strumenti del portale di Azure selezionare Copilot.

È possibile creare un flusso di lavoro simile con una risorsa dell'app per la logica Standard in cui alcune operazioni del connettore, ad esempio Archiviazione BLOB di Azure, sono disponibili anche come operazioni predefinite basate su provider di servizi. Tuttavia, l'esperienza utente e i passaggi dell'esercitazione variano leggermente dalla versione a consumo.

Prerequisiti

Configurare l'archiviazione per salvare gli allegati

La procedura seguente configura Archiviazione di Azure in modo da poter archiviare i messaggi di posta elettronica e gli allegati in arrivo come BLOB.

  1. Nel portale di Azure accedere con le credenziali dell'account Azure.

  2. Seguire questa procedura per creare un account di archiviazione, a meno che non ne sia già disponibile uno.

    Nella scheda Nozioni di base specificare le informazioni seguenti:

    Proprietà Obbligatoria Valore Descrizione
    Sottoscrizione < Azure-subscription-name> Il nome della sottoscrizione di Azure.

    In questo esempio viene usato Con pagamento in base al consumo.
    Gruppo di risorse < Azure-resource-group> Nome del gruppo di risorse di Azure usato per organizzare e gestire le risorse correlate.

    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.

    In questo esempio viene usato LA-Tutorial-RG.
    Nome account di archiviazione < Azure-storage-account-name> Il nome dell'account di archiviazione univoco, che deve contenere da 3 a 24 caratteri e può contenere solo lettere minuscole e numeri.

    In questo esempio viene usato attachmentstorageacct.
    Area < Regione di Azure> Area dati di Azure per l'account di archiviazione.

    Questo esempio usa Stati Uniti occidentali.
    Servizio primario NO < Azure-storage-service> Tipo di archiviazione primario da usare nell'account di archiviazione. Vedere Le opzioni di revisione per l'archiviazione dei dati in Azure.
    Prestazioni - Standard
    - Premium
    Questa impostazione specifica i tipi di dati supportati e il supporto per l'archiviazione dei dati. Vedere panoramica dell'account di archiviazione.

    In questo esempio viene usato Standard.
    Ridondanza - Archiviazione con ridondanza locale
    - Archiviazione con ridondanza geografica
    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.

    Questo esempio usa l'archiviazione con ridondanza geografica.

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

  3. Al termine, selezionare Rivedi e crea. Dopo che Azure ha convalidato le informazioni sulla risorsa dell'account di archiviazione, selezionare Crea.

  4. Dopo che Azure ha distribuito l'account di archiviazione, selezionare Vai alla risorsa. In alternativa, trovare e selezionare l'account di archiviazione usando la casella di ricerca di Azure.

  5. Ottenere la chiave di accesso dell'account di archiviazione seguendo questa procedura:

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

    2. Copiare i valori di Nome account di archiviazione e key1. Salvare questi valori in un luogo sicuro da usare in un secondo momento.

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

  6. 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. Nel riquadro Nuovo contenitore, specificare le informazioni seguenti:

      Proprietà Valore Descrizione
      Nome Allegati Nome del contenitore.
      Livello di accesso anonimo Contenitore (accesso in lettura anonimo per contenitori e BLOB)
    4. Selezionare Crea.

    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

La procedura seguente consente di connettere Storage Explorer all'account di archiviazione per poter verificare che il flusso di lavoro salvi correttamente gli allegati come BLOB nel contenitore di archiviazione.

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

    Note

    Se non viene visualizzata alcuna richiesta, nella barra attività Storage Explorer selezionare Gestione account (icona del profilo).

  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. 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 a Archiviazione di Azure specificare le informazioni seguenti:

    Proprietà Valore
    Nome visualizzato Nome descrittivo per la connessione
    Nome account Nome dell'account di archiviazione
    Chiave dell'account Chiave di accesso salvata in precedenza
  9. Per il dominio di archiviazione, verificare che Azure (core.windows.net) sia selezionato e selezionare Avanti.

  10. Nella finestra Riepilogo, confermare le informazioni di connessione e selezionare Connetti.

    Storage Explorer crea la connessione. L'account di archiviazione viene visualizzato nella finestra Esplora risorse in Emulatore & Allegato>Account di archiviazione.

  11. Per trovare il contenitore di archiviazione BLOB, in Account di archiviazione espandere l'account di archiviazione, ovvero attachmentstorageacct per questo esempio. In Contenitori BLOB in cui si trova il contenitore degli allegati, ad esempio:

    Screenshot che mostra Storage Explorer - trovare il contenitore di archiviazione.

Creare quindi un'app per le funzioni di Azure e una funzione che rimuove HTML dal contenuto.

Creare un'app per le funzioni

La procedura seguente crea una funzione di Azure chiamata dal flusso di lavoro per rimuovere HTML dalla posta elettronica in arrivo.

  1. Prima di creare una funzione, creare un'app per le funzioni selezionando il piano a consumo e seguendo questa procedura:

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

      Proprietà Obbligatoria Valore Descrizione
      Sottoscrizione < Azure-subscription-name> La stessa sottoscrizione di Azure usata in precedenza per l'account di archiviazione.
      Gruppo di risorse < Azure-resource-group-name> Lo stesso gruppo di risorse di Azure usato in precedenza per l'account di archiviazione.

      Per questo esempio, selezionare LA-Tutorial-RG.
      Nome dell'app per le funzioni < function-app-name> Il nome dell'app per le funzioni, che deve essere univoco nelle aree di Azure e può contenere solo lettere (senza distinzione tra maiuscole e minuscole), numeri (0-9) e trattini (-).

      Questo esempio usa già CleanTextFunctionApp, quindi specificare un nome diverso, ad esempio MyCleanTextFunctionApp-<nome-utente>
      Stack di runtime < Linguaggio di programmazione> Runtime per il linguaggio di programmazione delle funzioni preferito. Per le funzioni C# e F # selezionare .NET.

      In questo esempio viene usato .NET.

      La modifica nel portale è disponibile solo per le lingue seguenti:

      - JavaScript
      - PowerShell
      - TypeScript
      - Script C#

      È necessario sviluppare localmente qualsiasi libreria di classi C#, Funzioni Java e Python.
      Versione < Numero di versione> Selezionare la versione del runtime installato.
      Area < Regione 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.
    2. Selezionare Avanti: Archiviazione. Nella scheda Archiviazione specificare le informazioni seguenti:

      Proprietà Obbligatoria Valore Descrizione
      Account di archiviazione < Azure-storage-account-name> Creare un account di archiviazione per l'app per le funzioni da usare. I nomi degli account di archiviazione devono avere una lunghezza compresa tra 3 e 24 caratteri e possono contenere solo numeri e lettere minuscole.

      Questo esempio usa cleantextfunctionstorageacct.

      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, seleziona Rivedi e crea. Dopo che Azure ha convalidato le informazioni fornite, selezionare Crea.

    4. Dopo che Azure ha distribuito la risorsa dell'app per le funzioni, selezionare Vai alla risorsa.

Creare una funzione per rimuovere HTML

La procedura seguente crea una funzione di Azure in C# che rimuove il codice HTML da ogni messaggio di posta elettronica in arrivo usando il frammento di codice di esempio. Questa funzione semplifica e semplifica l'elaborazione del contenuto della posta elettronica. È possibile chiamare questa funzione dal flusso di lavoro.

  1. Nel portale di Azure, aprire l'app per le funzioni, se non è già aperta.

  2. Per eseguire la funzione in un secondo momento nel portale di Azure, configurare l'app per le funzioni in modo che accetti in modo esplicito le richieste dal portale. Nel menu dell'app per le funzioni, in API selezionare CORS. In Origini consentite, immettere https://portal.azure.com e selezionare Salva.

  3. Nel menu dell'app per le funzioni selezionare Panoramica. Nella scheda Funzioni selezionare Crea.

    Note

    Se non viene visualizzato il pulsante Crea , è invece necessario creare la funzione in locale.

  4. Seguire questa procedura generica per creare la funzione in C# usando il modello di trigger HTTP e fornire le informazioni seguenti per la funzione:

    Parametro Valore
    Nome della funzione RemoveHTMLFunction
    Livello di autorizzazione Funzione
  5. Nella scheda Codice e test, immettere il codice di esempio C# seguente, che rimuove il codice HTML e restituisce i risultati al chiamante.

    #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, sulla barra degli strumenti Codice e test, selezionare Salvae quindi Test/Esecuzione.

  7. Nel riquadro Test/Esecuzione, nella scheda Input, nella casella Corpo, immettere l'input di esempio seguente e selezionare Esegui:

    {"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 una risorsa dell'app per la logica A consumo

  1. Nella casella di ricerca del portale di Azure, immettere app per la logica e selezionare App per la logica.

  2. Nella barra degli strumenti della pagina App per la logica, selezionare Aggiungi.

    Viene visualizzata la pagina Crea app per la logica e vengono visualizzate le opzioni seguenti:

    Piano Descrizione
    A consumo Crea una risorsa dell'app per la logica che supporta un solo flusso di lavoro eseguito in App per la logica di Azure multi-tenant e usa il modello a consumo per la fatturazione.
    Standard Crea una risorsa dell'app per la logica che supporta più flussi di lavoro. L'utente ha a disposizione le seguenti opzioni:

    - Piano di servizio di flusso di lavoro: i flussi di lavoro vengono eseguiti in App per la logica di Azure a tenant singolo e usano il modello di fatturazione Standard.

    - Ambiente del servizio app V3: i flussi di lavoro vengono eseguiti in App per la logica di Azure a tenant singolo e usano un piano dell’ambiente del servizio app per la fatturazione.

    - Ibrido: i flussi di lavoro vengono eseguiti in locale e in più cloud usando la scalabilità automatica basata su eventi (KEDA) di Kubernetes. Per altre informazioni, vedere Creare flussi di lavoro Standard per la distribuzione ibrida.
  3. Nella pagina Crea app per la logica, selezionare Consumo (multi-tenant).

  4. Nella scheda Informazioni di base specificare le informazioni seguenti sulla risorsa dell'app per la logica:

    Parametro Obbligatoria Valore Descrizione
    Sottoscrizione < 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 < logic-app-name> Il nome della risorsa dell'app per la logica, che deve essere univoco tra aree e può contenere solo lettere, numeri, trattini (-), trattino basso (_), parentesi (()) e punti (.).

    In questo esempio viene creata una risorsa dell'app per la logica denominata LA-ProcessAttachment. 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 Log Analytics No Modificare questa opzione solo quando si vuole abilitare la registrazione diagnostica. Per questa esercitazione non modificare la selezione predefinita.

    Nota: questa opzione è disponibile solo con le app per la logica a consumo.

    Note

    Le zone di disponibilità vengono abilitate automaticamente per i flussi di lavoro delle app per la logica a consumo nuove ed esistenti nelle aree di Azure che supportano le zone di disponibilità. Per altre informazioni, vedere Affidabilità in Funzioni di Azure e Proteggere le app per la logica da errori di regione con ridondanza della zona e zone di disponibilità.

  5. Al termine, selezionare Rivedi e crea. Dopo la convalida delle informazioni sulla risorsa dell'app per la logica in Azure, selezionare Crea.

  6. Dopo che Azure ha distribuito la risorsa dell'app per la logica, selezionare Vai alla risorsa. In alternativa, trovare e selezionare la risorsa dell'app per la logica usando la casella di ricerca di Azure.

Aggiungere un trigger per monitorare la posta elettronica in arrivo

La procedura seguente aggiunge un trigger che attende i messaggi di posta elettronica in arrivo con allegati.

  1. Nel menu dell'app per la logica, in Strumenti di sviluppo, selezionare Progettazione app per la logica.

  2. Nella finestra di progettazione del flusso di lavoro, seguire questa procedura generale per aggiungere il trigger di Office 365 Outlook denominato All'arrivo di un nuovo messaggio di posta elettronica.

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

  3. Accedere all'account di posta elettronica, che crea una connessione tra il flusso di lavoro e l'account di posta elettronica.

  4. Nella casella delle informazioni sul trigger, nell'elenco Parametri avanzati, aggiungere i parametri seguenti, se non vengono visualizzati, e fornire le informazioni seguenti:

    Parametro Valore Descrizione
    Priorità Qualunque 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.
    Filtro oggetto Analista aziendale 2 #423501 Specifica il testo da trovare nell'oggetto del messaggio di posta elettronica.

    Al termine, il trigger sarà simile all'esempio seguente:

    Screenshot che mostra il flusso di lavoro a consumo e il trigger di Outlook di Office 365.

  5. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione selezionare Salva.

    Il flusso di lavoro è ora attivo, ma non esegue altre operazioni di controllo dei messaggi di posta elettronica. Aggiungere quindi una condizione che specifica i criteri per proseguire con le azioni successive del flusso di lavoro.

Aggiungere una condizione per verificare la presenza di allegati

La procedura seguente aggiunge una condizione che seleziona solo i messaggi di posta elettronica con allegati.

  1. Nella finestra di progettazione del flusso di lavoro, seguire questi passaggi generali per aggiungere l'azione di Controllo denominata Condizione.

  2. Nel riquadro informazioni sull'azione Condizione rinominare l'azione con Se il messaggio di posta elettronica contiene allegati e la frase dell'oggetto chiave.

  3. Creare una condizione che controlla la presenza di messaggi di posta elettronica con allegati.

    1. Nella scheda Parametri, nella prima riga sotto l'elenco AND, selezionare all'interno della casella a sinistra e quindi selezionare l'elenco di contenuto dinamico (icona a fulmini). In questo elenco, nella sezione trigger, selezionare l'output Con allegato.

      Suggerimento

      Se l'output Con allegato non è visualizzato, selezionare Visualizza altro.

      Screenshot che mostra l'azione della condizione, la seconda riga con cursore nella casella all'estrema sinistra, l'elenco di contenuto dinamico aperto e l'opzione Con allegato selezionata.

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

    3. Nella casella di destra immettere true, ovvero il valore da confrontare con il valore di output Con allegato del 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 la Visualizzazione codice sulla barra degli strumenti della 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"
    }
    
  4. Salvare il flusso di lavoro.

Testare la condizione

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

    Questo passaggio avvia ed esegue manualmente il flusso di lavoro, ma non accade nulla finché non si invia un messaggio di posta elettronica di prova alla 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 nel filtro oggetto del trigger: Analista aziendale 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 flussi di lavoro eseguiti correttamente, selezionare Cronologia esecuzioni.

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

    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.

Note

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

La procedura seguente aggiunge la funzione di Azure creata in precedenza, che accetta il contenuto del corpo del messaggio di posta elettronica dal trigger di posta elettronica come input.

  1. Nel menu dell'app per la logica, in Strumenti di sviluppo, selezionare Progettazione app per la logica. Nel ramo True selezionare Aggiungi un'azione.

  2. Seguire questa procedura generale per aggiungere l'azione Funzioni di Azure denominata Scegliere una funzione di Azure.

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

  4. Selezionare la funzione, denominata RemoveHTMLFunction in questo esempio, quindi selezionare Aggiungi azione.

  5. Nel riquadro delle informazioni sull'azione Funzioni di Azure rinominare l'azione con Call RemoveHTMLFunction.

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

    1. Per 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.

    2. Selezionare all'interno della casella Corpo della richiesta, quindi selezionare l'elenco di contenuto dinamico (icona a fulmini) in modo da poter selezionare gli output delle azioni precedenti.

    3. Nell'elenco di contenuto dinamico, in Quando arriva un nuovo messaggio di posta elettronica, selezionare l'output del Corpo. Dopo la risoluzione di questo valore nella casella Corpo richiesta, ricordarsi di aggiungere la parentesi graffa di chiusura (}).

      Screenshot che mostra la casella delle informazioni sulle funzioni di Azure con l'elenco di contenuto dinamico e il corpo selezionati.

    Al termine, la funzione di Azure sarà simile all'esempio seguente:

    Screenshot che mostra la funzione di Azure completata con il contenuto del corpo della richiesta da passare alla funzione.

  7. Salvare il flusso di lavoro.

Aggiungere quindi un'azione che crea un BLOB per archiviare il corpo del messaggio di posta elettronica.

Aggiungere un'azione per creare un BLOB per il corpo della posta elettronica

La procedura seguente consente di creare un BLOB che archivia il corpo della posta elettronica nel contenitore di archiviazione.

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

  2. Seguire questi passaggi generali per aggiungere l'azione di Archiviazione BLOB di Azure denominata Crea BLOB.

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

    Parametro Obbligatoria Valore Descrizione
    Connection Name (Nome connessione) < nome connessione> Nome descrittivo per la connessione.

    Questo esempio usa AttachmentStorageConnection.
    Tipo di autenticazione < Tipo di autenticazione> Tipo di autenticazione da usare per la connessione.

    In questo esempio viene usata la chiave di accesso.
    Nome dell'account di archiviazione di Azure o endpoint BLOB < nome dell'account di archiviazione> Nome dell'account di archiviazione creato in precedenza.

    In questo esempio viene usato attachmentstorageacct.
    Chiave di accesso dell'account di archiviazione di Azure < chiave-di-accesso-account-di-archiviazione> Chiave di accesso per l'account di archiviazione creato in precedenza.
  4. Al termine, selezionare Crea nuovo.

  5. Nel riquadro Informazioni sull'azione Crea BLOB rinominare l'azione con Crea BLOB per il corpo della posta elettronica.

  6. Specificare le informazioni sull'azione seguenti:

    Suggerimento

    Se non è possibile trovare un output specificato nell'elenco di contenuto dinamico, selezionare Visualizza altro accanto al nome dell'operazione.

    Parametro Obbligatoria Valore Descrizione
    Nome dell'account di archiviazione o dell'endpoint BLOB Usare le impostazioni di connessione (<storage-account-name-or-blob-endpoint>) Selezionare l'opzione che include il nome dell'account di archiviazione.

    In questo esempio viene utilizzato https://attachmentstorageacct.blob.core.windows.net.
    Percorso cartella < nome-contenitore-e-percorso> Percorso e nome del contenitore creato in precedenza.

    Per questo esempio, selezionare l'icona della cartella e quindi selezionare allegati.
    Nome BLOB < nome-mittente> Per questo esempio, usare il nome del mittente come nome del BLOB.

    1. Selezionare all'interno della casella Nome BLOB, quindi selezionare l'opzione elenco contenuto dinamico (icona a icona).

    2. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Da.
    Contenuto BLOB < cleaned-email-body> Per questo esempio, come contenuto del BLOB usare il corpo del messaggio di posta elettronica senza codice HTML.

    1. Selezionare all'interno della casella contenuto BLOB, quindi selezionare l'opzione elenco contenuto dinamico (icona a icona).

    2. Nella sezione Call RemoveHTMLFunction, selezionare Corpo.

    Lo screenshot seguente mostra gli output da selezionare per l'azione Crea BLOB per il corpo della posta elettronica:

    Screenshot che mostra il contenitore di archiviazione, il mittente e il corpo della posta elettronica senza HTML nell'azione Crea BLOB.

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

    Screenshot che mostra informazioni sul corpo del messaggio di posta elettronica di esempio per l'azione Crea BLOB completata.

  7. Salvare il flusso di lavoro.

Testare la gestione degli allegati

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

    Questo passaggio avvia ed esegue manualmente il flusso di lavoro, ma non accade nulla finché non si invia un messaggio di posta elettronica di prova alla 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 nel parametro Filtro oggetto del trigger: Analista aziendale 2 #423501

    • Il messaggio di posta elettronica ha uno o più allegati. Per il momento, è sufficiente creare un file di testo vuoto e allegarlo al messaggio di posta elettronica.

    • Il messaggio di posta elettronica contiene alcuni contenuti di test nel corpo, ad esempio: Test del flusso di lavoro dell'app per la logica

    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 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 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 ogni allegato di posta elettronica.

Aggiungere un ciclo per elaborare gli allegati

La procedura seguente aggiunge un ciclo per elaborare ogni allegato nel messaggio di posta elettronica.

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

  2. Seguire questi passaggi generali per aggiungere l'azione di Controllo denominata Per ogni.

  3. Nel riquadro Informazioni azione Per ogni, rinominare l'azione con Per ogni allegato di posta elettronica.

  4. Selezionare ora il contenuto del ciclo da elaborare.

    1. Nel ciclo Per ogni allegato di posta elettronica, selezionare all'interno della casella Seleziona un output dai passaggi precedenti e quindi selezionare l'opzione elenco contenuto dinamico (icona a icona).

    2. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Allegati.

      L'output degli Allegati include una matrice con tutti gli allegati di un messaggio di posta elettronica. Il ciclo Per ogni ripete le azioni su ogni elemento della matrice.

      Suggerimento

      Se gli allegati non sono visualizzati, selezionare Visualizza altro .

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

  5. Salvare il flusso di lavoro.

Aggiungere quindi un'azione che salva ogni allegato come BLOB nel contenitore di archiviazione degli allegati.

Aggiungere un'azione per creare un BLOB per allegato

La procedura seguente aggiunge un'azione per creare un BLOB per ogni allegato.

  1. Nella finestra di progettazione, nel ciclo Per ogni allegato di posta elettronica, selezionare Aggiungi un'azione.

  2. Seguire questi passaggi generali per aggiungere l'azione di Archiviazione BLOB di Azure denominata Crea BLOB.

  3. Nel riquadro Informazioni sull'azione Crea BLOB rinominare l'azione con Crea BLOB per l'allegato di posta elettronica.

  4. Specificare le informazioni sull'azione seguenti:

    Suggerimento

    Se non è possibile trovare un output specificato nell'elenco di contenuto dinamico, selezionare Visualizza altro accanto al nome dell'operazione.

    Parametro Obbligatoria Valore Descrizione
    Nome dell'account di archiviazione o dell'endpoint BLOB Usare le impostazioni di connessione (<storage-account-name-or-blob-endpoint>) Selezionare l'opzione che include il nome dell'account di archiviazione.

    In questo esempio viene utilizzato https://attachmentstorageacct.blob.core.windows.net.
    Percorso cartella < nome-contenitore-e-percorso> Percorso e nome del contenitore creato in precedenza.

    Per questo esempio, selezionare l'icona della cartella e quindi selezionare allegati.
    Nome BLOB < attachment-name> Per questo esempio, usare il nome dell'allegato come nome del BLOB.

    1. Selezionare all'interno della casella Nome BLOB, quindi selezionare l'opzione elenco contenuto dinamico (icona a icona).

    2. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Nome.
    Contenuto BLOB < email-content> Per questo esempio, come contenuto del BLOB usare il contenuto dell’e-mail.

    1. Selezionare all'interno della casella contenuto BLOB, quindi selezionare l'opzione elenco contenuto dinamico (icona a icona).

    2. Nella sezione All'arrivo di un nuovo messaggio di posta elettronica selezionare Contenuto.

    Note

    Se si seleziona un output con una matrice, ad esempio l'output contenuto , che è una matrice che include allegati, la finestra di progettazione aggiunge automaticamente un ciclo Per ogni intorno all'azione che fa riferimento a tale output. In questo modo, il flusso di lavoro può eseguire l'azione su ogni elemento della matrice. Per rimuovere il ciclo, spostare l'azione che fa riferimento all'output all'esterno del ciclo ed eliminare il ciclo.

    Lo screenshot seguente mostra gli output da selezionare per l'azione Crea BLOB per allegato di posta elettronica:

    Screenshot che mostra le informazioni sul contenitore di archiviazione e sugli allegati nell'azione Crea BLOB.

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

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

  5. Salvare il flusso di lavoro.

Gestione degli allegati di nuovo livello

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

    Questo passaggio avvia ed esegue manualmente il flusso di lavoro, ma non accade nulla finché non si invia un messaggio di posta elettronica di prova alla 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 nel parametro Filtro oggetto del trigger: Analista aziendale 2 #423501

    • Il messaggio di posta elettronica contiene due o più 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 nel flusso di lavoro che invia un messaggio di posta elettronica per esaminare gli allegati.

Aggiungere un'azione per inviare un messaggio di posta elettronica

La procedura seguente aggiunge un'azione in modo che il flusso di lavoro invii un messaggio di posta elettronica per esaminare gli allegati.

  1. Tornare alla finestra di progettazione del flusso di lavoro. Nel ramo True, nel ciclo Per ogni allegato di posta elettronica, selezionare Aggiungi un'azione.

  2. Seguire questa procedura generale per aggiungere l'azione di Office 365 Outlook denominata Invia un messaggio di posta elettronica.

    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.

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

  4. Nel riquadro delle informazioni sull'azione Invia un messaggio di posta elettronica, rinominare l'azione con Invia messaggio di posta elettronica per la revisione.

  5. Specificare le informazioni sull'azione seguenti e selezionare gli output da includere nel messaggio di posta elettronica:

    Suggerimento

    Se non è possibile trovare un output specificato nell'elenco di contenuto dinamico, selezionare Visualizza altro accanto al nome dell'operazione.

    Parametro Obbligatoria Valore Descrizione
    To < indirizzo-posta-elettronica-destinatario> Ai fini del test è possibile usare l'indirizzo di posta elettronica personale.
    Oggetto < Oggetto del messaggio di posta elettronica> Oggetto del messaggio di posta elettronica da includere.

    In questo esempio vengono usati ASAP - Valutare candidato per la posizione:e l'output Oggetto del trigger.

    1. Nella casella Oggetto, immettere il testo di esempio con uno spazio finale.

    2. Selezionare all'interno della casella Oggetto, quindi selezionare l'opzione contenuto dinamico (icona a forma di fulmine).

    3. Nell'elenco, in Quando arriva un nuovo messaggio di posta elettronica, seleziona Oggetto.
    Corpo < Corpo del messaggio di posta elettronica> Corpo del messaggio di posta elettronica da includere.

    L'esempio usa Valutare il candidato:, l'output del trigger denominato Da, l'output Percorso dell'azione Crea BLOB per il corpo del messaggio di posta elettronica e l'output Corpo dell'azione Call RemoveHTMLFunction.

    1. Nella casella Corpo, immettere il testo di esempio, esaminare il nuovo richiedente:.

    2. In una nuova riga immettere il testo di esempio, Nome candidato: e aggiungere l'output Da dal trigger.

    3. In una nuova riga immettere il testo di esempio, percorso del file della candidatura e aggiungere l'output del Percorso dall'azione Crea BLOB per il corpo del messaggio di posta elettronica.

    4. In una nuova riga immettere il testo di esempio, contenuto del messaggio di posta elettronica della candidatura e aggiungere l'output Corpo dall'azione Call RemoveHTMLFunction.

    Note

    Se si seleziona un output con una matrice, ad esempio l'output contenuto , che è una matrice che include allegati, la finestra di progettazione aggiunge automaticamente un ciclo Per ogni intorno all'azione che fa riferimento a tale output. In questo modo, il flusso di lavoro può eseguire l'azione su ogni elemento della matrice. Per rimuovere il ciclo, spostare l'azione che fa riferimento all'output all'esterno del ciclo ed eliminare il ciclo.

    Lo screenshot seguente mostra l'azione Invia un messaggio di posta elettronica completata:

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

  6. Salvare il flusso di lavoro.

Il flusso di lavoro completato è ora simile all'esempio seguente:

Screenshot che mostra il flusso di lavoro completato.

Testare 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 nel parametro Filtro oggetto del trigger: Analista aziendale 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 messaggio di posta elettronica di esempio 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. 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.

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

Pulire le risorse

Il flusso di lavoro continua a essere eseguito fino a quando non si disabilita o si elimina la risorsa dell'app per la logica. Quando questo esempio non è più necessario, eliminare il gruppo di risorse contenente l'app per la logica e le risorse correlate.

  1. Nella casella di ricerca 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. Nel menu del gruppo di risorse selezionare Panoramica.

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

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