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 sul pulsante Nuovo nell'angolo superiore sinistro del portale di Azure.Click the New button found on 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 la funzioneCreate the function

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. Fare clic sul pulsante Nuovo e selezionare Calcolo > App per le funzioni.Click the New button and select Compute > Function App. Usare quindi le impostazioni specificate nella tabella seguente.Then, use the settings as specified in the table below. Accettare le condizioni e quindi selezionare Aggiungi al dashboard.Accept the terms, then select Pin to dashboard.

    Creare un'app per le funzioni di Azure

    ImpostazioneSetting Valore consigliatoSuggested value DescrizioneDescription
    NomeName MyFunctionAppMyFunctionApp Scegliere un nome dell'account univoco.Choose a unique account name.
    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.
    Piano di hostingHosting plan Piano a consumoConsumption Plan Definisce il costo e le allocazioni di uso.This defines your cost and usage allocations.
    PosizioneLocation Stati Uniti occidentaliWest US Usare la posizione più vicina.Use the location nearest you.
    ArchiviazioneStorage Creazione di un nuovo sitoCreate New Genera automaticamente un nuovo account di archiviazione.Automatically generates a new storage account.
    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.
  2. Selezionare l'app per le funzioni dal dashboard ed espandere la funzione, fare clic sul pulsante + accanto a Funzioni, fare clic su Webhook e API, CSharp e quindi su Creare questa funzione.Select your functions app from your dashboard and expand your function, click the + button next to Functions, click the Webhook + API, CSharp, then Create This Function. Verrà creata una funzione tramite il modello C# HTTPTrigger.This will create a function using the HTTPTrigger C# template. Il codice verrà visualizzato in una nuova finestra come run.csxYour code will appear in a new window as run.csx

    Pannello App per le funzioni, Funzioni +

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

  4. 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 Salva.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

In questa esercitazione si è appreso 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.