Creare una funzione che si integra con le app per la logica di AzureCreate a function that integrates with Azure Logic Apps

Funzioni di Azure si integra con App per la logica di Azure in Progettazione app per la logica.Azure Functions integrates with Azure Logic Apps in the Logic Apps Designer. L'integrazione consente di usare la potenza di calcolo di Funzioni nelle orchestrazioni con altri servizi di Azure e di terze parti.This integration lets you use the computing power of Functions in orchestrations with other Azure and third-party services.

Questa esercitazione illustra come usare Funzioni con App per la logica e Servizi cognitivi di Microsoft su Azure per analizzare i sentiment nei post di Twitter.This tutorial shows you how to use Functions with Logic Apps and Microsoft Cognitive Services on Azure to analyze sentiment from Twitter posts. Una funzione attivata tramite HTTP classifica i tweet come verde, giallo o rosso in base al punteggio del sentiment.An HTTP triggered function categorizes tweets as green, yellow, or red based on the sentiment score. Quando viene rilevato un livello di sentiment basso viene inviato un messaggio di posta elettronica.An email is sent when poor sentiment is detected.

immagine dei primi due passaggi dell'app in Progettazione app per la logica

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

  • Creare una risorsa API per Servizi cognitivi.Create a Cognitive Services API Resource.
  • Creare una funzione che classifica i sentiment nei tweet.Create a function that categorizes tweet sentiment.
  • Creare un'app per la logica che si connette a Twitter.Create a logic app that connects to Twitter.
  • Aggiungere il rilevamento dei sentiment all'app per la logica.Add sentiment detection to the logic app.
  • Connettere l'app per la logica alla funzione.Connect the logic app to the function.
  • Inviare un messaggio di posta elettronica in base alla risposta dalla funzione.Send an email based on the response from the function.

prerequisitiPrerequisites

Creare una risorsa per Servizi cognitiviCreate a Cognitive Services resource

Le API Servizi cognitivi sono disponibili in Azure come singole risorse.The Cognitive Services APIs are available in Azure as individual resources. Usare l'API Analisi del testo per rilevare il sentiment dei tweet sottoposti a monitoraggio.Use the Text Analytics API to detect the sentiment of the tweets being monitored.

  1. Accedere al portale di Azure.Sign in to the Azure portal.

  2. Fare clic su Crea una risorsa nell'angolo superiore sinistro del portale di Azure.Click Create a resource in the upper left-hand corner of the Azure portal.

  3. Fare clic su Intelligenza artificiale e servizi cognitivi > API Analisi del testo.Click AI + Analytics > Text Analytics API. Usare quindi le impostazioni indicate nella tabella, accettare le condizioni e selezionare Aggiungi al dashboard.Then, use the settings as specified in the table, accept the terms, and check Pin to dashboard.

    Pagina di creazione della risorsa per Servizi cognitivi

    ImpostazioneSetting Valore consigliatoSuggested value DescrizioneDescription
    NomeName MyCognitiveServicesAccntMyCognitiveServicesAccnt Scegliere un nome dell'account univoco.Choose a unique account name.
    PosizioneLocation Stati Uniti occidentaliWest US Usare la posizione più vicina.Use the location nearest you.
    Piano tariffarioPricing tier F0F0 Iniziare dal livello più basso.Start with the lowest tier. Se si esauriscono le chiamate, passare a un livello superiore.If you run out of calls, scale to a higher tier.
    Gruppo di risorseResource group myResourceGroupmyResourceGroup Usare lo stesso gruppo di risorse per tutti i servizi in questa esercitazione.Use the same resource group for all services in this tutorial.
  4. Fare clic su Crea per creare la risorsa.Click Create to create your resource. Dopo aver creato la risorsa, selezionare la nuova risorsa per Servizi cognitivi aggiunta al dashboard.After it is created, select your new Cognitive Services resource pinned to the dashboard.

  5. Nella colonna di spostamento a sinistra fare clic su Chiavi e quindi copiare il valore di Chiave 1 e salvarlo.In the left navigation column, click Keys, and then copy the value of Key 1 and save it. Questa chiave viene usata per connettere l'app all'API Servizi cognitivi.You use this key to connect the logic app to your Cognitive Services API.

    Chiavi

Creare l'app per le funzioniCreate the function app

Funzioni permette di ripartire il carico di lavoro delle attività di elaborazione in un flusso di lavoro di app per la logica.Functions provides a great way to offload processing tasks in a logic apps workflow. Questa esercitazione fa uso di una funzione attivata tramite HTTP per elaborare i punteggi attribuiti da Servizi cognitivi ai sentiment dei tweet e restituire un valore categoria.This tutorial uses an HTTP triggered function to process tweet sentiment scores from Cognitive Services and return a category value.

  1. Selezionare il pulsante Nuovo nell'angolo superiore sinistro del portale di Azure e quindi selezionare Calcolo > App per le funzioni.Select the New button found on the upper left-hand corner of the Azure portal, then select Compute > Function App.

    Creare un'app per le funzioni nel portale di Azure

  2. Usare le impostazioni dell'app per le funzioni come indicato nella tabella sottostante l'immagine.Use the function app settings as specified in the table below the image.

    Definire nuove impostazioni dell'app per le funzioni

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Nome appApp name Nome globalmente univocoGlobally unique name Nome che identifica la nuova app per le funzioni.Name that identifies your new function app. I caratteri validi sono a-z, 0-9 e -.Valid characters are a-z, 0-9, and -.
    SottoscrizioneSubscription Sottoscrizione in usoYour subscription Sottoscrizione in cui viene creata questa nuova app per le funzioni.The subscription under which this new function app is created.
    Gruppo di risorseResource Group myResourceGroupmyResourceGroup Nome del nuovo gruppo di risorse in cui creare l'app per le funzioni.Name for the new resource group in which to create your function app.
    Sistema operativoOS WindowsWindows L'hosting senza server attualmente è disponibile solo in un ambiente di esecuzione su Windows.Serverless hosting is currently only available when running on Windows. Per l'hosting su Linux, vedere Creare la prima funzione eseguita in Linux usando l'interfaccia della riga di comando di Azure.For Linux hosting, see Create your first function running on Linux using the Azure CLI.
    Piano di hostingHosting plan Piano a consumoConsumption plan Piano di hosting che definisce come vengono allocate le risorse all'app per le funzioni.Hosting plan that defines how resources are allocated to your function app. Nel piano a consumo predefinito le risorse vengono aggiunte dinamicamente in base alle esigenze delle funzioni.In the default Consumption Plan, resources are added dynamically as required by your functions. In questo hosting senza server si paga solo per il periodo in cui le funzioni sono in esecuzione.In this serverless hosting, you only pay for the time your functions run.
    PosizioneLocation Europa occidentaleWest Europe Scegliere un'area nelle vicinanze o vicino ad altri servizi a cui accedono le funzioni.Choose a region near you or near other services your functions access.
    Account di archiviazioneStorage account Nome globalmente univocoGlobally unique name Nome del nuovo account di archiviazione usato dall'app per le funzioni.Name of the new storage account used by your function app. I nomi degli account di archiviazione devono avere una lunghezza compresa tra 3 e 24 caratteri e possono contenere solo numeri e lettere minuscole.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. È possibile anche usare un account esistente.You can also use an existing account.
  3. Selezionare Crea per effettuare il provisioning dell'app per le funzioni e distribuirla.Select Create to provision and deploy the function app.

  4. Selezionare l'icona di notifica nell'angolo superiore destro del portale e attendere la visualizzazione del messaggio La distribuzione è riuscita.Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    Definire nuove impostazioni dell'app per le funzioni

  5. Selezionare Vai alla risorsa per visualizzare la nuova app per le funzioni.Select Go to resource to view your new function app.

Suggerimento

In caso di problemi nell'individuare le app per le funzioni nel portale, provare ad aggiungere le app per le funzioni ai preferiti nel portale di Azure.Having trouble finding your function apps in the portal, try adding Function Apps to your favorites in the Azure portal.

Creare una funzione attivata tramite HTTPCreate an HTTP triggered function

  1. Espandere l'app per le funzioni e fare clic sul pulsante + accanto a Funzioni.Expand your function app and click the + button next to Functions. Se questa è la prima funzione nell'app per le funzioni, selezionare Funzione personalizzata.If this is the first function in your function app, select Custom function. Verrà visualizzato il set completo di modelli di funzione.This displays the complete set of function templates.

    Pagina della guida introduttiva di Funzioni nel portale di Azure

  2. Nel campo di ricerca digitare http e quindi scegliere C# per il modello di trigger HTTP.In the search field, type http and then choose C# for the HTTP trigger template.

    Scegliere un trigger HTTP

  3. Digitare un Nome per la funzione, scegliere Function per Livello autenticazione e quindi selezionare Crea.Type a Name for your function, choose Function for Authentication level, and then select Create.

    Creare la funzione attivata tramite HTTP

    Viene creata una funzione di script C# tramite il modello di trigger HTTP.This creates a C# script function using the HTTP Trigger template. Il codice viene visualizzato in una nuova finestra come run.csx.Your code appears in a new window as run.csx.

  4. Sostituire il contenuto del file run.csx con il codice seguente e quindi fare clic su Salva:Replace the contents of the run.csx file with the following code, then click Save:

    using System.Net;
    
    public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
    {
        // The sentiment category defaults to 'GREEN'. 
        string category = "GREEN";
    
        // Get the sentiment score from the request body.
        double score = await req.Content.ReadAsAsync<double>();
        log.Info(string.Format("The sentiment score received is '{0}'.",
                    score.ToString()));
    
        // Set the category based on the sentiment score.
        if (score < .3)
        {
            category = "RED";
        }
        else if (score < .6)
        {
            category = "YELLOW";
        }
        return req.CreateResponse(HttpStatusCode.OK, category);
    }
    

    Questo codice di funzione restituisce una categoria colore in base al punteggio del sentiment ricevuto nella richiesta.This function code returns a color category based on the sentiment score received in the request.

  5. Per testare la funzione, fare clic su Test a destra per espandere la scheda Test. Digitare un valore di 0.2 per il Corpo della richiesta e quindi fare clic su Esegui.To test the function, click Test at the far right to expand the Test tab. Type a value of 0.2 for the Request body, and then click Run. Nel corpo della risposta verrà restituito il valore RED.A value of RED is returned in the body of the response.

    Testare la funzione nel portale di Azure

A questo punto è disponibile una funzione che classifica i punteggi dei sentiment.Now you have a function that categorizes sentiment scores. Nella fase successiva viene creata un'app per la logica che integra la funzione con l'API Twitter e Servizi cognitivi.Next, you create a logic app that integrates your function with your Twitter and Cognitive Services API.

Creare un'app per la logicaCreate a logic app

  1. Nel portale di Azure fare clic sul pulsante Nuovo nell'angolo in alto a sinistra del portale.In the Azure portal, click the New button found on the upper left-hand corner of the Azure portal.

  2. Fare clic su Integrazione aziendale > App per la logica.Click Enterprise Integration > Logic App. Usare quindi le impostazioni indicate nella tabella, selezionare Aggiungi al dashboard e fare clic su Crea.Then, use the settings as specified in the table, check Pin to dashboard, and click Create.

  3. Digitare un Nome, ad esempio TweetSentiment, usare le impostazioni indicate nella tabella, accettare le condizioni e selezionare Aggiungi al dashboard.Then, type a Name like TweetSentiment, use the settings as specified in the table, accept the terms, and check Pin to dashboard.

    Creare l'app per la logica nel portale di Azure

    ImpostazioneSetting Valore consigliatoSuggested value DescrizioneDescription
    NomeName TweetSentimentTweetSentiment Scegliere un nome appropriato per l'app.Choose an appropriate name for your app.
    Gruppo di risorseResource group myResourceGroupmyResourceGroup Scegliere lo stesso gruppo di risorse esistente visto in precedenza.Choose the same existing resource group as before.
    PosizioneLocation Stati Uniti orientaliEast US Scegliere una località vicina.Choose a location close to you.
  4. Scegliere Aggiungi al dashboard e fare clic su Crea per creare l'app per la logica.Choose Pin to dashboard, and then click Create to create your logic app.

  5. Dopo aver creato l'app, fare clic sulla nuova app per la logica aggiunta al dashboard.After the app is created, click your new logic app pinned to the dashboard. In Progettazione app per la logica scorrere verso il basso e fare clic sul modello App per la logica vuota.Then in the Logic Apps Designer, scroll down and click the Blank Logic App template.

    Modello App per la logica vuota

A questo punto è possibile usare Progettazione app per la logica per aggiungere servizi e trigger all'applicazione.You can now use the Logic Apps Designer to add services and triggers to your app.

Connettersi a TwitterConnect to Twitter

Creare prima di tutto una connessione all'account Twitter.First, create a connection to your Twitter account. L'app per la logica esegue il poll dei tweet, che attiva l'app da eseguire.The logic app polls for tweets, which trigger the app to run.

  1. Nella finestra di progettazione, fare clic sul servizio Twitter e scegliere il trigger Quando viene pubblicato un nuovo tweet.In the designer, click the Twitter service, and click the When a new tweet is posted trigger. Accedere all'account Twitter e autorizzare App per la logica all'uso dell'account.Sign in to your Twitter account and authorize Logic Apps to use your account.

  2. Usare le impostazioni del trigger Twitter come specificato nella tabella.Use the Twitter trigger settings as specified in the table.

    Impostazioni del connettore Twitter

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    Testo di ricercaSearch text #Azure#Azure Usare un hashtag che sia abbastanza comune per generare nuovi tweet nell'intervallo selezionato.Use a hashtag that is popular enough to generate new tweets in the chosen interval. Quando si usa un hashtag troppo comune con il livello gratuito, c'è il rischio di esaurire rapidamente la quota di transazioni nell'API Servizi cognitivi.When using the Free tier and your hashtag is too popular, you can quickly use up the transaction quota in your Cognitive Services API.
    FrequenzaFrequency MinutoMinute Unità di frequenza usata per eseguire il poll di Twitter.The frequency unit used for polling Twitter.
    IntervalInterval 1515 Tempo trascorso tra le richieste di Twitter, in unità di frequenza.The time elapsed between Twitter requests, in frequency units.
  3. Fare clic su Salva per connettersi all'account Twitter.Click Save to connect to your Twitter account.

A questo punto l'app è connessa a Twitter.Now your app is connected to Twitter. Connettersi ora all'analisi del testo per rilevare il sentiment dei tweet raccolti.Next, you connect to text analytics to detect the sentiment of collected tweets.

Aggiungere il rilevamento dei sentimentAdd sentiment detection

  1. Selezionare Nuovo passaggio e quindi Aggiungi un'azione.Click New Step, and then Add an action.

    Nuovo passaggio e quindi Aggiungi un'azione.

  2. In Scegliere un'azione fare clic su Analisi del testo e quindi scegliere l'azione Detect sentiment (Rileva sentiment).In Choose an action, click Text Analytics, and then click the Detect sentiment action.

    Rileva sentiment

  3. Digitare un nome per la connessione, ad esempio MyCognitiveServicesConnection, incollare la chiave dell'API Servizi cognitivi salvata in precedenza e fare clic su Crea.Type a connection name such as MyCognitiveServicesConnection, paste the key for your Cognitive Services API that you saved, and click Create.

  4. Fare clic su Text to analyze (Testo da analizzare) > Testo tweet e quindi fare clic su Salva.Click Text to analyze > Tweet text, and then click Save.

    Rileva sentiment

Dopo aver configurato il rilevamento dei sentiment, è possibile aggiungere una connessione alla funzione che utilizza l'output del punteggio dei sentiment.Now that sentiment detection is configured, you can add a connection to your function that consumes the sentiment score output.

Connettere l'output dei sentiment alla funzioneConnect sentiment output to your function

  1. In Progettazione app per la logica fare clic su Nuovo passaggio > Aggiungi un'azione e quindi scegliere Funzioni di Azure.In the Logic Apps Designer, click New step > Add an action, and then click Azure Functions.

  2. Fare clic su Scegliere una funzione di Azure e selezionare la funzione CategorizeSentiment creata in precedenza.Click Choose an Azure function, select the CategorizeSentiment function you created earlier.

    Casella Funzione Azure con Scegliere una funzione di Azure

  3. In Corpo della richiesta fare clic su Punteggio e quindi su Salva.In Request Body, click Score and then Save.

    Score

A questo punto, la funzione viene attivata quando l'app per la logica invia un punteggio di sentiment.Now, your function is triggered when a sentiment score is sent from the logic app. La funzione restituisce quindi una categoria colore all'app per la logica.A color-coded category is returned to the logic app by the function. Aggiungere quindi l'invio di una notifica di posta elettronica quando la funzione restituisce un valore di sentiment RED.Next, you add an email notification that is sent when a sentiment value of RED is returned from the function.

Aggiungere le notifiche di posta elettronicaAdd email notifications

L'ultima parte del flusso di lavoro consiste nell'attivare l'invio di un messaggio di posta elettronica quando il punteggio del sentiment è RED.The last part of the workflow is to trigger an email when the sentiment is scored as RED. Questo argomento fa uso di un connettore Outlook.com.This topic uses an Outlook.com connector. Per usare un connettore Gmail o Office 365 Outlook è possibile seguire una procedura simile.You can perform similar steps to use a Gmail or Office 365 Outlook connector.

  1. In Progettazione app per la logica fare clic su Nuovo passaggio > Aggiungi una condizione.In the Logic Apps Designer, click New step > Add a condition.

  2. Fare clic su Scegliere un valore e quindi su Corpo.Click Choose a value, then click Body. Selezionare è uguale a, fare clic su Scegliere un valore, digitare RED e quindi fare clic su Salva.Select is equal to, click Choose a value and type RED, and click Save.

    Aggiungere una condizione all'app per la logica.

  3. In È true fare clic su Aggiungi un'azione, cercare outlook.com, fare clic su Invia un messaggio di posta elettronica e accedere all'account Outlook.com.In IF TRUE, click Add an action, search for outlook.com, click Send an email, and sign in to your Outlook.com account.

    Scegliere un'azione per la condizione.

    Nota

    Se non è disponibile un account Outlook.com, è possibile scegliere un altro connettore, ad esempio Gmail o Office 365 Outlook.If you don't have an Outlook.com account, you can choose another connector, such as Gmail or Office 365 Outlook

  4. Nell'azione Invia un messaggio di posta elettronica usare le impostazioni di posta elettronica indicate nella tabella.In the Send an email action, use the email settings as specified in the table.

    Configurare la posta elettronica per l'azione Invia un messaggio di posta elettronica.

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    ToTo Digitare l'indirizzo di posta elettronicaType your email address Indirizzo di posta elettronica che riceve la notifica.The email address that receives the notification.
    OggettoSubject Rilevato sentiment di tweet negativoNegative tweet sentiment detected Riga dell'oggetto della notifica di posta elettronica.The subject line of the email notification.
    CorpoBody Testo tweet, LocalitàTweet text, Location Fare clic sui parametri Testo tweet e Località.Click the Tweet text and Location parameters.
  5. Fare clic su Save.Click Save.

Ora che il flusso di lavoro è completo, è possibile abilitare l'app per la logica e provarne il funzionamento.Now that the workflow is complete, you can enable the logic app and see the function at work.

Testare il flusso di lavoroTest the workflow

  1. In Progettazione app per la logica fare clic su Esegui per avviare l'app.In the Logic App Designer, click Run to start the app.

  2. Nella colonna di sinistra fare clic su Panoramica per visualizzare lo stato dell'app per la logica.In the left column, click Overview to see the status of the logic app.

    Stato di esecuzione dell'app per la logica

  3. (Facoltativo) Fare clic su una delle esecuzioni per visualizzarne i dettagli.(Optional) Click one of the runs to see details of the execution.

  4. Passare alla funzione, visualizzare i log e verificare che i valori dei sentiment siano stati ricevuti ed elaborati.Go to your function, view the logs, and verify that sentiment values were received and processed.

    Visualizzare i log della funzione

  5. Quando viene rilevato un sentiment potenzialmente negativo, si riceve un messaggio di posta elettronica.When a potentially negative sentiment is detected, you receive an email. Se non è stato ricevuto un messaggio di posta elettronica, è possibile modificare il codice della funzione per restituisca RED ogni volta:If you haven't received an email, you can change the function code to return RED every time:

     return req.CreateResponse(HttpStatusCode.OK, "RED");
    

    Dopo aver verificato le notifiche di posta elettronica, ripristinare il codice originale:After you have verified email notifications, change back to the original code:

     return req.CreateResponse(HttpStatusCode.OK, category);
    

    Importante

    Al termine di questa esercitazione è consigliabile disabilitare l'app per la logica.After you have completed this tutorial, you should disable the logic app. In questo modo è possibile evitare di incorrere in addebiti per le esecuzioni e di esaurire le transazioni nell'API Servizi cognitivi.By disabling the app, you avoid being charged for executions and using up the transactions in your Cognitive Services API.

Come illustrato in questa esercitazione, integrare Funzioni in un flusso di lavoro di App per la logica è molto semplice.Now you have seen how easy it is to integrate Functions into a Logic Apps workflow.

Disabilitare l'app per la logicaDisable the logic app

Per disabilitare l'app per la logica, fare clic su Panoramica e quindi scegliere Disabilita nella parte superiore della schermata.To disable the logic app, click Overview and then click Disable at the top of the screen. Questo arresta l'esecuzione dell'app per la logica e permette di evitare addebiti per non aver eliminato l'app.This stops the logic app from running and incurring charges without deleting the app.

Log della funzione

Passaggi successiviNext steps

Questa esercitazione illustra come:In this tutorial, you learned how to:

  • Creare una risorsa API per Servizi cognitivi.Create a Cognitive Services API Resource.
  • Creare una funzione che classifica i sentiment nei tweet.Create a function that categorizes tweet sentiment.
  • Creare un'app per la logica che si connette a Twitter.Create a logic app that connects to Twitter.
  • Aggiungere il rilevamento dei sentiment all'app per la logica.Add sentiment detection to the logic app.
  • Connettere l'app per la logica alla funzione.Connect the logic app to the function.
  • Inviare un messaggio di posta elettronica in base alla risposta dalla funzione.Send an email based on the response from the function.

Passare all'esercitazione successiva per imparare a creare un'API senza server per la funzione.Advance to the next tutorial to learn how to create a serverless API for your function.

Per altre informazioni sulle app per la logica, vedere App per la logica di Azure.To learn more about Logic Apps, see Azure Logic Apps.