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. In questo esempio viene creato in modo specifico un flusso di lavoro dell'app per la logica a consumo che gestisce i messaggi di posta elettronica 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 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 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 sul provider di servizi. Tuttavia, i passaggi dell'esperienza utente e dell'esercitazione variano leggermente rispetto alla versione a consumo.

Prerequisiti

Configurare l'archiviazione per salvare gli allegati

La procedura seguente consente di configurare l'archiviazione di Azure in modo che sia possibile 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à Richiesto Valore Descrizione
    Abbonamento <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 univoco dell'account di archiviazione, che deve avere 3-24 caratteri e può contenere solo lettere minuscole e numeri.

    In questo esempio viene usato attachmentstorageacct.
    Area <Area 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 Esaminare le opzioni 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 (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.

    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. Quando si è pronti, selezionare Rivedi e crea. Dopo che Azure convalida le informazioni sulla risorsa dell'account di archiviazione, selezionare Crea.

  4. Dopo che Azure distribuisce 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 il nome dell'account di archiviazione e key1. Salvare questi valori in un punto 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 Account di archiviazione selezionare Contenitori in Archiviazione dati.

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

    3. Nel riquadro Nuovo contenitore specificare le informazioni seguenti:

      Proprietà valore Descrizione
      Nome attachments Nome del contenitore.
      Livello di accesso anonimo Contenitore (accesso in lettura anonimo per contenitori e BLOB)
    4. Seleziona 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

I passaggi seguenti connettono Storage Explorer all'account di archiviazione in modo da 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.

    Nota

    Se non viene visualizzata alcuna richiesta, nella barra delle attività di 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 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
    Account name Nome dell'account di archiviazione
    Chiave dell'account Chiave di accesso salvata in precedenza
  9. Per Dominio di archiviazione verificare che Sia selezionato Azure (core.windows.net) 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 e account di archiviazione collegati>.

  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 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 il codice HTML dal contenuto.

Creare un'app per le funzioni

La procedura seguente consente di creare una funzione di Azure che chiama il flusso di lavoro per rimuovere il codice HTML dal messaggio di 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à Richiesto Valore Descrizione
      Abbonamento <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 tra 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#, Java e funzioni Python.
      Versione <numero di 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.
    2. Selezionare Avanti: Archiviazione. Nella scheda Archiviazione specificare le informazioni seguenti:

      Proprietà Richiesto Valore Descrizione
      Account di archiviazione <Azure-storage-account-name> Creare un account di archiviazione da usare per l'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.

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

    4. Dopo aver 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 che rimuove html da ogni messaggio di posta elettronica in arrivo usando il frammento di codice di esempio. Questa funzione rende il contenuto della posta elettronica più pulito e più semplice da elaborare. È possibile chiamare questa funzione dal flusso di lavoro.

Per altre informazioni, vedere Creare la prima funzione nel portale di Azure. Per la creazione di funzioni espanse, è anche possibile creare la funzione in locale.

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

  2. Per eseguire la funzione più avanti nella portale di Azure, configurare l'app per le funzioni per accettare 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.come selezionare Salva.

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

  4. Nel riquadro Crea funzione selezionare Trigger HTTP: C#>Next.

    Nota

    Se non viene visualizzata la versione C#, assicurarsi di

  5. Specificare le informazioni seguenti per la funzione e selezionare Crea:

    Parametro Valore
    Nome funzione RemoveHTMLFunction
    Livello di autorizzazione Funzione
  6. Nella scheda Codice e test immettere il codice di esempio 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});
    }
    
  7. Al termine, sulla barra degli strumenti Codice e test selezionare Salva e quindi selezionare Test/Esegui.

  8. 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
    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 Standard per la fatturazione.

    - 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 di ambiente del servizio app per la fatturazione.

    - Ibrido (anteprima): i flussi di lavoro vengono eseguiti in locale e in più cloud usando la scalabilità automatica guidata dagli eventi di Kubernetes (KEDA). 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 Obbligatorio Valore Descrizione
    Abbonamento <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 (.).

    Questo esempio crea 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 l'analisi dei log 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.

    Nota

    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. Quando si è pronti, selezionare Rivedi e crea. Dopo la convalida delle informazioni sulla risorsa dell'app per la logica in Azure, selezionare Crea.

  6. Dopo che Azure distribuisce 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 Microsoft aziendale o dell'istituto di istruzione. 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 informazioni sul trigger, dall'elenco Parametri avanzati aggiungere i parametri seguenti, se non vengono visualizzati e specificare le informazioni seguenti:

    Parametro 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.
    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 Consumo e il trigger di Outlook di Office 365.

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

    Il flusso di lavoro è ora attivo, ma non esegue alcuna altra verifica 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

I passaggi seguenti aggiungono una condizione che seleziona solo i messaggi di posta elettronica con allegati.

  1. Nella finestra di progettazione del flusso di lavoro seguire questa procedura generale per aggiungere l'azione Controllo denominata Condizione.

  2. Nel riquadro Informazioni sull'azione Condizione rinominare l'azione con If email has attachments and key subject phrase .In the Condition action information pane, rename the action with If email has attachments and key subject phrase.

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

    1. Nella prima riga sotto l'elenco AND della scheda Parametri selezionare all'interno della casella sinistra e quindi selezionare l'elenco di contenuto dinamico (icona a forma di fulmine). In questo elenco, nella sezione trigger selezionare l'output Has Attachment .From this list, in the trigger section, select the Has Attachment output.

      Suggerimento

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

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

    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 Has Attachment 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 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 test 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: 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 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.

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

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 questi passaggi generali 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 e quindi selezionare Aggiungi azione.

  5. Nel riquadro 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 richiesta e quindi selezionare l'elenco di contenuto dinamico (icona a forma di fulmine) 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 Corpo . Dopo la risoluzione di questo valore nella casella Corpo richiesta, ricordarsi di aggiungere la parentesi graffa di chiusura (}).

      Screenshot che mostra la casella di informazioni sulle funzioni di Azure con l'elenco di contenuto dinamico e l'opzione Corpo selezionata.

    Al termine, la funzione di Azure è 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 del messaggio di posta elettronica

La procedura seguente consente di creare un BLOB che archivia il corpo del messaggio di 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 questa procedura generale per aggiungere l'azione Archiviazione BLOB di Azure denominata Crea BLOB.

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

    Parametro Obbligatorio Valore Descrizione
    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 utilizzata la chiave di accesso.
    Archiviazione di Azure nome account o endpoint BLOB <storage-account-name> Nome dell'account di archiviazione creato in precedenza.

    In questo esempio viene usato attachmentstorageacct.
    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. Al termine, selezionare Crea nuovo.

  5. Nel riquadro Crea informazioni sull'azione BLOB rinominare l'azione con Crea BLOB per il corpo del messaggio di 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 Obbligatorio Valore Descrizione
    Nome account di archiviazione o 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 e quindi selezionare l'opzione elenco di contenuto dinamico (icona a forma di fulmine).

    2. Dalla 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 e quindi selezionare l'opzione elenco di contenuto dinamico (icona a forma di fulmine).

    2. Nella sezione Call RemoveHTMLFunction (Chiama RemoveHTMLFunction ) selezionare Body (Corpo).

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

    Screenshot che mostra il corpo del 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.

Gestione degli allegati di test

  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 test 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 soggetto del trigger: Business Analyst 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 include contenuto 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 For each per elaborare ogni allegato di posta elettronica.

Aggiungere un ciclo per elaborare gli allegati

I passaggi seguenti aggiungono 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 Control denominata For each.

  3. Nel riquadro For each action information (Per ogni informazione azione) rinominare l'azione con For each email attachment (Per ogni allegato di posta elettronica).

  4. Selezionare ora il contenuto per il ciclo da elaborare.

    1. Nel ciclo For each email attachment (Per ogni allegato di posta elettronica) selezionare all'interno della casella Select An Output From Previous Steps (Seleziona output da passaggi precedenti) e quindi selezionare l'opzione elenco di contenuto dinamico (icona a forma di fulmine).

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

      L'output Allegati include una matrice con tutti gli allegati di un messaggio di posta elettronica. Il ciclo For each 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 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 For each email attachment (Per ogni allegato di posta elettronica) selezionare Aggiungi un'azione.

  2. Seguire questa procedura generale per aggiungere l'azione Archiviazione BLOB di Azure denominata Crea BLOB.

  3. Nel riquadro Crea informazioni sull'azione 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 Obbligatorio Valore Descrizione
    Nome account di archiviazione o 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-allegato> Per questo esempio, usare il nome dell'allegato come nome del BLOB.

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

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

    1. Selezionare all'interno della casella Contenuto BLOB e quindi selezionare l'opzione elenco di contenuto dinamico (icona a forma di fulmine).

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

    Nota

    Se si seleziona un output con una matrice, ad esempio l'output contenuto , ovvero una matrice che include allegati, la finestra di progettazione aggiunge automaticamente un ciclo For each 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 l'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 le informazioni sugli allegati di esempio per l'azione Crea BLOB completata.

  5. Salvare il flusso di lavoro.

Gestione degli allegati di rete

  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 test 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 soggetto del trigger: Business Analyst 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 i messaggi 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

I passaggi seguenti aggiungono 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 For each email attachment (Per ogni allegato di posta elettronica) selezionare Aggiungi un'azione.

  2. Seguire questi passaggi generali per aggiungere l'azione 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 Invia 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 Obbligatorio Valore Descrizione
    Per <indirizzo-posta-elettronica-destinatario> Ai fini del test è possibile usare l'indirizzo di posta elettronica personale.
    Argomento <oggetto del messaggio di posta elettronica> Oggetto del messaggio di posta elettronica da includere.

    In questo esempio viene usato ASAP - Review applicant for position:, e l'output Subject 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 elenco di contenuto dinamico (icona a forma di fulmine).

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

    L'esempio usa Please review new applicant:, the trigger output named From, the Path output from the Create blob for email body action, and the Body output from your Call RemoveHTMLFunction action.The example uses Please review new applicant:, the trigger output named From, the Path output from the Create blob for email body action, and the Body output from your Call RemoveHTMLFunction action.

    1. Nella casella Corpo immettere il testo di esempio, Si prega di rivedere il nuovo richiedente:.

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

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

    4. In una nuova riga immettere il testo di esempio, Il contenuto del messaggio di posta elettronica dell'applicazione: e aggiungere l'output corpo dall'azione Call RemoveHTMLFunction .

    Nota

    Se si seleziona un output con una matrice, ad esempio l'output contenuto , ovvero una matrice che include allegati, la finestra di progettazione aggiunge automaticamente un ciclo For each 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 soggetto 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. 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 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.