Partager via


Traiter des événements à l’aide d’un opérateur SQL (préversion)

Un opérateur SQL (préversion), également appelé éditeur de code SQL, est une nouvelle fonctionnalité de transformation de données dans les flux d’événements Microsoft Fabric. Les opérateurs SQL fournissent une expérience de modification de code dans laquelle vous pouvez facilement définir votre propre logique de transformation de données personnalisée à l’aide d’expressions SQL simples. Cet article explique comment utiliser un opérateur SQL pour les transformations de données dans un flux d’événements.

Note

Les noms d’artefacts Eventstream qui incluent un trait de soulignement (_) ou un point (.) ne sont pas compatibles avec les opérateurs SQL. Pour une expérience optimale, créez un flux d’événements sans utiliser de traits de soulignement ou de points dans le nom de l’artefact.

Prerequisites

  • Accès à un espace de travail en mode licence de capacité Fabric ou en mode licence d’évaluation avec des autorisations Contributeur ou supérieures.

Ajouter un opérateur SQL à un flux d’événements

Pour effectuer des opérations de traitement de flux sur vos flux de données à l’aide d’un opérateur SQL, ajoutez un opérateur SQL à votre flux d’événements en suivant les instructions suivantes :

  1. Créez un flux d’événements. Ajoutez ensuite un opérateur SQL à celui-ci à l’aide de l’une des options suivantes :

    • Dans le ruban, sélectionnez Transformer les événements, puis sélectionnez SQL.

      Capture d’écran montrant la sélection d’un opérateur SQL dans le menu pour la transformation d’événements.

    • Dans le canevas, sélectionnez Transformer des événements ou ajouter une destination, puis sélectionnez Code SQL.

      Capture d’écran montrant la sélection d’un opérateur SQL dans la liste pour la transformation d’événements sur le canevas.

  2. Un nouveau nœud SQL est ajouté à votre flux d’événements. Sélectionnez l’icône de crayon pour continuer à configurer l’opérateur SQL.

    Capture d’écran montrant la sélection de l’icône de crayon sur le nœud opérateur SQL.

  3. Dans le volet Code SQL , spécifiez un nom unique pour le nœud d’opérateur SQL dans le flux d’événements.

  4. Modifiez la requête dans la zone de requête ou sélectionnez Modifier la requête pour entrer la vue de l’éditeur de code plein écran.

    Capture d’écran montrant la zone permettant d’entrer un nom d’opération et le bouton permettant de modifier une requête dans le volet Code SQL.

  5. Le mode d’éditeur de code plein écran comprend un volet d’explorateur d’entrée/sortie sur le côté gauche. La section de l’éditeur de code est réglable. Vous pouvez donc la redimensionner selon vos préférences. La section d’aperçu en bas vous permet d’afficher à la fois vos données d’entrée et le résultat du test de votre requête.

    Capture d’écran montrant l’éditeur complet SQL.

  6. Sélectionnez le texte dans la section Sorties , puis entrez un nom pour le nœud de destination. L’opérateur SQL prend en charge toutes les destinations de Real-Time Intelligence, y compris un eventhouse, un lakehouse, un activateur ou un flux.

    Capture d’écran montrant la zone Sorties avec le bouton plus sélectionné.

  7. Spécifiez un alias ou un nom pour la destination de sortie où les données traitées via l’opérateur SQL sont écrites.

    Capture d’écran montrant le nom d’une sortie.

  8. Ajoutez une requête SQL pour la transformation de données requise.

    Un flux d’événements est basé sur Azure Stream Analytics et prend en charge la même sémantique de requête que le langage de requête Stream Analytics. Pour en savoir plus sur la syntaxe et l’utilisation, consultez La référence du langage de requête Azure Stream Analytics et Eventstream.

    Voici la structure de requête de base :

    SELECT 
    
        column1, column2, ... 
    
    INTO 
    
        [output alias] 
    
    FROM 
    
        [input alias] 
    

    Cet exemple de requête montre la détection de températures élevées dans une salle toutes les minutes :

    
        SELECT 
        System.Timestamp AS WindowEnd, 
        roomId, 
        AVG(temperature) AS AvgTemp 
    INTO 
        output 
    FROM 
        input 
    GROUP BY 
        roomId, 
        TumblingWindow(minute, 1) 
    HAVING 
        AVG(temperature) > 75 
    

    Cet exemple de requête montre une CASE instruction pour catégoriser la température :

    SELECT
        deviceId, 
        temperature, 
        CASE  
            WHEN temperature > 85 THEN 'High' 
            WHEN temperature BETWEEN 60 AND 85 THEN 'Normal' 
            ELSE 'Low' 
        END AS TempCategory 
    INTO 
        CategorizedTempOutput 
    FROM 
        SensorInput 
    
  9. Dans le ruban, utilisez la commande de requête test pour valider la logique de transformation. Les résultats de la requête de test s’affichent sous l’onglet Résultats du test .

    Capture d’écran montrant un résultat de test.

  10. Lorsque vous avez terminé le test, sélectionnez Enregistrer sur le ruban pour revenir au canevas eventstream.

    Capture d’écran montrant le ruban d’une requête, y compris les commandes pour tester la requête et l’enregistrement.

  11. Dans le volet Code SQL , si le bouton Enregistrer est activé, sélectionnez-le pour enregistrer les paramètres.

    Capture d’écran montrant le volet Code SQL et le bouton Enregistrer.

  12. Configurez la destination.

    Capture d’écran montrant un flux d’événements terminé.

Limitations

  • L’opérateur SQL est conçu pour centraliser toute votre logique de transformation. Par conséquent, vous ne pouvez pas l’utiliser avec d’autres opérateurs intégrés dans le même chemin de traitement. Le chaînage de plusieurs opérateurs SQL dans un chemin d’accès unique n’est pas non plus pris en charge. En outre, l’opérateur SQL peut envoyer des données de sortie uniquement au nœud de destination dans la topologie.

  • Actuellement, la création de topologies eventstream n’est prise en charge que par le biais de l’interface utilisateur. La prise en charge de l’API REST pour l’opérateur SQL n’est pas encore disponible.