HTTP

La sortie HTTP dans ArcGIS Velocity vous permet d’envoyer des entités et tout autre texte vers un point de terminaison HTTP via des requêtes POST, PUT ou DELETE. Une requête est envoyée pour chaque entité en sortie envoyée à la sortie.

Exemple

Un analyste configure une sortie HTTP pour envoyer des entités dans un format JSON personnalisé à un webhook désigné.

Remarques sur l’utilisation

Gardez les points suivants à l’esprit lorsque vous utilisez la sortie :

  • Lorsque vous envoyez le code JSON en tant que corps de requête, entourez-le code avec l’expression Text() Arcade pour le présenter correctement.
  • Lorsque vous utilisez la sortie HTTP, il est important de comprendre la vitesse des données. Chaque enregistrement envoyé à la sortie génère une requête séparée. Cela peut rapidement dépasser les paramètres de capacité ou de limite de débit d’un serveur Web. Utilisez la sortie HTTP pour les incidents qui ne devraient pas se produire très souvent.
  • Si l’authentification Open Authorization (OAuth) est utilisée, ce qui suit s’applique :
    • Le type de sortie 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. 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 ainsi que les champs 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. Pour configurer un horodatage d’expiration exprimé sous forme de chaîne, définissez l’unité d’expiration sur Other (Autre) et spécifiez le format de date en ajoutant une chaîne de mise en forme de la date d’expiration. Si un jeton d’actualisation est spécifié sans expiration, le flux fait une tentative de demande de jeton d’actualisation lorsque la requête de données principale échoue deux fois de suite.
    • Si un jeton d’actualisation est 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 les paramètres POST body (Corps POST), URL parameters (Paramètres d’URL) et Custom headers (En-têtes personnalisés).
    • Lorsque vous revenez à la configuration de la requête de données, vous devez utiliser la variable globale $accessToken pour définir l’endroit où le jeton d’accès est utilisé. (généralement, dans un en-tête Authorization personnalisé avec la valeur Bearer $accessToken).
    • Les jetons d’accès peuvent être stockés au format JSON Web Token (JWT). Si vous utilisez un JWT pour le jeton d’accès, activez l’option Use JWT format (Utiliser le format JSON Web Token [JWT]). Velocity décode le jeton et si la charge utile inclut une revendication exp, cette valeur est automatiquement utilisée comme heure d’expiration. exp est l’horodatage d’expiration du jeton d’accès en secondes epoch.
    • La sortie HTTP permet aux utilisateurs de renseigner dynamiquement les valeurs d’URL ou d’en-tête personnalisé à l’aide des valeurs de champ. Cela donne la possibilité aux utilisateurs de créer des URL de point de terminaison, des en-têtes personnalisés et des paramètres d’URL spécifiques à chaque enregistrement en cours de traitement.

      Les utilisateurs peuvent référencer les valeurs de champ dans les paramètres URL, Custom headers (En-têtes personnalisés) et URL parameters (Paramètres URL) dans l’un des formats suivants :

      • $feature.fieldName pour les noms des champs standards.
      • $feature['field name'] si le nom de champ contient des espaces.

      Pour prendre en charge le test de la connexion et la validation, des exemples de valeurs doivent être fournis pour chaque champ référencé utilisé dans URL, Custom headers (En-têtes personnalisés) ou URL parameters (Paramètres URL). Ces valeurs sont utilisées pendant la validation de l’analyse et le test de la connexion au système cible. Lors de l’exécution, Velocity remplace chaque emplacement réservé par la valeur attributaire correspondante de l’enregistrement actuel.

      Supposons que votre analyse comporte un champ nommé sensor_id. Vous pouvez définir l’URL en sortie au format https://yourAPIURL.com/$feature.sensor_id. Pour un enregistrement avec sensor_id = 1234, la sortie est résolue en https://yourAPIURL.com/1234. Le même modèle est utilisable pour Custom headers (En-têtes personnalisés) et URL parameters (Paramètres URL).

    • Lors de l’envoi d’une expression Arcade incluant des champs attributaires dans le corps de la demande, des exemples de valeurs sont nécessaires pour évaluer l’expression. Utilisez la liste déroulante Sample values (Exemples de valeur) pour fournir des valeurs représentatives pour tout champ attributaire référencé dans l’expression Arcade.

Paramètres

Les paramètres de la sortie sont les suivants :

ParamètreDescriptionType de données
URL

URL sur laquelle les requêtes en sortie sont envoyées.

Chaîne

Méthode HTTP

Méthode HTTP utilisée pour la requête. Les choix sont les suivants : POST, PUT et DELETE.

Chaîne

Corps POST

L'expression Arcade JSON.

Expression Arcade

Content-Type

En-tête content-type pour les requêtes sortantes. Les choix incluent les suivants :

  • Plain Text (Texte brut)text/plain
  • JSONapplication/json
  • CSVtext/csv
  • XMLtext/xml

Chaîne

Type d’authentification

Optez pour l’authentification None (Aucune) (aucune authentification), Basic (De base) ou OAuth.

Si l’option d’authentification Basic (De base) est configurée, des champs supplémentaires s’affichent pour vous inviter à saisir vos nom d’utilisateur et mot de passe.

Si l’option d’authentification OAuth est configurée, une fenêtre contextuelle s’affiche pour vous permettre de configurer les éléments suivants :

  • Point de terminaison du jeton d’accès
  • Méthode HTTP
  • Paramètres URL
  • Custom headers (En-têtes personnalisés)

Une fois que les éléments ci-dessus sont spécifiés, la connexion est testée. Vous devez cliquer pour identifier le jeton d’accès (ainsi que le jeton d’actualisation et la valeur d’expiration, le cas échéant) dans la réponse JSON.

Si une valeur de jeton d’actualisation est spécifiée, une fenêtre contextuelle s’affiche pour vous permettre de configurer les éléments suivants :

  • Point de terminaison du jeton d’actualisation
  • Méthode HTTP
  • Paramètres URL
  • Custom headers (En-têtes personnalisés)

Une fois que les éléments ci-dessus sont spécifiés, la connexion est testée. Vous devez cliquer pour identifier le jeton d’accès et le jeton d’actualisation dans la réponse JSON.

Divers paramètres

Paramètres URL

Paramètres URL facultatifs inclus dans l’URL de la demande HTTP envoyée au site Web spécifié.

Les paramètres peuvent être définis dans le paramètre URL, mais les paramètres URL saisis ici comme paramètres distincts remplacent tout paramètre correspondant spécifié dans le paramètre URL.

Les paramètres définis dans ce paramètre sont toujours codés par URL.

Paire clé-valeur

Custom headers (En-têtes personnalisés)

En-têtes personnalisés facultatifs inclus dans la demande HTTP envoyée au site Web spécifié. 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.

Paire clé-valeur

Journalisation supplémentaire

Si besoin, activez la journalisation des requêtes et réponses HTTP au format brut émises par Velocity.

Remarque :

Ce paramètre ne doit être activé que dans le cadre du dépannage et doit être désactivé lorsque le dépannage terminé. Une fois activé, lancez l’analyse. Les journaux de niveau débogage sont disponibles sur la page Journaux d’analyse. Si nécessaire, contactez le Support technique Esri pour obtenir de l’aide dans le cadre du dépannage.

Booléen

Valeurs d’exemple

Donne la possibilité aux utilisateurs de définir des exemples de valeur pour chaque champ référencé par $feature.fieldName ou $feature['fieldName']. Ces valeurs sont nécessaires pour le test de la connexion et la validation.

Paire clé-valeur

Considérations et limitations

Tenez compte des points suivants lorsque vous utilisez la sortie :

  • Si l’authentification OAuth est utilisée, gardez les éléments suivants à l’esprit :
    • Lors de la création d’une sortie, plusieurs demandes sont envoyées à un serveur d’autorisation et au point d’extrémité associé. Certaines API limitent le débit de certaines demandes, ce qui peut affecter la création de la sortie.
    • Pour des raisons de sécurité, le paramètre POST body (Corps POST) des demandes de jeton d’accès doit être reconfiguré lors de la modification des paramètres d’authentification.
  • Le serveur Web doit être accessible en externe sur Internet.