Creare un dashboard Customer Insights in tempo reale con App per la logica di Azure e Funzioni di AzureCreate a real-time customer insights dashboard with Azure Logic Apps and Azure Functions

Gli strumenti di Azure Serverless offrono potenti funzionalità per compilare rapidamente e ospitare applicazioni nel cloud, senza doversi preoccupare dell'infrastruttura.Azure Serverless tools provide powerful capabilities to quickly build and host applications in the cloud, without having to think about infrastructure. In questo scenario si creerà un dashboard da attivare con i suggerimenti dei clienti, si analizzeranno i suggerimenti con Machine Learning e si pubblicheranno informazioni dettagliate in un'origine come Power BI o Azure Data Lake.In this scenario, we will create a dashboard to trigger on customer feedback, analyze feedback with machine learning, and publish insights a source like Power BI or Azure Data Lake.

Panoramica dello scenario e degli strumenti usatiOverview of the scenario and tools used

Per implementare questa soluzione, si sfrutteranno i due componenti chiave delle app senza server in Azure: Funzioni di Azure e App per la logica di Azure.In order to implement this solution, we will leverage the two key components of serverless apps in Azure: Azure Functions and Azure Logic Apps.

App per la logica è un motore del flusso di lavoro senza server nel cloud,Logic Apps is a serverless workflow engine in the cloud. che fornisce l'orchestrazione tra componenti senza server e si connette anche a più di 100 servizi e API.It provides orchestration across serverless components, and also connects to over 100 services and APIs. In questo scenario si creerà un'app per la logica da attivare con i suggerimenti da parte dei clienti.For this scenario, we will create a logic app to trigger on feedback from customers. Tra i connettori che possono migliorare la reazione ai suggerimenti dei clienti sono inclusi Outlook.com, Office 365, Survey Monkey, Twitter e una richiesta HTTP da un Web Form.Some of the connectors that can assist in reacting to customer feedback include Outlook.com, Office 365, Survey Monkey, Twitter, and an HTTP Request from a web form. Per il flusso di lavoro seguente, si monitorerà un hashtag su Twitter.For the workflow below, we will monitor a hashtag on Twitter.

Funzioni consente il calcolo senza server nel cloud.Functions provide serverless compute in the cloud. In questo scenario si userà Funzioni di Azure per contrassegnare i tweet dei clienti in base a una serie di parole chiave predefinite.In this scenario, we will use Azure Functions to flag tweets from customers based on a series of pre-defined key words.

L'intera soluzione può essere compilata in Visual Studio e distribuita come parte di un modello di risorsa.The entire solution can be build in Visual Studio and deployed as part of a resource template. Su Channel 9 è disponibile anche una procedura dettagliata video dello scenario.There is also video walkthrough of the scenario on Channel 9.

Compilare l'app per la logica da attivare sui dati del clienteBuild the logic app to trigger on customer data

Dopo avere creato un'app per la logica in Visual Studio o nel portale di Azure:After creating a logic app in Visual Studio or the Azure portal:

  1. Aggiungere un trigger per On New Tweets (All'arrivo di nuovi tweet) da TwitterAdd a trigger for On New Tweets from Twitter
  2. Configurare il trigger per l'ascolto di tweet correlati a una parola chiave o a un hashtag.Configure the trigger to listen to tweets on a keyword or hashtag.

    Nota

    La proprietà recurrence nel trigger determinerà con quale frequenza l'app per la logica deve verificare la presenza di nuovi elementi nei trigger basati sul pollingThe recurrence property on the trigger will determine how frequently the logic app checks for new items on polling-based triggers

    Esempio di trigger di Twitter

Questa app ora verrà attivata all'arrivo di tutti i nuovi tweet.This app will now fire on all new tweets. Sarà quindi possibile esaminare i dati dei tweet per comprendere meglio il sentiment espresso.We can then take that tweet data and understand more of the sentiment expressed. A questo scopo vengono usati i Servizi cognitivi di Azure per rilevare il sentiment del testo.For this we use the Azure Cognitive Service to detect sentiment of text.

  1. Fare clic su Nuovo passaggioClick New Step
  2. Selezionare o cercare il connettore Analisi del testoSelect or search for the Text Analytics connector
  3. Selezionare l'operazione Detect Sentiment (Rileva sentiment)Select the Detect Sentiment operation
  4. Se richiesto, immettere una chiave di Servizi cognitivi valida per il servizio Analisi del testoIf prompted, provide a valid Cognitive Services key for the Text Analytics service
  5. Aggiungere il testo del tweet come testo da analizzare.Add the Tweet Text as the text to analyze.

Ora che sono disponibili i dati del tweet e le informazioni approfondite sul tweet, diversi altri connettori possono risultare utili:Now that we have the tweet data, and insights on the tweet, a number of other connectors may be relevant:

  • Power BI. Aggiunta di righe al set di dati di streaming: visualizza i tweet in tempo reale in un dashboard di Power BI.Power BI - Add Rows to Streaming Dataset: View tweets real time on a Power BI dashboard.
  • Azure Data Lake. Aggiunta file: aggiunge i dati di un cliente a un set di dati di Azure Data Lake da includere nei processi di analisi.Azure Data Lake - Append file: Add customer data to an Azure Data Lake dataset to include in analytics jobs.
  • SQL. Aggiunta di righe: archivia i dati in un database per recuperarli in seguito.SQL - Add rows: Store data in a database for later retrieval.
  • Slack. Invio messaggio: avvisa un canale di Slack all'arrivo di commenti negativi che richiedono l'esecuzione di azioni.Slack - Send message: Alert a slack channel on negative feedback that requires actions.

È anche possibile usare una funzione di Azure per eseguire un calcolo più personalizzato sui dati.An Azure Function can also be used to do more custom compute on top of the data.

Arricchimento dei dati con una funzione di AzureEnriching the data with an Azure Function

Prima di poter creare una funzione, è necessario avere un'app per le funzioni nella sottoscrizione di Azure.Before we can create a function, we need to have a function app in our Azure subscription. Per informazioni dettagliate sulla creazione di una funzione di Azure nel portale, vedere quiDetails on creating an Azure Function in the portal can be found here

Perché una funzione possa essere chiamata direttamente da un'app per la logica, è necessaria un'associazione a un trigger HTTP.For a function to be called directly from a logic app, it needs to have an HTTP trigger binding. È consigliabile usare il modello HttpTrigger.We recommend using the HttpTrigger template.

In questo scenario il corpo della richiesta della funzione di Azure sarà il testo del tweet.In this scenario, the request body of the Azure Function would be the tweet text. Nel codice della funzione definire semplicemente la logica considerando se il testo del tweet contiene una parola chiave o una frase.In the function code, simply define logic on if the tweet text contains a key word or phrase. La semplicità o la complessità della funzione stessa dipende dallo scenario.The function itself could be kept as simple or complex as needed for the scenario.

Alla fine della funzione è sufficiente restituire una risposta all'app per la logica con alcuni dati.At the end of the function, simply return a response to the logic app with some data. Può trattarsi di un semplice valore booleano (ad esempio, containsKeyword) o di un oggetto complesso.This could be a simple boolean value (e.g. containsKeyword), or a complex object.

Passaggio della funzione di Azure configurata

Suggerimento

Quando si accede a una risposta complessa da una funzione in un'app per la logica, usare l'azione Analizza JSON.When accessing a complex response from a function in a logic app, use the Parse JSON action.

La funzione, dopo essere stata salvata, può essere aggiunta nell'app per la logica creata sopra.Once the function is saved, it can be added into the logic app created above. Nell'app per la logica:In the logic app:

  1. Fare clic per aggiungere un nuovo passaggioClick to add a New Step
  2. Selezionare il connettore Funzioni di AzureSelect the Azure Functions connector
  3. Selezionare l'opzione per scegliere una funzione esistente e passare alla funzione creataSelect to choose an existing function, and browse to the function created
  4. Inviare il testo del tweet come corpo della richiestaSend in the Tweet Text for the Request Body

Esecuzione e monitoraggio della soluzioneRunning and monitoring the solution

Uno dei vantaggi di creare orchestrazioni senza server in App per la logica sono le funzionalità avanzate per il debug e il monitoraggio.One of the benefits of authoring serverless orchestrations in Logic Apps is the rich debug and monitoring capabilities. Qualsiasi esecuzione (corrente o cronologica) può essere visualizzata da Visual Studio, dal portale di Azure o tramite l'API REST e gli SDK.Any run (current or historic) can be viewed from within Visual Studio, the Azure portal, or via the REST API and SDKs.

Uno dei modi più semplici per testare un'app per la logica consiste nell'usare il pulsante Esegui nella finestra di progettazione.One of the easiest ways to test a logic app is using the Run button in the designer. Facendo clic su Esegui, il polling del trigger continuerà a essere eseguito ogni 5 secondi finché non verrà rilevato un evento e a offrire una visualizzazione live dell'esecuzione in corso.Clicking Run will continue to poll the trigger every 5 seconds until an event is detected, and give a live view as the run progresses.

Le cronologie di esecuzione precedenti possono essere visualizzate nel pannello Panoramica del portale di Azure oppure usando Visual Studio Cloud Explorer.Previous run histories can be viewed on the Overview blade in the Azure portal, or using the Visual Studio Cloud Explorer.

Creazione di un modello per le distribuzioni automatizzateCreating a deployment template for automated deployments

Una distribuzione, dopo essere stata sviluppata, può essere acquisita e distribuita in qualsiasi area di Azure del mondo tramite un modello di distribuzione di Azure.Once a solution has been developed, it can be captured and deployed via an Azure deployment template to any Azure region in the world. Tale operazione è utile non solo per modificare i parametri delle diverse versioni di questo flusso di lavoro, ma anche per integrare la soluzione in una pipeline di compilazione e rilascio.This is useful for both modifying parameters for different versions of this workflow, but also for integrating this solution in a build and release pipeline. Per informazioni dettagliate sulla creazione di un modello di distribuzione, vedere questo articolo.Details on creating a deployment template can be found in this article.

Funzioni di Azure può anche essere incorporato nel modello di distribuzione, in modo che l'intera soluzione con tutte le dipendenze possa essere gestita come un singolo modello.Azure Functions can also be incorporated in the deployment template - so the entire solution with all dependencies can be managed as a single template. Per un esempio di modello di distribuzione delle funzioni, vedere il repository di modelli di guide introduttive di Azure.An example of a function deployment template can be found in the Azure quickstart template repository.

Passaggi successiviNext steps