Ajouter une source HTTP à un flux d’événements (préversion)

Cet article explique comment ajouter une source HTTP à un flux d’événements.

Le connecteur HTTP fournit un moyen sans code configurable de diffuser en continu des données à partir d’une API REST directement dans Eventstream pour le traitement en temps réel. Il vous permet d’extraire en continu des données à partir de plateformes SaaS et de flux de données publics et d’analyser automatiquement les réponses JSON dans des événements structurés. Il propose également des exemples de flux publics pour vous aider à commencer rapidement, sélectionner un exemple d’API, entrer votre clé API et laisser Eventstream préremplir les en-têtes et paramètres requis.

Prerequisites

  • Espace de travail avec Fabric capacité ou Fabric Version d’évaluation type d’espace de travail.
  • Accès à l’espace de travail avec le rôle Contributeur ou des rôles supérieurs.
  • Point de terminaison HTTP accessible publiquement. S’il réside dans un réseau protégé, connectez-vous à celui-ci à l’aide de l’injection de réseau virtuel du connecteur Eventstream.

Ajouter HTTP en tant que source

Si vous n’avez pas encore ajouté de source à votre flux d’événements, sélectionnez la vignette Connecter des sources de données . Vous pouvez également sélectionner Ajouter une source>Connecter des sources de données dans le ruban.

Capture d’écran montrant la sélection de la vignette pour l’utilisation d’une source externe.

Si vous ajoutez la source à un flux d’événements déjà publié, basculez vers le mode Modifier. Dans le ruban, sélectionnez Ajouter source>Connecter les sources de données.

Capture d’écran montrant les sélections pour l’ajout de sources externes.

Recherchez http, puis sélectionnez Connecter pour ajouter le connecteur HTTP à votre flux d’événements.

Capture d’écran montrant la sélection de HTTP comme type de source dans l’Assistant Sélectionner une source de données.

Configurer et se connecter à HTTP

Vous pouvez sélectionner l’un des exemples d’API publiques pour commencer rapidement avec des en-têtes et des paramètres prédéfinis, ou sélectionner Quitter pour configurer votre propre connecteur HTTP personnalisé.

Utiliser des exemples d’API publiques

  1. Sélectionnez un exemple d’API publique pour configurer rapidement le connecteur HTTP : capture d’écran montrant un exemple de page d’API.

    • Binance. Obtenir le dernier prix de Bitcoin
    • CoinGecko. Obtenir le prix actuel de Bitcoin en USD
    • Transport pour Londres. Obtenir des prédictions d’arrivée en direct pour une gare de Londres
    • Alpha Vantage. Obtenez le prix des actions Microsoft (MSFT) en temps réel
    • OpenWeather. Obtenir les prévisions météorologiques d’un emplacement
    • NewsAPI. Obtenez les dernières actualités commerciales aux États-Unis
  2. Pour les API qui nécessitent une clé API, utilisez le lien fourni pour appliquer la clé API et entrez-la dans la zone d’entrée. Le connecteur crée ensuite automatiquement la connexion cloud Fabric et prérempli les en-têtes et paramètres HTTP requis.

    Important

    L’exemple d’API Binance ne nécessite pas de clé API, mais vous êtes responsable de la conformité à ses conditions d’utilisation.

  3. Si vous choisissez Utiliser une connexion existante, sélectionnez Appliquer l’exemple pour préremplir les en-têtes et paramètres requis pour l’EXEMPLE d’API sans entrer de clé API.

  4. Vous pouvez également sélectionner Quitter pour fermer la fenêtre et configurer votre propre source HTTP à partir de zéro.

Configurer votre propre source HTTP

Suivez les étapes pour configurer votre propre source HTTP sans exemple d’API.

  1. Créez une connexion. Sélectionnez Nouvelle connexion et entrez les propriétés requises pour votre source HTTP :

    Capture d’écran montrant où sélectionner la nouvelle page de connexion.

    • URL de base : URL de base du point de terminaison HTTP.
    • Uri d’audience de jeton (facultatif) : ressource pour laquelle le jeton est destiné.
    • Nom de la connexion : saisissez un nom pour la connexion.
    • Type d’authentification : Actuellement, le connecteur HTTP prend uniquement en charge Anonymous, Basicet API Key l’authentification.

    Capture d’écran montrant la nouvelle page de connexion.

  2. Méthode de requête : Sélectionner GET ou POST.

  3. En-têtes et paramètres : si vous avez sélectionné l’authentification de clé API lorsque vous avez créé la connexion cloud, utilisez le paramètre dynamique ${apiKey} dans vos en-têtes ou paramètres pour référencer la clé API.

    Par exemple, pour vous connecter à CoinGecko, utilisez l’en-tête : x_cg_demo_api_key = ${apiKey}.

    Important

    N’entrez pas votre clé API ou d’autres informations d’identification dans les en-têtes ou les paramètres.

  4. Intervalle de requête (s) : spécifie le temps en secondes d’attente entre les requêtes consécutives ; la plage valide est [1, 3600].

  5. Nombre maximal de nouvelles tentatives : nombre maximal de tentatives du connecteur lors d’une erreur ; la plage valide est [10, 100].

  6. Nouvelle tentative d’interruption (s) : temps en secondes pour attendre après une erreur avant que le connecteur ne retente ; la plage valide est [1, 3600].

  7. Code d’état de nouvelle tentative : les codes d’erreur HTTP retournés qui invitent le connecteur à réessayer la requête. Entrez une liste séparée par des virgules de codes ou de plages de codes. Les plages sont spécifiées avec un code de début et de fin facultatif. Par exemple:

    • 400- inclut tous les codes supérieurs ou égaux à 400.
    • 400-500 inclut des codes compris entre 400 et 500, y compris 500.
    • 404,408,500- invite le connecteur à réessayer sur 404 NOT FOUND, 408 REQUEST TIMEOUT et tous les codes d’erreur 5xx.

    Certains codes d’état sont systématiquement retentés, tels que non autorisé, délai d'attente, et trop de requêtes.

    Capture d’écran montrant les paramètres configurés.

Gérer les API paginées

Certaines API REST retournent des données dans plusieurs pages au lieu d’une seule réponse. Par exemple, une API peut retourner 100 enregistrements dans chaque réponse et exiger des demandes supplémentaires pour récupérer les enregistrements restants. Le connecteur HTTP prend en charge la pagination afin qu’elle puisse récupérer des données sur plusieurs pages dans un cycle d’interrogation.

Types de pagination pris en charge

Le connecteur HTTP prend en charge ces modèles de pagination :

  • Pagination basée sur la page : la requête inclut un paramètre de page, tel que page=1 ou page=2. Le connecteur incrémente le numéro de page pour demander la page suivante.
  • Pagination basée sur le curseur : la réponse de l’API inclut un curseur ou un jeton de continuation, tel que continuationToken ou nextPageToken. Le connecteur utilise cette valeur pour demander la page suivante.

Configurer la pagination

Pour utiliser la pagination, configurez ces paramètres dans le connecteur HTTP :

  • Pagination activée : active la gestion de la pagination.
  • Mode de pagination : spécifie le type de pagination. Les valeurs prises en charge sont Page et Curseur.
  • Pointeur JSON vers les données de réponse : indique l’emplacement du tableau de données dans la réponse de l’API, tels que /value, /items ou /articles.

Exemple de pagination basée sur la page

Pour une API basée sur une page, la première requête peut être GET /api/data?page=1.

Exemple de configuration :

  • Pagination activée : true.
  • Mode de pagination : page.

Le connecteur envoie des demandes pour les pages suivantes, telles que page=2 et page=3. La pagination s’arrête lorsque la réponse de l’API indique qu’aucune donnée supplémentaire n’est disponible, par exemple en retournant un tableau vide.

Exemple de pagination basée sur le curseur

Pour une API basée sur un curseur, la réponse peut inclure un jeton de continuation, tel que "continuationToken": "ABC123".

Le connecteur extrait le jeton de continuation et l’utilise dans la requête suivante, par exemple GET /api/data?continuationToken=ABC123. La pagination s’arrête lorsque la réponse n’inclut pas un autre jeton ou que la valeur du jeton est Null.

Quand la pagination s’arrête

Le connecteur cesse de demander des pages supplémentaires lorsque l’une des conditions suivantes est remplie :

  • L’API retourne une réponse vide.
  • La réponse n’inclut pas de jeton de page suivant.
  • L’API indique qu’aucune autre page n’est disponible.

Considérations

  • Chaque cycle d’interrogation commence à partir de la première page.
  • Vérifiez que l’API prend en charge la pagination avant d’activer cette fonctionnalité.
  • Une configuration de pagination incorrecte ou des paramètres de pointeur JSON peut entraîner des données manquantes ou dupliquées.

Utilisez la pagination lorsqu’une API limite le nombre d’enregistrements retournés dans chaque requête.

Flux ou détails de la source

  1. Dans la page Se connecter , suivez l’une de ces étapes en fonction de l’utilisation d’Eventstream ou de Real-Time hub.

    • Flux d’événements :

      Dans le volet Détails de la source à droite, procédez comme suit :

      1. Pour le nom de la source, sélectionnez le bouton Crayon pour modifier le nom.

      2. Notez que le Nom Eventstream et le Nom Stream sont en lecture seule.

    • Hub en temps réel :

      Dans la section Détails du flux à droite, procédez comme suit :

      1. Sélectionnez l’espace de travail Fabric où vous souhaitez créer le flux d’événements.

      2. Pour le nom de l'eventstream, sélectionnez le bouton Crayon et entrez un nom pour l'eventstream.

      3. La valeur du nom du flux est générée automatiquement pour vous en ajoutant -stream au nom de l’événementstream. Ce flux s’affiche sur la page Tous les flux de données du hub en temps réel une fois que l’Assistant est terminé.

  2. Sélectionnez Suivant en bas de la page Configurer .

Vérifier et se connecter

Dans l’écran Vérifier + se connecter , passez en revue le résumé, puis sélectionnez Ajouter (Eventstream) ou Se connecter (Real-Time hub).

Vous pouvez voir la source HTTP ajoutée à votre flux d’événements en mode Édition.

Capture d’écran de la source HTTP ajoutée en mode Édition avec le bouton Publier mis en surbrillance.

Sélectionnez Publier pour publier les modifications et commencer la diffusion de données à partir de la source HTTP vers le flux d’événements.

Capture d’écran de la source HTTP ajoutée en mode Live avec le bouton Publier mis en surbrillance.

Limites

  • Le connecteur HTTP prend actuellement en charge uniquement les réponses d’API JSON .
  • L’authentification OAuth n’est pas prise en charge.
  • La source HTTP ne prend pas en charge les fonctionnalités CI/CD, notamment l’intégration Git et le pipeline de déploiement. L’exportation ou l’importation d’un élément Eventstream qui inclut cette source via Git peut entraîner des erreurs.

Autres connecteurs :