Interrogation HTTP

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

  • 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.
  • 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 ingérées.
  • 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 intervient à 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. Pour plus d’informations, voir Planifier un intervalle d’interrogation de flux.
  • Les paramètres URL et Custom headers (En-têtes personnalisés) peuvent tous deux utiliser des variables globales de flux. Les variables globales de flux sont converties en heure epoch (millisecondes depuis le 1er janvier 1970 UTC). 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.

Après avoir configuré les paramètres de connexion du flux, consultez la rubrique Configurer les 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 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 sera utilisé dans la configuration de la demande de jeton d’actualisation.

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 sera utilisé. Souvent dans un en-tête Authorization personnalisé avec la valeur Bearer $accessToken.

Lors de son exécution, 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

ParamètreDescriptionType de données

URL

URL complète de l’extrémité HTTP accessible en externe.

Chaîne

Méthode HTTP

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 lorsque le paramètre HTTP method (Méthode HTTP) a la valeur POST.

Chaîne

Authentification

Type d’authentification utilisé pour l’accès à l’extrémité HTTP. Les options d’authentification 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 lorsque la valeur de Authentication (Authentification) est 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 lorsque la valeur de Authentication (Authentification) est 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 lorsque la valeur de Authentication (Authentification) est 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 lorsque la valeur de Authentication (Authentification) est 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 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.

Bien que les paramètres puissent également être définis dans le paramètre URL, les paramètres URL saisis ici comme propriété distincte écrasent tout paramètre correspondant présent dans le paramètre URL.

Les paramètres définis ici seront toujours codés par URL.

Ce paramètre prend en charge les variables globales de flux.

Paire clé-valeur

Interrogation longue

ArcGIS Velocity interroge le serveur Web et garde une connexion ouverte jusqu’à l’envoi de nouvelles données par le serveur. Lorsque Velocity reçoit des données, 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

Considérations et limitations

  • L’extrémité HTTP doit être accessible en externe sur Internet.
  • La taille de la réponse ou du fichier HTTP interrogé ne peut pas être supérieure à 16 Mo.
  • La durée de l’intervalle d’interrogation ne doit pas être inférieure au temps de réponse moyen à cette demande adressée à l’extrémité HTTP. Pour plus d’informations, voir Planifier un intervalle d’interrogation de flux.
  • 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.