Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
- Si vous n’avez pas de flux d’événements, suivez le guide pour créer un flux d’événements.
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.
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.
Recherchez http, puis sélectionnez Connecter pour ajouter le connecteur HTTP à votre flux d’événements.
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
Sélectionnez un exemple d’API publique pour configurer rapidement le connecteur HTTP :
- 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
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.
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.
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.
Créez une connexion. Sélectionnez Nouvelle connexion et entrez les propriétés requises pour votre source HTTP :
- 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,BasicetAPI Keyl’authentification.
Méthode de requête : Sélectionner
GETouPOST.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.
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].
Nombre maximal de nouvelles tentatives : nombre maximal de tentatives du connecteur lors d’une erreur ; la plage valide est [10, 100].
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].
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-500inclut 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.
-
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=1oupage=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
continuationTokenounextPageToken. 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,/itemsou/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
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 :
Pour le nom de la source, sélectionnez le bouton Crayon pour modifier le nom.
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 :
Sélectionnez l’espace de travail Fabric où vous souhaitez créer le flux d’événements.
Pour le nom de l'eventstream, sélectionnez le bouton Crayon et entrez un nom pour l'eventstream.
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é.
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.
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.
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.
Contenu connexe
Autres connecteurs :
- Flux de données Amazon Kinesis
- Azure Cosmos DB
- Azure Event Hubs
- Azure IoT Hub
- Capture des changements de données (CDC) de la base de données Azure SQL
- Confluent Kafka
- Point de terminaison personnalisé
- CDC de MySQL Database
- CDC de PostgreSQL Database
- Exemples de données
- Stockage Blob Azure événements
- Événement Fabric Workspace