Usare gli strumenti di Analisi di flusso di Azure per Visual StudioUse Azure Stream Analytics tools for Visual Studio

Sono ora disponibili pubblicamente gli strumenti di Analisi di flusso di Azure per Visual Studio.Azure Stream Analytics tools for Visual Studio are now generally available. Questi strumenti consentono agli utenti di sfruttare meglio Analisi di flusso per risolvere i problemi e scrivere query complesse, anche in locale.These tools enable a richer experience for Stream Analytics users to troubleshoot as well as write complex queries and even write queries locally. Consentono anche di esportare un processo di Analisi di flusso in un progetto di Visual Studio.You also can export a Stream Analytics job into a Visual Studio project.

IntroduzioneIntroduction

Questa esercitazione illustra come usare gli strumenti di Analisi di flusso per Visual Studio per creare, scrivere, testare in locale, gestire ed eseguire il debug dei processi di Analisi di flusso.In this tutorial, you learn how to use Stream Analytics tools for Visual Studio to create, author, test locally, manage, and debug your Stream Analytics jobs. Dopo aver creato il processo, è possibile configurare una pipeline di integrazione continua e recapito continuo in Azure usando il pacchetto NuGet CICD. Per altre informazioni, vedere l'articolo Usare gli strumenti di Analisi di flusso per Visual Studio per configurare una pipeline di integrazione continua/recapito continuo.After you create the job, you can set up a continuous integration and deployment process to Azure by using the CI/CD Nuget package, to learn more refer to Stream Analytics VS tools to set up a CI/CD pipeline article.

Dopo aver completato questa esercitazione, si sarà in grado di:After completing this tutorial, you will be able to:

  • Usare gli strumenti di Analisi di flusso per Visual Studio.Familiarize yourself with the Stream Analytics tools for Visual Studio.
  • Configurare e distribuire un processo di Analisi di flusso.Configure and deploy a Stream Analytics job.
  • Testare il processo in locale con dati di esempio locali.Test your job locally with local sample data.
  • Usare il monitoraggio per risolvere i problemi.Use the monitoring to troubleshoot issues.
  • Esportare i processi esistenti nei progetti.Export existing jobs to projects.

Importante

Microsoft consiglia di eseguire l'aggiornamento a Strumenti Azure Data Lake per Visual Studio versione 2.3.3000.4 o successiva.Microsoft recommends you upgrade to Azure Data Lake Tools for Visual Studio version 2.3.3000.4 or later. Le versioni precedenti non sono più disponibili per il download e sono deprecate.The previous versions are no longer available for download and are now deprecated.

Cosa occorre fare?What do I need to do?

  1. Verificare se si sta usando una versione di Strumenti Analisi di flusso di Azure per Visual Studio precedente alla 2.3.3000.5.Check if you are using an earlier version than 2.3.3000.5 of Azure Stream Analytics Tools for Visual Studio.

    Controllare la versione degli strumenti

  2. Se la versione è precedente alla 2.3.3000.5, eseguire l'aggiornamento di Strumenti Analisi di flusso di Azure per Visual Studio visitando l'Area download:If your version is an earlier version of 2.3.3000.5, update your Azure Data Lake Tools for Visual Studio by visiting the download center:

prerequisitiPrerequisites

Per completare questa esercitazione è necessario soddisfare i prerequisiti seguenti:You need the following prerequisites to complete this tutorial:

  • Completare i passaggi che precedono "Creare un processo di Analisi di flusso" nell'esercitazione Compilare una soluzione IoT con Analisi di flusso.Finish the steps up to "Create a Stream Analytics job" in the tutorial Build an IoT solution by using Stream Analytics.
  • Installare Visual Studio 2017, Visual Studio 2015 o Visual Studio 2013 Update 4.Install Visual Studio 2017, Visual Studio 2015, or Visual Studio 2013 Update 4. Sono supportate le edizioni Enterprise (Ultimate/Premium), Professional e Community.Enterprise (Ultimate/Premium), Professional, and Community editions are supported. L'edizione Express non è supportata.Express edition is not supported.
  • Seguire le istruzioni di installazione per installare gli strumenti di Analisi di flusso per Visual Studio.Follow the installation instructions to install Stream Analytics tools for Visual Studio.

Creare un progetto di Analisi di flussoCreate a Stream Analytics project

In Visual Studio selezionare File > Nuovo progetto.In Visual Studio, select File > New Project. Nell'elenco dei modelli a sinistra selezionare Analisi di flusso e quindi Applicazione Analisi di flusso di Azure.In the templates list on the left, select Stream Analytics, and then select Azure Stream Analytics Application. Nella parte inferiore della pagina inserire il Nome del progetto, il Percorso e il Nome soluzione, come per gli altri progetti.At the bottom of the page, input the project Name, Location, and Solution name as you do for other projects.

Creazione del nuovo progetto

Il progetto Toll viene generato in Esplora soluzioni.The project Toll is generated in Solution Explorer.

Progetto Toll in Esplora soluzioni

Scegliere la sottoscrizione correttaChoose the correct subscription

  1. Dal menu Visualizza selezionare Esplora server in Visual Studio.On the View menu, select Server Explorer in Visual Studio.

  2. Accedere con l'account di Azure personale.Log in with your Azure account.

Definire le origini di inputDefine input sources

  1. In Esplora soluzioni espandere il nodo Inputs e rinominare Input.json in EntryStream.json.In Solution Explorer, expand the Inputs node and rename Input.json to EntryStream.json. Fare doppio clic su EntryStream.json.Double-click EntryStream.json.

  2. Per Alias di input specificare EntryStream.For Input Alias, enter EntryStream. L'alias di input viene usato nello script di query.Note that the input alias is used in query script.

  3. In Tipo di origine selezionare Flusso dati.For Source Type, select Data Stream.

  4. In Origine selezionare Hub eventi.For Source, select Event Hub.

  5. In Spazio dei nomi del bus di servizio selezionare l'opzione TollData nell'elenco a discesa.For Service Bus Namespace, select the TollData option in the drop-down list.

  6. In Nome hub eventi selezionare voce.For Event Hub name, select entry.

  7. In Nome criterio hub eventi selezionare RootManageSharedAccessKey (valore predefinito).For Event Hub Policy Name, select RootManageSharedAccessKey (the default value).

  8. In Formato di serializzazione eventi selezionare Json e in Codifica selezionare UTF8.For Event Serialization Format, select Json, and for Encoding, select UTF8.

    Le impostazioni avranno quindi un aspetto simile al seguente:Your settings look like this:

    Impostazioni di input

  9. Fare clic su Salva nella parte inferiore della pagina per terminare la procedura guidata.At the bottom of the page, select Save to finish the wizard. A questo punto è possibile aggiungere un'altra origine di input per creare il flusso di uscita.Now you can add another input source to create the exit stream. Fare clic con il pulsante destro del mouse sul nodo Inputs e selezionare Nuovo elemento.Right-click the Inputs node, and select New Item.

    Nuovo elemento

  10. Nella finestra popup selezionare Input di Analisi di flusso e modificare il Nome in ExitStream.json.In the pop-up window, choose Stream Analytics Input, and change the Name to ExitStream.json. Selezionare Aggiungi.Select Add.

    Aggiungi nuovo elemento

  11. Fare doppio clic su ExitStream.json nel progetto e, per completare i campi, seguire la stessa procedura usata per il flusso di entrata.Double-click ExitStream.json in the project, and follow the same steps as the entry stream to fill in the fields. Assicurarsi di immettere exit in Nome hub eventi, come mostrato nella schermata seguente:For Event Hub Name, be sure to enter exit, as shown in the following screenshot:

    Impostazioni ExitStream

    A questo punto sono stati definiti due flussi di input.Now you have defined two input streams.

    Due flussi di input

    Aggiungere successivamente l'input di dati di riferimento per il file BLOB contenente i dati di registrazione dell'automobile.Next, you add reference data input for the blob file that contains car registration data.

  12. Fare clic con il pulsante destro del mouse sul nodo Input nel progetto e quindi seguire la stessa procedura usata per gli input di flusso.Right-click the Inputs node in the project, and then follow the same process for the stream inputs. In Tipo di origine selezionare Dati di riferimento e in Alias di input immettere Registrazione.For Source Type, select Reference data, and for Input Alias, enter Registration.

    Impostazioni di registrazione

  13. Selezionare l'account di Archiviazione contenente l'opzione con TollData.Select the Storage account that contains the option with TollData. Il nome del contenitore è TollData e il Modello percorso è registration.json.The container name is TollData, and the Path Pattern is registration.json. Il nome file fa distinzione tra maiuscole e minuscole e deve contenere solo lettere minuscole.This file name is case sensitive and should be lowercase.

  14. Fare clic su Salva per completare la procedura guidata.Select Save to finish the wizard.

Tutti gli input sono ora definiti.Now all the inputs are defined.

Definire l'outputDefine output

  1. In Esplora soluzioni espandere il nodo Inputs e fare doppio clic su Output.json.In Solution Explorer, expand the Inputs node and double-click Output.json.

  2. In Alias di output immettere output.For Output Alias, enter output. In Sink selezionare Database SQL.For Sink, select SQL Database.

  3. In Database immettere il nome TollDataDB.For the Database name, enter TollDataDB.

  4. In Nome utente immettere tolladmin.For User Name, enter tolladmin. In Password immettere 123toll!.For Password, enter 123toll!. In Tabella immettere TollDataRefJoin.For Table, enter TollDataRefJoin.

  5. Selezionare Salva.Select Save.

    Impostazioni di output

Query di analisi di flussoStream Analytics query

Lo scopo di questa esercitazione è di rispondere a varie domande aziendali correlate ai dati dei caselli.This tutorial attempts to answer several business questions that are related to toll data. Sono state create query che possono essere usate in Analisi di flusso per fornire risposte pertinenti.We constructed queries that can be used in Stream Analytics to provide relevant answers. Prima di iniziare il primo processo di Analisi di flusso, si esaminerà uno scenario semplice e la sintassi delle query.Before you start your first Stream Analytics job, let's explore a simple scenario and the query syntax.

Introduzione al linguaggio di query di Analisi di flussoIntroduction to Stream Analytics query language

Si supponga di dover contare il numero di veicoli che entrano in un casello.Let's say that you need to count the number of vehicles that enter a toll booth. Trattandosi di un flusso continuo di eventi, è necessario stabilire un periodo di tempo.Because this stream of events is continuous, you have to define a period of time. La domanda dovrà essere posta come segue: "Quanti veicoli entrano in un casello ogni tre minuti?".Let's modify the question to be "How many vehicles enter a toll booth every three minutes?" Questo tipo di misurazione viene comunemente definito conteggio a cascata.This measurement is commonly referred to as the tumbling count.

Si osservi la query di Analisi di flusso che risponde a questa domanda:Let's look at the Stream Analytics query that answers this question:

    SELECT TollId, System.Timestamp AS WindowEnd, COUNT(*) AS Count 
    FROM EntryStream TIMESTAMP BY EntryTime 
    GROUP BY TUMBLINGWINDOW(minute, 3), TollId 

Come si può notare, Analisi di flusso di Azure usa un linguaggio di query simile a SQLAs you can see, Stream Analytics uses a query language that's like SQL. e aggiunge alcune estensioni per specificare gli aspetti temporali della query.It adds a few extensions to specify time-related aspects of the query.

Per maggiori dettagli, vedere gli articoli di MSDN sui costrutti relativi alla gestione del tempo e alla funzione di windowing usati nella query.For more details, read about time management and windowing constructs used in the query from MSDN.

Dopo aver scritto la prima query di Analisi di flusso, occorre testarla usando i file di dati di esempio disponibili nella cartella TollApp nel percorso seguente:Now that you have written your first Stream Analytics query, test it by using sample data files located in your TollApp folder in the following path:

..\TollApp\TollApp\Data..\TollApp\TollApp\Data

Questa cartella contiene i file seguenti:This folder contains the following files:

  • Entry.jsonEntry.json
  • Exit.jsonExit.json
  • registration.jsonRegistration.json

Domanda: Numero di veicoli che entrano in un caselloQuestion: Number of vehicles entering a toll booth

Nel progetto fare doppio clic su Script.asaql per aprire lo script nell'editor.In the project, double-click Script.asaql to open the script in the editor. Incollare nell'editor lo script della sezione precedente.Paste the script in the previous section into the editor. L'editor di query supporta IntelliSense, i colori sintassi e l'indicatore di errore.The query editor supports IntelliSense, syntax coloring, and an error marker.

Editor di query

Eseguire test locali delle query di Analisi di flussoTest Stream Analytics queries locally

Innanzitutto, è possibile compilare la query per verificare la presenza di errori di sintassi.You can first compile the query to see if there is any syntax error.

  1. Per convalidare la query con i dati di esempio è possibile usare i dati di esempio locali facendo clic con il pulsante destro del mouse sull'input e selezionando Aggiungere un input locale.To validate this query against sample data, use local sample data by right-clicking the input and selecting Add local input.

    Add local input (Aggiungi input locale)

  2. Nella finestra popup selezionare i dati di esempio dal percorso locale.In the pop-up window, select the sample data from your local path. Selezionare Salva.Select Save.

    Add local input (Aggiungi input locale)

    Verrà aggiunto automaticamente un file denominato local_EntryStream.json nella cartella degli input.A file named local_EntryStream.json is added automatically to your inputs folder.

    Elenco di file della cartella di input locale

  3. Nell'editor di query fare clic su Esecuzione locale.Select Run Locally in the query editor. oppure premere il tasto F5.Or you can press F5.

    Esecuzione locale

    È possibile trovare il percorso di output dall'output della consoleYou can find the output path from the console output. e premere un tasto qualsiasi per aprire la cartella dei risultati.Press any key to open the result folder.

    Esecuzione locale

  4. Controllare i risultati nella cartella locale.Check the results in the local folder.

    Risultato nella cartella locale

Input di esempioSample input

È possibile anche campionare dati di input da origini di input in un file locale.You also can sample input data from input sources to the local file. Fare clic con il pulsante destro del mouse sul file di configurazione degli input e selezionare Dati di esempio.Right-click the input configuration file, and select Sample Data.

Dati di esempio

Tenere presente che, per il momento, è possibile campionare solo Hub eventi o hub IoT.Note that you can sample only event hubs or IoT hubs for now. Non sono supportate altre origini di input.Other input sources are not supported. Nella finestra di dialogo popup immettere il percorso locale usato per salvare i dati di esempio.In the pop-up dialog box, fill in the local path to save the sample data. Selezionare Esempio.Select Sample.

Configurazione dati di esempio

Nella finestra Output viene visualizzato lo stato dell'operazione.You can see the progress in the Output window.

Output dei dati di esempio

Inviare ad Azure una query di Analisi di flussoSubmit a Stream Analytics query to Azure

  1. Nell'Editor di query selezionare Invia ad Azure nell'editor di script.In the Query Editor, select Submit To Azure in the script editor.

    Inviare ad Azure

  2. Selezionare Creare un nuovo processo di analisi di flusso di Azure.Select Create a New Azure Stream Analytics Job. In Nome processo immettere TollApp.For Job Name, enter TollApp. Scegliere la Sottoscrizione corretta dall'elenco a discesa.Choose the correct Subscription in the drop-down list. Selezionare Submit (Invia).Select Submit.

    Inviare il processo

Avviare il processoStart the job

A questo punto, il processo è stato creato e viene aperta automaticamente la visualizzazione del processo.Now your job is created, and the job view opens automatically.

  1. Fare clic sulla freccia verde per avviare il processo.Select the green arrow button to start the job.

    Pulsante Avvia processo

  2. Scegliere l'impostazione predefinita e fare clic su Avvia.Choose the default setting, and select Start.

    Avviare il processo

    Osservare come lo stato del processo sia stato modificato in In esecuzione e siano presenti eventi di input/output.You can see the job status changed to Running, and there are input/output events.

    Metriche e riepilogo del processo

Controllare i risultati in Visual StudioCheck results in Visual Studio

  1. Aprire Esplora server di Visual Studio e fare clic con il pulsante destro del mouse sulla tabella TollDataRefJoin .Open Visual Studio Server Explorer, and right-click the TollDataRefJoin table.

  2. Selezionare Mostra dati tabella per vedere l'output del processo.Select Show Table Data to see the output of your job.

    Mostra dati tabella

Visualizzare le metriche di processoView job metrics

Alcune statistiche di base sul processo sono disponibili in Metriche del processo.Some basic job statistics are shown in Job Metrics.

Metriche del processo

Elencare il processo in Esplora serverList the job in Server Explorer

In Esplora server selezionare Processi di Analisi di flusso e quindi Aggiorna.In Server Explorer, select Stream Analytics Jobs and then select Refresh. Il processo viene visualizzato in Processi di Analisi di flusso.Your job appears under Stream Analytics jobs.

Elenco processi

Aprire la visualizzazione del processoOpen the job view

Espandere il nodo del processo e fare doppio clic sul nodo Vista processi per aprire la visualizzazione del processo.Expand your job node, and double-click on the Job View node to open a job view.

Job View (Visualizzazione processo)

Esportare un processo esistente in un progettoExport an existing job to a project

Esistono due modi per esportare un processo esistente in un progetto.There are two ways you can export an existing job to a project.

  • In Esplora server, nel nodo Processi di Analisi di flusso, fare clic con il pulsante destro del mouse sul nodo del processo.In Server Explorer, under the Stream Analytics Jobs node, right-click the job node. Selezionare Esporta in un nuovo progetto di analisi di flusso.Select Export to New Stream Analytics Project.

    Esportare in un nuovo progetto di analisi di flusso

    Il progetto generato viene visualizzato in Esplora soluzioni.The generated project appears in Solution Explorer.

    Processo in Esplora soluzioni

  • Nella vista processi selezionare Genera progetto.In the job view, select Generate Project.

    Genera progetto

Problemi noti e limitazioniKnown issues and limitations

  • Il test locale non funziona se nella query sono incluse funzioni geospaziali.Local testing doesn't work if your query has geo-spatial functions.
  • Nell'editor non è disponibile alcun supporto per l'aggiunta o la modifica di funzioni JavaScript definite dall'utente.Editor support isn't available for adding or changing JavaScript UDF.
  • Il test locale non supporta il salvataggio dell'output in formato JSON.Local testing doesn't support saving output in JSON format.
  • Non è disponibile alcun supporto per gli output di Power BI e ADLS.Support isn't available for Power BI output and ADLS output.

Passaggi successiviNext steps