Esercitazione: Eseguire la migrazione dei dati di Hub eventi acquisiti ad Azure Synapse Analytics usando Griglia di eventi e Funzioni di AzureTutorial: Migrate captured Event Hubs data to Azure Synapse Analytics using Event Grid and Azure Functions

La funzionalità di acquisizione di Hub eventi di Azure consente di acquisire automaticamente i dati di streaming in Hub eventi in un'archiviazione BLOB di Azure o in Azure Data Lake Storage.Azure Event Hubs Capture enables you to automatically capture the streaming data in Event Hubs in an Azure Blob storage or Azure Data Lake Storage. Questa esercitazione illustra come eseguire la migrazione dei dati di Hub eventi acquisiti da Archiviazione in Azure Synapse Analytics usando una funzione di Azure attivata da una griglia di eventi.This tutorial shows you how to migrate captured Event Hubs data from Storage to Azure Synapse Analytics by using an Azure function that's triggered by Event Grid.

Panoramica dell'applicazione

Questo diagramma illustra il flusso di lavoro della soluzione compilata in questa esercitazione:This diagram depicts the workflow of the solution you build in this tutorial:

  1. I dati inviati a un hub eventi di Azure vengono acquisiti in una risorsa di archiviazione BLOB di Azure.Data sent to an Azure event hub is captured in an Azure blob storage.
  2. Una volta completata l'acquisizione dei dati, viene generato un evento e viene inviato a una griglia di eventi di Azure.When the data capture is complete, an event is generated and sent to an Azure event grid.
  3. La griglia di eventi inoltra i dati di tale evento a un'app per le funzioni di Azure.The event grid forwards this event data to an Azure function app.
  4. L'app per le funzioni usa l'URL del BLOB nei dati dell'evento per recuperare il BLOB dalla risorsa di archiviazione.The function app uses the blob URL in the event data to retrieve the blob from the storage.
  5. L'app per le funzioni esegue la migrazione dei dati del BLOB a un'istanza di Azure Synapse Analytics.The function app migrates the blob data to an Azure Synapse Analytics.

In questo articolo, si eseguono i passaggi seguenti:In this article, you take the following steps:

  • Distribuire l'infrastruttura necessaria per l'esercitazioneDeploy the required infrastructure for the tutorial
  • Pubblicare il codice in un'app per le funzioniPublish code to a Functions App
  • Creare una sottoscrizione di Griglia di eventiCreate an Event Grid subscription
  • Trasmettere in streaming dati di esempio in Hub eventiStream sample data into Event Hubs
  • Verificare i dati acquisiti in Azure Synapse AnalyticsVerify captured data in Azure Synapse Analytics

PrerequisitiPrerequisites

Per completare l'esercitazione, sono necessari:To complete this tutorial, you must have:

  • Una sottoscrizione di Azure.An Azure subscription. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.
  • Visual Studio 2019 con carichi di lavoro per lo sviluppo di desktop .NET, di Azure, Web e ASP.NET, di Node.js e di Python.Visual studio 2019 with workloads for: .NET desktop development, Azure development, ASP.NET and web development, Node.js development, and Python development.
  • Scaricare il progetto di esempio EventHubsCaptureEventGridDemo sul computer.Download the EventHubsCaptureEventGridDemo sample project to your computer.
    • WindTurbineDataGenerator: un server di pubblicazione semplice che invia dati di turbine eoliche di esempio a un hub eventi con Acquisizione abilitataWindTurbineDataGenerator – A simple publisher that sends sample wind turbine data to a capture-enabled event hub
    • FunctionDWDumper: una funzione di Azure che riceve una notifica da Griglia di eventi quando un file Avro viene acquisito nel BLOB di Archiviazione di Azure.FunctionDWDumper – An Azure Function that receives an Event Grid notification when an Avro file is captured to the Azure Storage blob. Riceve il percorso URI del BLOB, ne legge il contenuto ed esegue il push dei dati ad Azure Synapse Analytics (pool SQL dedicato).It receives the blob’s URI path, reads its contents, and pushes this data to Azure Synapse Analytics (dedicated SQL pool).

Distribuire l'infrastrutturaDeploy the infrastructure

In questo passaggio, implementare l'infrastruttura necessaria con un modello di Resource Manager.In this step, you deploy the required infrastructure with a Resource Manager template. Quando si implementa il modello, vengono create le risorse seguenti:When you deploy the template, the following resources are created:

  • Hub eventi con la funzionalità Acquisizione abilitata.Event hub with the Capture feature enabled.
  • Account di archiviazione per i file acquisiti.Storage account for the captured files.
  • Piano di servizio app per l'hosting dell'app per le funzioniApp service plan for hosting the function app
  • App per le funzioni per l'elaborazione dell'eventoFunction app for processing the event
  • SQL Server per l'hosting del data warehouseSQL Server for hosting the data warehouse
  • Azure Synapse Analytics (pool SQL dedicato) per l'archiviazione dei dati trasferitiAzure Synapse Analytics (dedicated SQL pool) for storing the migrated data

Usare l'interfaccia della riga di comando di Azure per distribuire l'infrastrutturaUse Azure CLI to deploy the infrastructure

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

  2. Selezionare il pulsante Cloud Shell nella parte superiore.Select Cloud Shell button at the top.

    Azure portal

  3. Si noterà che Cloud Shell è aperto nella parte inferiore del browser.You see the Cloud Shell opened at the bottom of the browser.

    Cloud Shell

  4. In Cloud Shell, se viene visualizzata un'opzione per scegliere tra Bash e PowerShell, selezionare Bash.In the Cloud Shell, if you see an option to select between Bash and PowerShell, select Bash.

  5. Se si usa Cloud Shell per la prima volta, creare un account di archiviazione selezionando Crea risorsa di archiviazione.If you are using the Cloud Shell for the first time, create a storage account by selecting Create storage. Azure Cloud Shell richiede un account di archiviazione di Azure per archiviare alcuni file.Azure Cloud Shell requires an Azure storage account to store some files.

    Creare un account di archiviazione per Cloud Shell

  6. Attendere finché non viene inizializzata Cloud Shell.Wait until the Cloud Shell is initialized.

    Cloud Shell inizializzata

  7. Creare un gruppo di risorse di Azure eseguendo il comando CLI seguente:Create an Azure resource group by running the following CLI command:

    1. Copiare e incollare il comando seguente nella finestra di Cloud Shell.Copy and paste the following command into the Cloud Shell window. Se si desidera, modificare il nome del gruppo di risorse e la località.Change the resource group name and location if you want.

      az group create -l eastus -n rgDataMigration
      
    2. Premere INVIO.Press ENTER.

      Esempio:Here is an example:

      user@Azure:~$ az group create -l eastus -n rgDataMigration
      {
        "id": "/subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/rgDataMigration",
        "location": "eastus",
        "managedBy": null,
        "name": "rgDataMigration",
        "properties": {
          "provisioningState": "Succeeded"
        },
        "tags": null
      }
      
  8. Distribuire tutte le risorse menzionate nella sezione precedente (hub eventi, account di archiviazione, app per le funzioni, Azure Synapse Analytics) eseguendo il comando dell'interfaccia della riga di comando seguente:Deploy all the resources mentioned in the previous section (event hub, storage account, functions app, Azure Synapse Analytics) by running the following CLI command:

    1. Copiare e incollare il comando nella finestra di Cloud Shell.Copy and paste the command into the Cloud Shell window. In alternativa, è possibile copiare/incollare in un editor di propria scelta, impostare i valori, quindi copiare il comando in Cloud Shell.Alternatively, you may want to copy/paste into an editor of your choice, set values, and then copy the command to the Cloud Shell.

      Importante

      Specificare i valori per le entità seguenti prima di eseguire il comando:Specify values for the following entities before running the command:

      • Nome del gruppo di risorse creato in precedenza.Name of the resource group you created earlier.
      • Nome dello spazio dei nomi dell'hub eventi.Name for the event hub namespace.
      • Nome dell'hub eventi.Name for the event hub. È possibile lasciare il valore così com'è (hubdatamigration).You can leave the value as it is (hubdatamigration).
      • Nome del server SQL.Name for the SQL server.
      • Nome dell'utente e della password SQL.Name of the SQL user and password.
      • Nome del database.Name for the database.
      • Nome dell'account di archiviazione.Name of the storage account.
      • Nome dell’app per le funzioni.Name for the function app.
      az deployment group create \
          --resource-group rgDataMigration \
          --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/event-grid/EventHubsDataMigration.json \
          --parameters eventHubNamespaceName=<event-hub-namespace> eventHubName=hubdatamigration sqlServerName=<sql-server-name> sqlServerUserName=<user-name> sqlServerPassword=<password> sqlServerDatabaseName=<database-name> storageName=<unique-storage-name> functionAppName=<app-name>
      
    2. Premere INVIO nella finestra di Cloud Shell per eseguire il comando.Press ENTER in the Cloud Shell window to run the command. Questo processo potrebbe richiedere qualche minuto, poiché si sta creando una serie di risorse.This process may take a while since you are creating a bunch of resources. Nel risultato del comando, assicurarsi che non si siano verificati errori.In the result of the command, ensure that there have been no failures.

  9. Chiudere Cloud Shell selezionando il pulsante Cloud Shell nel portale oppure il pulsante X nell'angolo in alto a destra della finestra Cloud Shell.Close the Cloud Shell by selecting the Cloud Shell button in the portal (or) X button in the top-right corner of the Cloud Shell window.

Verificare che siano state create le risorseVerify that the resources are created

  1. Nel portale di Azure, selezionare Gruppi di risorse nel menu a sinistra.In the Azure portal, select Resource groups on the left menu.

  2. Filtrare l'elenco dei gruppi di risorse immettendo il nome del gruppo di risorse nella casella di ricerca.Filter the list of resource groups by entering the name of your resource group in the search box.

  3. Selezionare il gruppo di risorse nell'elenco.Select your resource group in the list.

    Selezionare un gruppo di risorse

  4. Confermare che le risorse seguenti sono visibili nel gruppo di risorse:Confirm that you see the following resources in the resource group:

    Risorse nel gruppo di risorse

Creare una tabella in Azure Synapse AnalyticsCreate a table in Azure Synapse Analytics

Creare una tabella nel data warehouse mediante l'esecuzione dello script CreateDataWarehouseTable.sql.Create a table in your data warehouse by running the CreateDataWarehouseTable.sql script. Per eseguire lo script, è possibile usare Visual Studio o l'Editor di query nel portale.To run the script, you can use Visual Studio or the Query Editor in the portal. I passaggi seguenti mostrano come usare l'Editor di query:The following steps show you how to use the Query Editor:

  1. Nell'elenco di risorse nel gruppo di risorse selezionare il pool SQL dedicato.In the list of resources in the resource group, select your dedicated SQL pool.

  2. Nel menu sinistro della sezione Attività comuni nella pagina Pool SQL dedicato selezionare Editor di query (anteprima) .On the Dedicated SQL pool page, in the Common Tasks section on the left menu, select Query editor (preview).

    Pagina Azure Synapse Analytics

  3. Immettere il nome dell'utente e la password per il server SQL e selezionare OK.Enter the name of user and password for the SQL server, and select OK. Se viene visualizzato un messaggio che chiede se consentire al client di accedere al server SQL, procedere come segue:If you see a message about allowing your client to access the SQL server, follow these steps:

    1. Selezionare il collegamento Imposta firewall server.Select the link: Set server firewall.
    2. Nella pagina Impostazioni del firewall selezionare Aggiungi IP client e quindi Salva sulla barra degli strumenti.On the Firewall settings page, select Add client IP on the toolbar, and then select Save on the toolbar.
    3. Selezionare OK nella finestra del messaggio di operazione riuscita.Select OK on the success message.
    4. Tornare nella pagina Pool SQL dedicato e selezionare Editor di query (anteprima) nel menu sinistro.Navigate back to the Dedicated SQL pool page, and select Query editor (preview) on the left menu.
    5. Immettere nome utente e password e selezionare OK.Enter user and password, and then select OK.
  4. Nella finestra di query, copiare ed eseguire lo script SQL seguente:In the query window, copy and run the following SQL script:

    CREATE TABLE [dbo].[Fact_WindTurbineMetrics] (
        [DeviceId] nvarchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, 
        [MeasureTime] datetime NULL, 
        [GeneratedPower] float NULL, 
        [WindSpeed] float NULL, 
        [TurbineSpeed] float NULL
    )
    WITH (CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = ROUND_ROBIN);
    

    Eseguire query SQL

  5. Mantenere questa scheda o finestra aperta in modo che sia possibile verificare che i dati vengono creati al termine dell'esercitazione.Keep this tab or window open so that you can verify that the data is created at the end of the tutorial.

Aggiornare la versione del runtime della funzioneUpdate the function runtime version

  1. Aprire un'altra scheda del Web browser e passare al portale di Azure.Open another tab in the web browser, and navigate to Azure portal.

  2. Nel portale di Azure, selezionare Gruppi di risorse nel menu a sinistra.In the Azure portal, select Resource groups on the left menu.

  3. Selezionare il gruppo di risorse in cui è presente l'app per le funzioni.Select the resource group in which the function app exists.

  4. Selezionare l'app per le funzioni nell'elenco di risorse del gruppo.Select the function app in the list of resources in the resource group.

  5. Selezionare Configurazione in Impostazioni nel menu a sinistra.Select Configuration under Settings on the left menu.

  6. Passare alla scheda Impostazioni di runtime della funzione nel riquadro a destra.Switch to the Function runtime settings tab in the right pane.

  7. Aggiornare Versione runtime a ~3.Update the runtime version to ~3.

    Aggiornare la versione del runtime della funzione

  8. Sulla barra degli strumenti selezionare Salva.Select Save on the toolbar.

  9. Nel popup di conferma Salva modifiche selezionare Continua.On the Save changes confirmation popup, select Continue.

Pubblicare l'app Funzioni di AzurePublish the Azure Functions app

  1. Avviare Visual Studio.Launch Visual Studio.

  2. Aprire la soluzione EventHubsCaptureEventGridDemo.sln scaricata dal GitHub come parte dei prerequisiti.Open the EventHubsCaptureEventGridDemo.sln solution that you downloaded from the GitHub as part of the prerequisites. È possibile trovarla nella cartella /samples/e2e/EventHubsCaptureEventGridDemo.You can find it in the /samples/e2e/EventHubsCaptureEventGridDemo folder.

  3. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto FunctionEGDWDumper e scegliere Pubblica.In Solution Explorer, right-click FunctionEGDWDumper project, and select Publish.

  4. Se si visualizza la schermata seguente, selezionare Avvia.If you see the following screen, select Start.

    Pulsante Avvia nella sezione Pubblica.

  5. Nella finestra di dialogo Pubblica selezionare Azure per Destinazione, quindi fare clic su Avanti.In the Publish dialog box, select Azure for Target, and select Next.

  6. Selezionare App per le funzioni di Azure (Windows) e quindi Avanti.Select Azure Function App (Windows), and select Next.

  7. Nella scheda Istanza di Funzioni selezionare la sottoscrizione di Azure, espandere il gruppo di risorse, selezionare l'app per le funzioni e quindi selezionare Fine.On the Functions instance tab, select your Azure subscription, expand the resource group, and select you function app, and then select Finish. È necessario accedere al proprio account Azure, se non si è già connessi.You need to sign into your Azure account if you haven't already done so.

    Selezionare l'app per le funzioni desiderata

  8. Nella sezione Dipendenze del servizio della pagina Pubblica selezionare Configura per Archiviazione.On the Publish page, in the Service Dependencies section, select Configure for Storage.

    Selezionare il collegamento Configura per la dipendenza del servizio archiviazione

  9. Nella pagina Configura la dipendenza seguire questa procedura:On the Configure dependency page, follow these steps:

    1. Selezionare l'account di archiviazione creato in precedenza e quindi selezionare Avanti.select the storage account you created earlier, and then select Next.

      Selezionare l'account di archiviazione

    2. Specificare un nome per la stringa di connessione e selezionare Nessuno per l'opzione Salva il valore della stringa di connessione in, quindi selezionare Avanti.Specify a name for the connection string, and select None for the Save connection string option, and then select Next.

      Specificare il nome della stringa di connessione

    3. Deselezionare le opzioni File di codice C# e Archivio segreti e quindi selezionare Fine.Clear the C# code file and Secrets store option, and then select Finish.

      Esaminare il riepilogo delle modifiche

  10. Quando il profilo è stato configurato automaticamente in Visual Studio, selezionare Pubblica.When Visual Studio has configured the profile, select Publish.

    Select publish

  11. Nella scheda in cui è aperta la pagina Funzione di Azure selezionare Funzioni nel menu sinistro.In the tab that has the Azure Function page open, select Functions on the left menu. Verificare che la funzione EventGridTriggerMigrateData sia visualizzata nell'elenco.Confirm that the EventGridTriggerMigrateData function shows up in the list. Se non è visualizzata, provare a eseguirne di nuovo la pubblicazione in Visual Studio e quindi aggiornare la pagina nel portale.If you don't see it, try publishing from Visual Studio again, and then refresh the page in the portal.

    Confermare la creazione della funzione

Dopo aver pubblicato la funzione, si è pronti per sottoscrivere l'evento.After publishing the function, you're ready to subscribe to the event.

Sottoscrivere l'eventoSubscribe to the event

  1. In una nuova scheda o in una nuova finestra di un Web browser, passare al portale di Azure.In a new tab or new window of a web browser, navigate to the Azure portal.

  2. Nel portale di Azure, selezionare Gruppi di risorse nel menu a sinistra.In the Azure portal, select Resource groups on the left menu.

  3. Filtrare l'elenco dei gruppi di risorse immettendo il nome del gruppo di risorse nella casella di ricerca.Filter the list of resource groups by entering the name of your resource group in the search box.

  4. Selezionare il gruppo di risorse nell'elenco.Select your resource group in the list.

  5. Selezionare Spazio dei nomi di Hub eventi nell'elenco di risorse.Select the Event Hubs namespace from the list of resources.

  6. Nella pagina Spazio dei nomi di Hub eventi selezionare Eventi nel menu sinistro e quindi + Sottoscrizione di eventi sulla barra degli strumenti.On the Event Hubs Namespace page, select Events on the left menu, and then select + Event Subscription on the toolbar.

    Collegamento per l'aggiunta di una sottoscrizione di eventi nella pagina Eventi di Spazio dei nomi di Hub eventi

  7. Nella pagina Crea sottoscrizione di eventi procedere come segue:On the Create Event Subscription page, follow these steps:

    1. Immettere un nome per la sottoscrizione di eventi.Enter a name for the event subscription.

    2. Immettere un nome per l'argomento di sistema.Enter a name for the system topic. Un argomento di sistema fornisce al mittente un endpoint per l'invio di eventi.A system topic provides an endpoint for the sender to send events. Per altre informazioni, vedere Argomenti di sistemaFor more information, see System topics

    3. Per Tipo di endpoint, selezionare Funzione di Azure.For Endpoint Type, select Azure Function.

    4. Per Endpoint, selezionare il collegamento.For Endpoint, select the link.

    5. Nella pagina Seleziona funzione di Azure seguire questa procedura se i campi non vengono automaticamente compilati.On the Select Azure Function page, follow these steps if they aren't automatically filled.

      1. Selezionare la sottoscrizione di Azure che include la funzione di Azure.Select the Azure subscription that has the Azure function.
      2. Selezionare il gruppo di risorse per la funzione.Select the resource group for the function.
      3. Selezionare l'app per le funzioni.Select the function app.
      4. Selezionare lo slot di distribuzione.Select the deployment slot.
      5. Selezionare la funzione EventGridTriggerMigrateData.Select the function EventGridTriggerMigrateData.
    6. Nella pagina Seleziona funzione di Azure selezionare Conferma selezione.On the Select Azure Function page, select Confirm Selection.

    7. Quindi di nuovo nella pagina Crea sottoscrizione di eventi selezionare Crea.Then, back on the Create Event Subscription page, select Create.

      Creare una sottoscrizione di eventi usando la funzione

  8. Verificare che la sottoscrizione di eventi sia stata creata.Verify that the event subscription is created. Passare alla scheda Sottoscrizione di eventi della scheda Eventi per lo spazio dei nomi di Hub eventi.Switch to the Event Subscriptions tab on the Events page for the Event Hubs namespace.

    Confermare la sottoscrizione di eventi

  9. Selezionare il piano di servizio app (non il servizio app) nell'elenco delle risorse nel gruppo di risorse.Select the App Service plan (not the App Service) in the list of resources in the resource group.

Eseguire l'app per generare i datiRun the app to generate data

È stata completata la configurazione dell'hub eventi, del pool SQL dedicato (in precedenza SQL Data Warehouse), dell'app per le funzioni di Azure e della sottoscrizione di eventi.You've finished setting up your event hub, dedicate SQL pool (formerly SQL Data Warehouse), Azure function app, and event subscription. Prima di eseguire un'applicazione che genera i dati per l'hub eventi, è necessario configurare alcuni valori.Before running an application that generates data for event hub, you need to configure a few values.

  1. Nel portale di Azure, passare al gruppo di risorse come in precedenza.In the Azure portal, navigate to your resource group as you did earlier.

  2. Selezionare lo spazio dei nomi di Hub eventi.Select the Event Hubs namespace.

  3. Nella pagina Spazio dei nomi di Hub eventi, selezionare Criteri di accesso condivisi nel menu a sinistra.In the Event Hubs Namespace page, select Shared access policies on the left menu.

  4. Selezionare RootManageSharedAccessKey nell'elenco dei criteri.Select RootManageSharedAccessKey in the list of policies.

    Pagina Criteri di accesso condivisi per uno spazio dei nomi di Hub eventi

  5. Selezionare il pulsante di copia accanto alla casella di testo Chiave primaria della stringa di connessione.Select the copy button next to the Connection string-primary key text box.

  6. Tornare alla soluzione Visual Studio.Go back to your Visual Studio solution.

  7. Fare clic con il pulsante destro sul progetto WindTurbineDataGenerator e scegliere Imposta come progetto di avvio.Right-click WindTurbineDataGenerator project, and select Set as Startup project.

  8. Nel progetto WindTurbineDataGenerator aprire program.cs.In the WindTurbineDataGenerator project, open program.cs.

  9. Sostituire <EVENT HUBS NAMESPACE CONNECTION STRING> con la stringa di connessione copiata dal portale.Replace <EVENT HUBS NAMESPACE CONNECTION STRING> with the connection string you copied from the portal.

  10. Sostituire <EVENT HUB NAME> con il nome dell'hub eventi.Replace <EVENT HUB NAME> with the name of the event hub.

    private const string EventHubConnectionString = "Endpoint=sb://demomigrationnamespace.servicebus.windows.net/...";
    private const string EventHubName = "hubdatamigration";
    
  11. Compilare la soluzione.Build the solution. Eseguire l'applicazione WindTurbineGenerator.exe.Run the WindTurbineGenerator.exe application.

  12. Dopo un paio di minuti, nell'altra scheda del browser in cui è aperta la finestra della query, eseguire una query sulla tabella del data warehouse per trovare i dati trasferiti.After a couple of minutes, in the other browser tab where you have the query window open, query the table in your data warehouse for the migrated data.

    select * from [dbo].[Fact_WindTurbineMetrics]    
    

    Risultati query

Monitorare la soluzioneMonitor the solution

Questa sezione illustra come monitorare o risolvere i problemi della soluzione.This section helps you with monitoring or troubleshooting the solution.

Visualizzare i dati acquisiti nell'account di archiviazioneView captured data in the storage account

  1. Passare al gruppo di risorse e selezionare l'account di archiviazione usato per l'acquisizione dei dati degli eventi.Navigate to the resource group and select the storage account used for capturing event data.

  2. Nella pagina Account di archiviazione selezionare Storage Explorer (anteprima) nel menu sinistro.On the Storage account page, select Storage Explorer (preview) on the left menu.

  3. Espandere Contenitori BLOB e selezionare windturbinecapture.Expand BLOB CONTAINERS, and select windturbinecapture.

  4. Aprire la cartella con lo stesso nome dello spazio dei nomi di Hub eventi nel riquadro destro.Open the folder named same as your Event Hubs namespace in the right pane.

  5. Aprire la cartella con lo stesso nome dell'hub eventi (hubdatamigration).Open the folder named same as your event hub (hubdatamigration).

  6. Scorrere le cartelle fino a visualizzare i file AVRO.Drill through the folders and you see the AVRO files. Ecco un esempio:Here's an example:

    File acquisito nell'account di archiviazione

Verificare che il trigger di Griglia di eventi abbia richiamato la funzioneVerify that the Event Grid trigger invoked the function

  1. Passare al gruppo di risorse e selezionare l'app per le funzioni.Navigate to the resource group and select the function app.

  2. Selezionare Funzioni nel menu sinistro.Select Functions on the left menu.

  3. Selezionare la funzione EventGridTriggerMigrateData nell'elenco.Select the EventGridTriggerMigrateData function from the list.

  4. Nella pagina Funzione selezionare Monitoraggio nel menu sinistro.On the Function page, select Monitor on the left menu.

  5. Selezionare Configura per configurare Application Insights in modo da acquisire il log di chiamate.Select Configure to configure application insights to capture invocation logs.

  6. Creare una nuova risorsa di Application Insights o selezionarne una esistente.Create a new Application Insights resource or use an existing resource.

  7. Tornare nella pagina Monitoraggio per la funzione.Navigate back to the Monitor page for the function.

  8. Verificare che l'applicazione client (WindTurbineDataGenerator) che invia gli eventi sia ancora in esecuzione.Confirm that the client application (WindTurbineDataGenerator) that's sending the events is still running. In caso contrario, eseguire l'app.If not, run the app.

  9. Attendere almeno 5 minuti e quindi selezionare il pulsante Aggiorna per visualizzare le chiamate alla funzione.Wait for a few minutes (5 minutes or more) and select the Refresh button to see function invocations.

    Chiamate alla funzione

  10. Selezionare una chiamata per visualizzare i dettagli.Select an invocation to see details.

    Griglia di eventi distribuisce i dati dell'evento ai sottoscrittori.Event Grid distributes event data to the subscribers. L'esempio seguente mostra i dati di evento generati quando i dati trasmessi attraverso un hub eventi vengono acquisiti in un BLOB.The following example shows event data generated when data streaming through an event hub is captured in a blob. In particolare, si noti la fileUrl proprietà nei data punti oggetto nel BLOB nella risorsa di archiviazione.In particular, notice the fileUrl property in the data object points to the blob in the storage. L'app per le funzioni usa questo URL per recuperare il file BLOB con i dati acquisiti.The function app uses this URL to retrieve the blob file with captured data.

    {
        "topic": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourcegroups/rgDataMigration/providers/Microsoft.EventHub/namespaces/spehubns1207",
        "subject": "hubdatamigration",
        "eventType": "Microsoft.EventHub.CaptureFileCreated",
        "id": "4538f1a5-02d8-4b40-9f20-36301ac976ba",
        "data": {
            "fileUrl": "https://spehubstorage1207.blob.core.windows.net/windturbinecapture/spehubns1207/hubdatamigration/0/2020/12/07/21/49/12.avro",
            "fileType": "AzureBlockBlob",
            "partitionId": "0",
            "sizeInBytes": 473444,
            "eventCount": 2800,
            "firstSequenceNumber": 55500,
            "lastSequenceNumber": 58299,
            "firstEnqueueTime": "2020-12-07T21:49:12.556Z",
            "lastEnqueueTime": "2020-12-07T21:50:11.534Z"
        },
        "dataVersion": "1",
        "metadataVersion": "1",
        "eventTime": "2020-12-07T21:50:12.7065524Z"
    }
    

Verificare che i dati siano archiviati nel pool SQL dedicatoVerify that the data is stored in the dedicated SQL pool

Nella scheda del browser in cui è aperta la finestra della query, eseguire una query sulla tabella del pool SQL dedicato per trovare i dati trasferiti.In the browser tab where you have the query window open, query the table in your dedicated SQL pool for the migrated data.

Risultati query

Passaggi successiviNext steps

È possibile usare strumenti di visualizzazione avanzata dei dati con il data warehouse per ottenere informazioni operative dettagliate.You can use powerful data visualization tools with your data warehouse to achieve actionable insights.

Questo articolo illustra come usare Power BI con Azure Synapse AnalyticsThis article shows how to use Power BI with Azure Synapse Analytics