Le type de flux Interrogation HTTP dans ArcGIS Velocity envoie une demande HTTP à l’URL spécifiée. Cette demande collecte toutes les données pouvant être extraites dans un navigateur Web, en accédant à la même URL.
Exemple
Les valeurs de capteur mises à jour sont chargées à partir d’un flux API toutes les minutes.
Remarques sur l’utilisation
Tenez compte des points suivants lorsque vous utilisez le flux Interrogation HTTP :
- Le flux interroge l’extrémité HTTP pour charger les données selon la fréquence définie à l’étape Feed Polling Interval (Intervalle d’interrogation de flux) de l’assistant de configuration.
- Lorsqu’un intervalle d’interrogation est défini, les interrogations ont lieu à intervalles réguliers à partir de l’heure de démarrage du flux. Par exemple, si un flux est configuré pour interroger les données toutes les cinq minutes, et qu’il démarre à 8:03, la première demande de données a lieu à 8:05, la suivante à 8:10, et ainsi de suite.
- Faites attention lorsque vous spécifiez la valeur Feed Polling Interval (lntervalle d’interrogation de flux). Vous devez vous assurer que l’extrémité HTTP interrogée est en mesure de renvoyer des réponses dans l’intervalle d’interrogation spécifié. Il est recommandé de tester le temps de réponse d’une demande adressée au site Web, en utilisant la même demande que celle appliquée lors de la configuration du flux. La durée de l’intervalle d’interrogation ne doit pas être inférieure au temps de réponse moyen à cette demande adressée au site Web.
En savoir plus sur la planification d’un intervalle d’interrogation de flux
- Les paramètres POST body (Corps POST), URL parameters (Paramètres URL) et Custom headers (En-têtes personnalisés) prennent en charge les variables globales de flux. Par défaut, les variables globales de flux sont converties en heure epoch (millisecondes depuis le 1er janvier 1970 UTC). Vous pouvez également convertir ces variables en secondes epoch (secondes depuis le 1er janvier 1970 UTC) dans une chaîne au format de date et heure. À la première exécution du flux après le démarrage ou le redémarrage, l’heure $feed.FeedLastScheduledStart est l’heure de début actuelle moins cinq minutes. Vous trouverez ci-après les variables d’analyse de flux et leur signification :
- $feed.FeedStartTime : heure à laquelle le flux a démarré.
- $feed.FeedScheduledStartTime : heure à laquelle la prochaine récurrence du flux est planifiée.
- $feed.FeedLastScheduledStartTime : heure à laquelle la dernière récurrence du flux était planifiée.
- Les niveaux de licence d’abonnement Velocity présentent des limites quant au volume de données qu’un flux peut consommer, comme l’indique le résumé ci-dessous. Si des flux excèdent la limite de consommation de votre niveau de licence, un message est écrit dans les journaux et un e-mail est envoyé pour vous informer que la limite a été atteinte. Si la consommation des données demeure supérieure à la limite pendant plus d’une heure, le flux s’arrête. Contactez votre représentant Esri ou le support technique Esri, si nécessaire, pour identifier les niveaux de licence Velocity prenant en charge vos processus. Les niveaux de licence sont les suivants :
- Standard : consommation et traitement des données à 25 Ko/seconde (environ 100 événements par seconde).
- Advanced : consommation et traitement des données à 250 Ko/seconde (environ 1 000 événements par seconde).
- Dedicated : consommation et traitement des données à 2 500 Ko/seconde (environ 10 000 événements par seconde).
- Après avoir configuré les paramètres de connexion du flux, reportez-vous à la rubrique sur la configuration des données en entrée pour savoir comment définir la structure et les paramètres clés.
Authentification OAuth
Le type de flux Interrogation HTTP prend en charge l’authentification à l’aide d’OAuth 2.0 pour les points d’extrémité HTTP utilisant les types d’autorisation de serveur à serveur ou via un mot de passe. Ces types d’autorisation OAuth appliquent un schéma qui comprend la configuration d’une demande HTTP pour récupérer un jeton d’accès et, éventuellement, la configuration d’une demande pour utiliser un jeton d’actualisation afin d’extraire de nouveaux jetons d’accès. Ces demandes s’ajoutent à la demande de données qui est normalement configurée dans le cadre de tout type de flux Interrogation HTTP.
Lors de la configuration de la demande de jeton d’accès, vous êtes invité à identifier le jeton d’accès et les champs facultatifs de jeton d’actualisation et de clé JSON d’expiration dans la réponse du serveur d’autorisation OAuth. Si une expiration est sélectionnée, vous devez en définir le type (durée ou horodatage) et les unités. Si un champ de jeton d’actualisation est spécifié sans expiration, le flux fait une tentative de demande de jeton d’actualisation si la requête de données principale échoue deux fois de suite.
Si un jeton d’actualisation a été identifié dans la demande de jeton d’accès, vous devez utiliser la variable globale $refreshToken pour définir où le jeton d’actualisation est utilisé dans la configuration de la demande de jeton d’actualisation. La variable globale $accessToken peut également être utilisée dans la demande de jeton d’actualisation. Les variables globales $refreshToken et $accessToken sont toutes les deux disponibles pour le référencement dans le corps POST, les paramètres d’URL ou les en-têtes personnalisés.
Enfin, lorsque vous revenez à la configuration de la demande de données, vous devez utiliser la variable globale $accessToken pour définir l’endroit où le jeton d’accès peut être utilisé. Souvent dans un en-tête Authorization personnalisé avec la valeur Bearer $accessToken. $accessToken peut également être utilisé dans le corps POST, les paramètres URL et l’URL (par exemple, https://<company.domain>/$accessToken/<method>?<url params>).
Pendant le traitement, un flux pour lequel l’authentification OAuth est configurée gère le jeton d’accès et traite en conséquence les erreurs survenant lors de l’extraction des données. Par exemple, si une demande de jeton d’actualisation et une expiration sont définies, le flux utilise le jeton d’actualisation qui a été extrait initialement avec la demande de jeton d’accès pour récupérer un nouveau jeton, si le premier est arrivé à expiration.
Tenez compte des points suivants lorsque vous créez un flux avec OAuth :
- Lors de la création, plusieurs demandes sont envoyées à un serveur d’autorisation et au point d’extrémité associé. Certaines API limitent le débit de certaines requêtes, ce qui peut affecter la création du flux.
- Pour des raisons de sécurité, les corps POST des demandes de jeton d’accès et d’actualisation doivent être reconfigurés lors de la modification des paramètres d’authentification.
Paramètres
Les paramètres du flux Interrogation HTTP sont présentés ci-après :
Paramètre | Description | Type de données |
---|---|---|
URL | URL complète de l’extrémité HTTP accessible en externe. Ce paramètre prend en charge la variable globale $accessToken. | Chaîne |
Méthode HTTP | Spécifie la méthode HTTP utilisée pour l’extrémité HTTP, à savoir GET ou POST. Si vous sélectionnez POST, vous pouvez spécifier un corps de message. | Chaîne |
Corps POST | Corps de message à inclure lors de l’envoi d’une demande HTTP POST. Permet de choisir entre x-www-form-urlencoded et d’autres types de contenu textuel générique. Définit également l’en-tête Content-type. Ce paramètre s’applique uniquement si le paramètre HTTP method (Méthode HTTP) est défini sur POST (POST). Ce paramètre prend en charge les variables globales $accessToken et de flux. | Chaîne |
Authentification | Spécifie le type d’authentification utilisé pour accéder à l’extrémité HTTP. Les options sont None (Aucune), Basic (De base), Certificate (Certificat) et OAuth. | Chaîne |
Nom d\\’utilisateur | Nom d’utilisateur pour l’accès à l’extrémité HTTP. Ce paramètre ne s’applique que si le paramètre Authentication (Authentification) est défini sur Basic (De base). | Chaîne |
Mot de passe | Mot de passe pour l’accès à l’extrémité HTTP. Ce paramètre ne s’applique que si le paramètre Authentication (Authentification) est défini sur Basic (De base). | Mot de passe |
URL de certificat | Emplacement de l’URL du certificat client pour l’accès à l’extrémité HTTP. Ce paramètre ne s’applique que si le paramètre Authentication (Authentification) est défini sur Certificate (Certificat). | Chaîne |
Mot de passe | Mot de passe du certificat client, s’il est défini. Ce paramètre ne s’applique que si le paramètre Authentication (Authentification) est défini sur Certificate (Certificat). | Mot de passe |
Custom headers (En-têtes personnalisés) | En-têtes personnalisés facultatifs à inclure dans la demande HTTP envoyée à l’extrémité HTTP spécifiée. Par exemple, des en-têtes personnalisés peuvent être utilisés pour spécifier une clé d’API tierce ou un en-tête d’autorisation. Ce paramètre prend en charge les variables globales $accessToken et de flux. | Paire clé-valeur |
Paramètres URL | Paramètres URL facultatifs à inclure dans l’URL de la demande HTTP envoyée à l’extrémité HTTP. Les paramètres peuvent également être définis dans le paramètre URL, mais les paramètres URL saisis ici remplacent tout paramètre correspondant spécifié pour le paramètre URL. Les paramètres définis ici sont toujours codés par URL. Ce paramètre prend en charge les variables globales $accessToken et de flux. | Paire clé-valeur |
Interrogation longue | Indique si le serveur Web est interrogé et si une connexion ouverte est maintenue jusqu’à l’envoi de nouvelles données par le serveur. Lorsque des nouvelles données sont reçues, une nouvelle demande est immédiatement envoyée. Remarque :Cette configuration de serveur Web est unique et n’est pas utilisée par la plupart des serveurs Web. | Booléen |
Variables globales | Utilisez ce paramètre pour convertir les variables globales de flux dans un format de date et d’heure personnalisé. Ce paramètre est facultatif. Ce paramètre prend en charge les variables globales $accessToken et de flux. Pour obtenir plus d’informations sur la définition d’un format de date (millisecondes (epoch), secondes (epoch) et format de type chaîne), reportez-vous à la rubrique Paramètres de date et d’heure. | Chaîne |
Journalisation supplémentaire | Utilisez ce paramètre pour indiquer si la journalisation des requêtes et réponses HTTP au format brut envoyées par Velocity est activée. Ce paramètre est facultatif. Remarque :Activez ce paramètre dans le cadre d’un dépannage uniquement et désactivez-le à l’issue du dépannage. Une fois le paramètre activé, démarrez le flux. Les journaux de niveau Debug (Débogage) sont disponibles sur la page Journaux du flux. Le cas échéant, contactez le support technique Esri pour obtenir de l’aide dans le cadre du dépannage. | Booléen |
Considérations et limitations
Voici les considérations et limitations lors de l’utilisation du flux Interrogation HTTP :
- L’extrémité HTTP doit être accessible en externe sur Internet.
- La taille de la réponse HTTP ou du fichier interrogé ne doit pas être supérieure à 16 Mo. Si la taille des données interrogées dépasse 16 Mo, les entités ne sont pas consommées.
- Il est recommandé d’utiliser ce type de flux pour les données en temps réel avec une vitesse d’environ 3 000 entités ponctuelles par seconde ou moins. Les vitesses prises en charge varient selon le nombre d’attributs de données, le format des données entrantes et la complexité des entités polylignes ou surfaciques.
Vous avez un commentaire à formuler concernant cette rubrique ?