Tutoriel : Diffuser en continu des Big Data dans un entrepôt de donnéesTutorial: Stream big data into a data warehouse

Azure Event Grid est un service de routage des événements intelligent qui vous permet de réagir aux notifications ou événements issus des applications et services.Azure Event Grid is an intelligent event routing service that enables you to react to notifications or events from apps and services. Par exemple, ce service peut déclencher le traitement par une fonction Azure des données Event Hubs capturées dans un Stockage Blob ou Data Lake Storage.For example, it can trigger an Azure Function to process Event Hubs data that's captured to a Blob storage or Data Lake Storage. Cet exemple vous montre comment utiliser Event Grid et Azure Functions pour migrer des données Event Hubs capturées d’un Stockage Blob vers Azure Synapse Analytics, plus précisément un pool SQL dédié.This sample shows you how to use Event Grid and Azure Functions to migrate captured Event Hubs data from blob storage to Azure Synapse Analytics, specifically a dedicated SQL pool.

Vue d’ensemble de l’application

Ce diagramme illustre le flux de travail de la solution que vous créez dans ce didacticiel :This diagram depicts the workflow of the solution you build in this tutorial:

  1. Les données envoyées à un hub d’événements Azure sont capturées dans un stockage d’objet blob Azure.Data sent to an Azure event hub is captured in an Azure blob storage.
  2. Lorsque la capture de données est terminée, un événement est généré et envoyé à Azure Event Grid.When the data capture is complete, an event is generated and sent to an Azure event grid.
  3. Event Grid transfert ces données d’événements à une application de fonction Azure.The event grid forwards this event data to an Azure function app.
  4. L’application de fonction utilise l’URL d’objet blob dans les données d’événement pour récupérer l’objet blob depuis le stockage.The function app uses the blob URL in the event data to retrieve the blob from the storage.
  5. L’application de fonction effectue la migration des données blob vers Azure Synapse Analytics.The function app migrates the blob data to an Azure Synapse Analytics.

Dans cet article, vous procédez comme suit :In this article, you take the following steps:

  • Déployer l’infrastructure requise pour le tutorielDeploy the required infrastructure for the tutorial
  • Publier du code vers une application de fonctionPublish code to a Functions App
  • Créer un abonnement Event GridCreate an Event Grid subscription
  • Envoyer en streaming les exemples de données vers Event HubsStream sample data into Event Hubs
  • Vérifier les données capturées dans Azure Synapse AnalyticsVerify captured data in Azure Synapse Analytics

PrérequisPrerequisites

Pour suivre ce didacticiel, vous avez besoin de :To complete this tutorial, you must have:

  • Un abonnement Azure.An Azure subscription. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.
  • Visual studio 2019 avec des charges de travail pour : le développement de bureau .NET, le développement Azure, le développement ASP.NET et web, le développement Node.js et le développement Python.Visual studio 2019 with workloads for: .NET desktop development, Azure development, ASP.NET and web development, Node.js development, and Python development.
  • Télécharger l’exemple de projet EventHubsCaptureEventGridDemo sur votre ordinateur.Download the EventHubsCaptureEventGridDemo sample project to your computer.
    • WindTurbineDataGenerator – un éditeur simple qui envoie des exemples de données d’éoliennes vers un hub d’événements avec la capture activéeWindTurbineDataGenerator – A simple publisher that sends sample wind turbine data to a capture-enabled event hub
    • FunctionDWDumper – une Azure Function qui reçoit une notification de Event Grid lorsqu’un fichier Avro est capturé dans l’objet blob de stockage Azure.FunctionDWDumper – An Azure Function that receives an Event Grid notification when an Avro file is captured to the Azure Storage blob. Elle reçoit le chemin de l’URI de l’objet blob, lit son contenu et envoie (push) ces données vers Azure Synapse Analytics (pool SQL dédié).It receives the blob’s URI path, reads its contents, and pushes this data to Azure Synapse Analytics (dedicated SQL pool).

Déployer l’infrastructureDeploy the infrastructure

Dans cette étape, vous déployez l’infrastructure requise avec un modèle Resource Manager.In this step, you deploy the required infrastructure with a Resource Manager template. Lorsque vous déployez le modèle, les ressources suivantes sont créées :When you deploy the template, the following resources are created:

  • Un hub d’événements avec la fonctionnalité Capture activée.Event hub with the Capture feature enabled.
  • Un compte de stockage pour fichiers capturés.Storage account for the captured files.
  • Un plan App Service pour héberger l’application de fonction.App service plan for hosting the function app
  • Application de fonction pour traiter l’événementFunction app for processing the event
  • SQL Server pour héberger l’entrepôt de donnéesSQL Server for hosting the data warehouse
  • Azure Synapse Analytics (pool SQL dédié) pour stocker les données migréesAzure Synapse Analytics (dedicated SQL pool) for storing the migrated data

Utiliser Azure CLI pour déployer l’infrastructureUse Azure CLI to deploy the infrastructure

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.

  2. Sélectionnez le bouton Cloud Shell en haut.Select Cloud Shell button at the top.

    Azure portal

  3. Cloud Shell s’ouvre dans la partie inférieure du navigateur.You see the Cloud Shell opened at the bottom of the browser.

    Cloud Shell

  4. Dans Cloud Shell, si vous avez la possibilité de choisir entre Bash et PowerShell, sélectionnez Bash.In the Cloud Shell, if you see an option to select between Bash and PowerShell, select Bash.

  5. Si vous utilisez Cloud Shell pour la première fois, créez un compte de stockage en sélectionnant Créer le stockage.If you are using the Cloud Shell for the first time, create a storage account by selecting Create storage. Azure Cloud Shell requiert un compte de stockage Azure pour stocker des fichiers.Azure Cloud Shell requires an Azure storage account to store some files.

    Créer un stockage pour Cloud Shell

  6. Attendez que le Cloud Shell soit initialisé.Wait until the Cloud Shell is initialized.

    Cloud Shell initialisé

  7. Créez un groupe de ressources Azure en exécutant la commande CLI suivante :Create an Azure resource group by running the following CLI command:

    1. Copiez et collez la commande suivante dans la fenêtre Cloud Shell.Copy and paste the following command into the Cloud Shell window. Si vous le souhaitez, modifiez le nom et l’emplacement du groupe de ressources.Change the resource group name and location if you want.

      az group create -l eastus -n rgDataMigration
      
    2. Appuyez sur Entrée.Press ENTER.

      Voici un exemple :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. Déployez toutes les ressources mentionnées dans la section précédente (hub d’événements, compte de stockage, application de fonction, Azure Synapse Analytics) en exécutant la commande CLI suivante :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. Copiez et collez la commande dans la fenêtre Cloud Shell.Copy and paste the command into the Cloud Shell window. Vous pouvez également copier/coller la commande dans l’éditeur de votre choix, définir des valeurs, puis la copiez dans 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.

      Important

      Spécifiez des valeurs pour les entités suivantes avant d’exécuter la commande :Specify values for the following entities before running the command:

      • Nom du groupe de ressources créé précédemment.Name of the resource group you created earlier.
      • Nom de l’espace de noms Event Hub.Name for the event hub namespace.
      • Nom du hub d’événements.Name for the event hub. Vous pouvez laisser la valeur telle quelle (hubdatamigration).You can leave the value as it is (hubdatamigration).
      • Nom du serveur SQL.Name for the SQL server.
      • Nom de l’utilisateur SQL et mot de passe.Name of the SQL user and password.
      • Nom de la base de données.Name for the database.
      • Nom du compte de stockage.Name of the storage account.
      • Nom de l’application de fonction.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. Appuyez sur Entrée dans la fenêtre Cloud Shell pour exécuter la commande.Press ENTER in the Cloud Shell window to run the command. Ce processus peut prendre un certain temps dans la mesure où vous créez beaucoup de ressources.This process may take a while since you are creating a bunch of resources. Dans le résultat de la commande, assurez-vous qu’il n’y a eu aucun échec.In the result of the command, ensure that there have been no failures.

  9. Fermez Cloud Shell en sélectionnant le bouton Cloud Shell dans le portail (ou) le bouton X dans le coin supérieur droit de la fenêtre 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.

Vérifier que les ressources ont été crééesVerify that the resources are created

  1. Dans le portail Azure, sélectionnez Groupes de ressources dans le menu de gauche.In the Azure portal, select Resource groups on the left menu.

  2. Filtrez la liste des groupes de ressources en entrant le nom de votre groupe de ressources dans la zone de recherche.Filter the list of resource groups by entering the name of your resource group in the search box.

  3. Sélectionnez votre groupe de ressources dans la liste.Select your resource group in the list.

    Sélectionnez votre groupe de ressources

  4. Vérifiez que les ressources suivantes s’affichent dans le groupe de ressources :Confirm that you see the following resources in the resource group:

    Ressources comprises dans le groupe de ressources

Créer une table dans Azure Synapse AnalyticsCreate a table in Azure Synapse Analytics

Créez une table dans votre entrepôt de données en exécutant le script CreateDataWarehouseTable.sql.Create a table in your data warehouse by running the CreateDataWarehouseTable.sql script. Pour exécuter le script, vous pouvez utiliser Visual Studio ou l’éditeur de requête dans le portail.To run the script, you can use Visual Studio or the Query Editor in the portal. Les étapes suivantes montrent comment utiliser l’éditeur de requête :The following steps show you how to use the Query Editor:

  1. Dans la liste des ressources comprises dans le groupe de ressources, sélectionnez votre pool SQL dédié.In the list of resources in the resource group, select your dedicated SQL pool.

  2. Dans la page Pool SQL dédié, dans la section Tâches courantes du menu de gauche, sélectionnez Éditeur de requêtes (préversion) .On the Dedicated SQL pool page, in the Common Tasks section on the left menu, select Query editor (preview).

    Page Azure Synapse Analytics

  3. Entrez le nom d’utilisateur et le mot de passe du serveur SQL, puis sélectionnez OK.Enter the name of user and password for the SQL server, and select OK. Si un message s’affiche pour autoriser votre client à accéder au serveur SQL Server, effectuez ces étapes :If you see a message about allowing your client to access the SQL server, follow these steps:

    1. Sélectionnez le lien : Définir le pare-feu du serveur.Select the link: Set server firewall.
    2. Dans la page Paramètres du pare-feu, sélectionnez Ajouter une adresse IP cliente dans la barre d’outils, puis sélectionnez Enregistrer dans la barre d’outils.On the Firewall settings page, select Add client IP on the toolbar, and then select Save on the toolbar.
    3. Sélectionnez OK dans le message de réussite.Select OK on the success message.
    4. Revenez dans la page Pool SQL dédié, puis sélectionnez Éditeur de requêtes (préversion) dans le menu de gauche.Navigate back to the Dedicated SQL pool page, and select Query editor (preview) on the left menu.
    5. Entrez l'utilisateur et le mot de passe, puis sélectionnez OK.Enter user and password, and then select OK.
  4. Dans la fenêtre de requête, copiez et exécutez le script SQL suivant :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);
    

    Exécuter une requête SQL

  5. Ne fermez pas cet onglet ou cette fenêtre pour pouvoir vérifier que les données ont été créées à la fin du didacticiel.Keep this tab or window open so that you can verify that the data is created at the end of the tutorial.

Mettre à jour la version d’exécution de la fonctionUpdate the function runtime version

  1. Ouvrez un autre onglet dans le navigateur web, puis accédez au portail Azure.Open another tab in the web browser, and navigate to Azure portal.

  2. Dans le portail Azure, sélectionnez Groupes de ressources dans le menu de gauche.In the Azure portal, select Resource groups on the left menu.

  3. Sélectionnez le groupe de ressources dans lequel se trouve l’application de fonction.Select the resource group in which the function app exists.

  4. Sélectionnez l’application de fonction dans la liste des ressources du groupe de ressources.Select the function app in the list of resources in the resource group.

  5. Sélectionnez Configuration sous Paramètres dans le volet gauche.Select Configuration under Settings on the left menu.

  6. Basculez vers l’onglet Paramètres d’exécution de la fonction dans le volet droit.Switch to the Function runtime settings tab in the right pane.

  7. Mettez à jour la version du runtime sur ~3.Update the runtime version to ~3.

    Mettre à jour la version d’exécution de la fonction

  8. Sélectionnez Enregistrer dans la barre d’outils.Select Save on the toolbar.

  9. Dans la fenêtre contextuelle de confirmation Enregistrer les modifications, sélectionnez Continuer.On the Save changes confirmation popup, select Continue.

Publie l’application Azure FunctionsPublish the Azure Functions app

  1. Lancez Visual Studio.Launch Visual Studio.

  2. Ouvrez la solution EventHubsCaptureEventGridDemo.sln que vous avez téléchargée depuis GitHub dans le cadre des conditions préalables.Open the EventHubsCaptureEventGridDemo.sln solution that you downloaded from the GitHub as part of the prerequisites. La solution se trouve dans le dossier /samples/e2e/EventHubsCaptureEventGridDemo.You can find it in the /samples/e2e/EventHubsCaptureEventGridDemo folder.

  3. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet FunctionEGDWDumper, puis sélectionnez Publier.In Solution Explorer, right-click FunctionEGDWDumper project, and select Publish.

  4. Si l’écran suivant apparaît, sélectionnez Démarrer.If you see the following screen, select Start.

    Bouton Démarrer dans la section Publier.

  5. Dans la boîte de dialogue Publier, sélectionnez Azure dans Cible, puis sélectionnez Suivant.In the Publish dialog box, select Azure for Target, and select Next.

  6. Sélectionnez Application de fonction Azure (Windows) , puis Suivant.Select Azure Function App (Windows), and select Next.

  7. Sous l’onglet Instance Functions, sélectionnez votre abonnement Azure, développez le groupe de ressources, sélectionnez votre application de fonction, puis sélectionnez Terminer.On the Functions instance tab, select your Azure subscription, expand the resource group, and select you function app, and then select Finish. Vous devez le cas échéant vous connecter à votre compte Microsoft Azure.You need to sign into your Azure account if you haven't already done so.

    Sélectionnez votre application de fonction

  8. Dans la page Publier, dans la section Dépendances de service, sélectionnez Configurer pour Stockage.On the Publish page, in the Service Dependencies section, select Configure for Storage.

    Sélectionner le lien Configurer pour la dépendance du service de stockage

  9. Dans la page Configurer la dépendance, effectuez les étapes suivantes :On the Configure dependency page, follow these steps:

    1. Sélectionnez le compte de stockage que vous avez préalablement créé, puis sélectionnez Suivant.select the storage account you created earlier, and then select Next.

      Sélectionner un compte de stockage

    2. Spécifiez un nom de chaîne de connexion, sélectionnez Aucun pour l’option Enregistrer la chaîne de connexion, puis sélectionnez Suivant.Specify a name for the connection string, and select None for the Save connection string option, and then select Next.

      Spécifier un nom de chaîne de connexion

    3. Désactivez l’option Fichier de code C# et l’option Magasin de secrets, puis sélectionnez Terminer.Clear the C# code file and Secrets store option, and then select Finish.

      Revoir le récapitulatif des modifications

  10. Lorsque Visual Studio a configuré le profil, sélectionnez Publier.When Visual Studio has configured the profile, select Publish.

    Select publish

  11. Sous l’onglet où la page Azure Function est ouverte, sélectionnez Fonctions dans le menu de gauche.In the tab that has the Azure Function page open, select Functions on the left menu. Vérifiez que la fonction EventGridTriggerMigrateData figure dans la liste.Confirm that the EventGridTriggerMigrateData function shows up in the list. Si vous ne la voyez pas, réessayez de la publier à partir de Visual Studio, puis actualisez la page dans le portail.If you don't see it, try publishing from Visual Studio again, and then refresh the page in the portal.

    Confirmer la création de la fonction

Après la publication de la fonction, vous êtes prêt à vous abonner à l’événement.After publishing the function, you're ready to subscribe to the event.

S’abonner à l’événementSubscribe to the event

  1. Accédez au portail Azure depuis une nouvelle fenêtre ou un nouvel onglet dans un navigateur web.In a new tab or new window of a web browser, navigate to the Azure portal.

  2. Dans le portail Azure, sélectionnez Groupes de ressources dans le menu de gauche.In the Azure portal, select Resource groups on the left menu.

  3. Filtrez la liste des groupes de ressources en entrant le nom de votre groupe de ressources dans la zone de recherche.Filter the list of resource groups by entering the name of your resource group in the search box.

  4. Sélectionnez votre groupe de ressources dans la liste.Select your resource group in the list.

  5. Sélectionnez l’espace de noms Event Hubs dans la liste des ressources.Select the Event Hubs namespace from the list of resources.

  6. Dans la page Espace de noms Event Hubs , sélectionnez Événements dans le menu de gauche, puis sélectionnez + Abonnement aux événements dans la barre d’outils.On the Event Hubs Namespace page, select Events on the left menu, and then select + Event Subscription on the toolbar.

    Lien Ajouter un abonnement à un événement dans la page Événements pour un espace de noms Event Hubs

  7. Dans la page Créer un abonnement aux événements, effectuez les étapes suivantes :On the Create Event Subscription page, follow these steps:

    1. Entrez un nom pour l’abonnement aux événements.Enter a name for the event subscription.

    2. Entrez un nom pour la rubrique système.Enter a name for the system topic. Une rubrique système fournit un point de terminaison permettant l’envoi d’événements par l’expéditeur.A system topic provides an endpoint for the sender to send events. Pour plus d’informations, consultez Rubriques systèmeFor more information, see System topics

    3. Comme Type de point de terminaison, sélectionnez Fonction Azure.For Endpoint Type, select Azure Function.

    4. Pour Point de terminaison, sélectionnez le lien.For Endpoint, select the link.

    5. Dans la page Sélectionner une fonction Azure, effectuez les étapes suivantes pour les options qui ne sont pas automatiquement renseignées.On the Select Azure Function page, follow these steps if they aren't automatically filled.

      1. Sélectionnez l’abonnement Azure qui contient la fonction Azure.Select the Azure subscription that has the Azure function.
      2. Sélectionnez le groupe de ressources pour la fonction.Select the resource group for the function.
      3. Sélectionnez l’application de fonction.Select the function app.
      4. Sélectionnez l’emplacement de déploiement.Select the deployment slot.
      5. Sélectionnez la fonction EventGridTriggerMigrateData.Select the function EventGridTriggerMigrateData.
    6. Dans la page Sélectionner une fonction Azure, sélectionnez Confirmer la sélection.On the Select Azure Function page, select Confirm Selection.

    7. Ensuite, dans la page Créer un abonnement aux événements, sélectionnez Créer.Then, back on the Create Event Subscription page, select Create.

      Créer un abonnement aux événements à l’aide de la fonction

  8. Vérifiez que l’abonnement aux événements a été créé.Verify that the event subscription is created. Accédez à l’onglet Abonnements aux événements dans la page Événements de l’espace de noms Event Hubs.Switch to the Event Subscriptions tab on the Events page for the Event Hubs namespace.

    Confirmer l’abonnement aux événements

  9. Sélectionnez le plan App Service (et non App Service) dans la liste des ressources du groupe de ressources.Select the App Service plan (not the App Service) in the list of resources in the resource group.

Exécuter l’application pour générer des donnéesRun the app to generate data

Vous avez terminé de configurer le hub d’événements, le pool SQL dédié (anciennement SQL Data Warehouse), l’application de fonction Azure et l’abonnement aux événements.You've finished setting up your event hub, dedicate SQL pool (formerly SQL Data Warehouse), Azure function app, and event subscription. Avant d’exécuter une application qui génère des données pour le hub d’événements, vous devez configurer certaines valeurs.Before running an application that generates data for event hub, you need to configure a few values.

  1. Dans le portail Azure, accédez à votre groupe de ressources comme précédemment.In the Azure portal, navigate to your resource group as you did earlier.

  2. Sélectionner l’espace de noms Event Hubs.Select the Event Hubs namespace.

  3. Sur la page Espace de noms Event Hubs, cliquez sur Stratégies d’accès partagé dans le menu de gauche.In the Event Hubs Namespace page, select Shared access policies on the left menu.

  4. Sélectionnez RootManageSharedAccessKey dans la liste des stratégies.Select RootManageSharedAccessKey in the list of policies.

    Page Stratégies d’accès partagé pour un espace de noms Event Hubs

  5. Cliquez sur le bouton copier à côté de la zone de texte Clé primaire de la chaîne de connexion.Select the copy button next to the Connection string-primary key text box.

  6. Retournez à votre solution Visual Studio.Go back to your Visual Studio solution.

  7. Cliquez avec le bouton droit sur le projet WindTurbineDataGenerator, puis sélectionnez Définir comme projet de démarrage.Right-click WindTurbineDataGenerator project, and select Set as Startup project.

  8. Dans le projet WindTurbineDataGenerator, ouvrez program.cs.In the WindTurbineDataGenerator project, open program.cs.

  9. Remplacez <EVENT HUBS NAMESPACE CONNECTION STRING> par la chaîne de connexion que vous avez copiée du portail.Replace <EVENT HUBS NAMESPACE CONNECTION STRING> with the connection string you copied from the portal.

  10. Remplacez <EVENT HUB NAME> par le nom du hub d’événements.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. Générez la solution.Build the solution. Exécutez l’application WindTurbineGenerator.exe.Run the WindTurbineGenerator.exe application.

  12. Après quelques minutes, dans l’autre onglet de navigateur où la fenêtre de requête est ouverte, interrogez la table dans votre entrepôt de données pour obtenir les données migrées.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]    
    

    Résultats de la requête

Surveiller la solutionMonitor the solution

Cette section vous montre comment superviser la solution ou résoudre les problèmes que vous rencontrez avec elle.This section helps you with monitoring or troubleshooting the solution.

Afficher les données capturées dans le compte de stockageView captured data in the storage account

  1. Accédez au groupe de ressources et sélectionnez le compte de stockage utilisé pour capturer les données d’événement.Navigate to the resource group and select the storage account used for capturing event data.

  2. Dans la page Compte de stockage, sélectionnez Explorateur Stockage (préversion) dans le menu de gauche.On the Storage account page, select Storage Explorer (preview) on the left menu.

  3. Développez CONTENEURS BLOB, puis sélectionnez windturbinecapture.Expand BLOB CONTAINERS, and select windturbinecapture.

  4. Ouvrez le dossier du même nom que votre espace de noms Event Hubs dans le volet droit.Open the folder named same as your Event Hubs namespace in the right pane.

  5. Ouvrez le dossier du même nom que votre hub d’événements (hubdatamigration).Open the folder named same as your event hub (hubdatamigration).

  6. Explorez les dossiers pour trouver les fichiers AVRO.Drill through the folders and you see the AVRO files. Voici un exemple :Here's an example:

    Fichier capturé dans le stockage

Vérifier que le déclencheur Event Grid a appelé la fonctionVerify that the Event Grid trigger invoked the function

  1. Accédez au groupe de ressources et sélectionnez l’application de fonction.Navigate to the resource group and select the function app.

  2. Sélectionnez Fonctions dans le menu de gauche.Select Functions on the left menu.

  3. Sélectionnez la fonction EventGridTriggerMigrateData dans la liste.Select the EventGridTriggerMigrateData function from the list.

  4. Dans la page Fonction, sélectionnez Superviser dans le menu de gauche.On the Function page, select Monitor on the left menu.

  5. Sélectionnez Configurer pour configurer Application Insights afin de capturer les journaux d’appels.Select Configure to configure application insights to capture invocation logs.

  6. Créez une ressource Application Insights ou utilisez une ressource existante.Create a new Application Insights resource or use an existing resource.

  7. Revenez à la page Superviser pour la fonction.Navigate back to the Monitor page for the function.

  8. Vérifiez que l’application cliente (WindTurbineDataGenerator) qui envoie les événements est toujours en cours d’exécution.Confirm that the client application (WindTurbineDataGenerator) that's sending the events is still running. Si ce n’est pas le cas, réexécutez-la.If not, run the app.

  9. Patientez quelques minutes (au moins 5) et sélectionnez le bouton Actualiser pour voir les appels de fonction.Wait for a few minutes (5 minutes or more) and select the Refresh button to see function invocations.

    Appels de fonction

  10. Sélectionnez un appel pour en voir les détails.Select an invocation to see details.

    Event Grid distribue des données d’événement pour les abonnés.Event Grid distributes event data to the subscribers. L’exemple suivant montre les données d’événement générées lorsque des données en diffusion via un hub d’événements sont capturées dans un objet blob.The following example shows event data generated when data streaming through an event hub is captured in a blob. Notez en particulier que la propriété fileUrl dans l’objet data pointe vers l’objet blob dans le stockage.In particular, notice the fileUrl property in the data object points to the blob in the storage. L’application de fonction utilise cette URL pour récupérer le fichier blob avec des données capturées.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"
    }
    

Vérifier que les données sont stockées dans le pool SQL dédiéVerify that the data is stored in the dedicated SQL pool

Sous l’onglet du navigateur où la fenêtre de requête est ouverte, interrogez la table dans votre pool SQL dédié pour obtenir les données migrées.In the browser tab where you have the query window open, query the table in your dedicated SQL pool for the migrated data.

Résultats de la requête

Étapes suivantesNext steps