Outil Télécharger
Utilisez l'outil Télécharger pour récupérer les données à partir d'une URL et les utiliser lors du traitement en aval ou les enregistrer dans un fichier. L'outil Télécharger peut également télécharger des données via FTP et SFTP.
Par défaut, la validation par les pairs est activée dans les versions Designer non FIPS à partir de 2022.3. Consultez la liste des autorisations de validation par les pairs pour savoir comment spécifier une liste d'hôtes problématiques dans un fichier plat pour lequel la validation par les pairs doit être ignorée.
Configuration de l'outil
Onglet De base
Utilisez l'onglet De base pour définir les contrôles obligatoires de l'outil Télécharger.
Champ d'URL : spécifiez le champ du flux de données entrant contenant l'URL (ressource web) dans laquelle les données seront récupérées (ou chargées). Il peut s'agir simplement d'un outil Saisie de texte dans lequel l'URL est spécifiée comme une valeur de champ.
Lorsque vous utilisez l'outil Télécharger avec DCM, l'URL à partir de laquelle les données sont extraites est divisée en 2 parties. La base de l'URL est extraite de la définition de la source de données DCM, tandis que la dernière partie (ajoutée à l'URL de base) est extraite du flux de données entrant.
Encoder le texte de l'URL : sélectionnez cette option pour encoder l'URL de telle sorte que les caractères ASCII non sécurisés sont convertis dans un format qui peut être transmis sur Internet. Par exemple, les espaces sont remplacés par %20.
Sortie : spécifiez le format des données renvoyées. Elles peuvent être insérées dans un champ de données ou dans un fichier.
Dans un champ : le contenu téléchargé est renvoyé dans le flux de données en tant que champ de données. Le contenu téléchargé se trouve dans un champ unique appelé « DownloadData ». Il est possible que vous deviez analyser ces données à l'aide d'outils en aval tels que l'outil Texte en colonnes, l'outil RegEx ou l'outil Formule.
Chaîne : les données sont renvoyées sous la forme d'un nouveau champ de type chaîne étendue. Les chaînes étendues prennent en charge les caractères Unicode®. Sélectionnez l'une des pages de code à utiliser pour le codage. La valeur par défaut est UTF-8. Afin d'optimiser la cohérence des résultats, les applications doivent utiliser un format Unicode, par exemple UTF-8 (page de code 65001) ou UTF-16 plutôt qu'une page de code spécifique.
Blob : les données sont renvoyées sous la forme d'un nouveau champ de type Blob. Les Blobs sont également appelés « objets binaires volumineux ». Les fichiers image sont généralement stockés dans ce format. Pour utiliser l'image, configurez un outil Image en aval et spécifiez l'image ou le champ Blob.
Dans un fichier
Fichier temporaire : les données sont envoyées dans un fichier temporaire situé dans le répertoire temporaire de l'utilisateur. Pour plus d'informations sur la gestion des fichiers temporaires dans Designer, consultez la page Alteryx et les fichiers temporaires.
Nom de fichier à partir d'un champ : les données sont envoyées dans un fichier particulier spécifié par un champ entrant. Utilisez la liste déroulante pour sélectionner le champ contenant le nom du fichier de sortie.
Onglet En-têtes
L'onglet En-têtes permet de modifier les en-têtes HTTP envoyés avec la requête web.
Ajouter l'une des valeurs constantes suivantes : permet d'ajouter des valeurs d'en-tête fixes.
Par exemple, pour ajouter l'en-tête « Accepter : texte/brut » :
Sélectionnez le bouton Ajouter.
Saisissez « Accepter » dans le champ Nom et « texte/brut » dans le champ Valeur.
Et les valeurs de ces champs : extrait les valeurs des données d'enregistrement et crée des valeurs d'en-tête.
Par exemple, pour ajouter l'en-tête « Attendu : 100-Continuer », sélectionnez un champ dans les données d'entrée « Attendu » contenant « 100-Continuer ».
Onglet Charge utile
L'onglet Charge utile permet de définir l'action HTTP à exécuter et, éventuellement, de créer la chaîne ou le corps de la requête web.
Action HTTP : sélectionnez l'action HTTP de la requête web :
GET (ou FTP) : pour lancer une requête GET ou télécharger un fichier sur un site FTP ou SFTP. Vous n'avez pas besoin de saisir d'autres options dans cet onglet pour télécharger les données à partir de l'URL sélectionnée.
POST : pour lancer une requête POST sur l'URL sélectionnée. Généralement, lorsque vous utilisez cette option, vous devez spécifier un corps POST à l'aide des options ci-après.
PUT : pour lancer une requête PUT. Cette option permet uniquement de récupérer le corps de la requête dans un champ Blob par le biais de l'outil Entrée Blob. Généralement, elle est utilisée pour transférer un fichier vers le serveur distant.
DELETE : pour lancer une requête DELETE. Généralement, elle est utilisée pour demander au serveur distant de supprimer une ressource spécifiée.
HEAD : pour lancer une requête HEAD. Cette action demande au serveur de renvoyer les données de l'en-tête, mais pas celles du corps.
Personnalisé : utilisez cette option pour saisir le verbe de votre choix dans une zone de texte. Ce détail mis à part, cette option fonctionne exactement comme la requête POST. Le verbe POST est remplacé par celui que vous avez spécifié juste avant le lancement de la requête.
Prise en charge des verbes
Ces options ne fonctionnent que si le serveur distant (auquel vous envoyez les requêtes) prend en charge le verbe concerné. Pour obtenir la liste des requêtes prises en charge, consultez la documentation de l'API (Interface de programmation d'application) sur l'URL utilisée.
Choisissez parmi les options de chaîne/corps de requête suivantes :
Composer la chaîne/le corps de requête :
À partir des valeurs constantes suivantes : pour ajouter des paires nom-valeur constantes à la chaîne/au corps de la requête.
Et les valeurs de ces champs : pour extraire les paires nom-valeur de l'enregistrement de données entrant. Le nom du champ est celui utilisé dans la chaîne/le corps de requête.
Type de contenu : mode de codage des paires nom-valeur.
Application/x-www-form-urlencoded : par exemple, Name1=Value1&Name2=Value2&Name3=Value3. Les caractères ASCII susceptibles de générer des erreurs étant automatiquement encodés, assurez-vous que vos données ne le sont pas déjà.
Multipart/form-data : disponible uniquement lorsque vous utilisez l'action HTTP POST ou Personnalisé.
Prendre la chaîne/le corps de requête d'un champ : sélectionnez le champ dans les données d'entrée qui contient les données de chaîne/corps de la requête. Vous pouvez sélectionner des champs Blob lorsque vous utilisez les actions HTTP POST, PUT ou Personnalisé.
Utiliser ce qui suit pour la chaîne/le corps de la requête : saisissez manuellement le contenu de la chaîne de requête ou du corps de la requête.
Toutes les données de texte sont encodées en UTF-8 avant d'être envoyées au serveur Web distant.
Onglet Connexion
Utilisez l'onglet Connexion pour configurer les informations d'identification de la connexion.
Nom d'utilisateur (facultatif) : saisissez le nom d'utilisateur requis par la spécification de l'URL ci-dessus. Ce champ est facultatif.
Mot de passe (facultatif) : saisissez le mot de passe requis par la spécification de l'URL ci-dessus. Ce champ est facultatif.
Les informations d'identification ci-dessus sont utilisées pour l'authentification de base.
Connexions maximum : spécifiez le nombre maximum de transferts simultanés pour l'outil Télécharger à exécuter. Les transferts sont uniquement effectués en parallèle lorsque plusieurs enregistrements d’entrée sont envoyés à l’outil Télécharger. Lors de l'utilisation de plusieurs outils Télécharger, ils agissent indépendamment, mais pas nécessairement de façon simultanée. Pour les nouveaux outils Télécharger ajoutés à un workflow, le nombre de connexions maximum est de 32 (par défaut, 2).
L'augmentation du nombre de connexions peut réduire la durée totale des transferts. Néanmoins, un nombre trop élevé risque de provoquer une surcharge du serveur utilisé. S’il soupçonne un abus de ses services, il est possible que le serveur cesse de répondre, qu’il affiche des erreurs et même qu’il refuse les connexions. Ce point est particulièrement important lorsque vous accédez à un site public que vous ne contrôlez pas. La plupart des navigateurs Web peuvent effectuer jusqu’à 6 transferts simultanés, mais il s’agit généralement de transferts relativement petits dans le cadre d’une consultation de page Web. Si le serveur se trouve à l'intérieur de vos locaux et si vous disposez d'un certain degré de contrôle sur sa configuration, vous pouvez vraisemblablement utiliser un nombre de connexions supérieur.
En outre, dans la mesure où l'outil Télécharger envoie les enregistrements vers l'aval à la fin du transfert, il est possible qu'il modifie l'ordre de ces enregistrements lors de leur passage dans l'outil. Si l'ordre est important, assurez-vous de trier les résultats ou de n'utiliser qu'une seule connexion. Enfin, notez que les URL vides sont traitées avant celles nécessitant réellement un transfert.
Expiration du délai (secondes) : spécifiez le délai d'attente, en secondes, avant de signaler une expiration du délai en raison d'une absence de réponse de la connexion. Sélectionnez un nombre entre 0 (le délai n’expire jamais) et 10 000.
Limiter les enregistrements : (option désactivée par défaut) cochez cette case pour limiter le nombre d'enregistrements qui transitent par l'outil au cours d'une minute donnée. Ceci est utile pour spécifier le nombre de requêtes envoyées par minute lorsque le nombre d'enregistrements pouvant être traités est limité.
Enregistrements par minute : cochez la case Limiter les enregistrements ci-dessus pour personnaliser le nombre d'enregistrements par minute devant transiter par l'outil.
La valeur par défaut est 60.
La plage acceptable est comprise entre 0 et 60 001 (non inclus).
Prise en charge du DCM
La prise en charge du DCM par l'outil Télécharger facilite l'authentification sur les points de terminaison d'API via l'authentification de base. Il permet également la résolution des valeurs stockées dans le DCM dans les constantes d'en-tête ou de charge utile des requêtes lors de l'envoi de requêtes PUT et POST. Pour ce faire, il est possible d'encoder des parties spécifiques des valeurs d'en-tête ou de charge utile à l'aide de l'encodeur Base64. L'encodage fonctionne avec les valeurs étendues du DCM, ce qui vous permet d'inclure des informations d'identification provenant du DCM et de les chiffrer avec base64.
Cochez la case Utiliser le Gestionnaire de connexions aux données (DCM) pour configurer la connexion à l'aide de DCM. Pour plus d'informations, consultez la section DCM - Designer.
Résoudre les informations d'identification du DCM sur la charge utile dans les requêtes PUT et POST
Cochez la case Résoudre le problème de la charge utile pour utiliser des alias propres à DCM pour les paramètres En-têtes et Charge utile. Vous pouvez utiliser les alias à la fois pour les champs Nom et Valeur ; néanmoins, seule l'option Composer la chaîne/le corps de requête est prise en charge pour le champ Charge utile. Une fois le workflow exécuté, ces alias sont automatiquement remplacés par les valeurs DCM correspondantes.
Les alias pris en charge sont les suivants :
{dcm:userName}
{dcm:password}
{dcm:host}
Ajoutez l'outil Télécharger au canevas, sélectionnez une connexion DCM et assurez-vous que la case Résoudre le problème de la charge utile est cochée.
Dans les onglets En-tête ou Charge utile, en fonction des exigences de votre point de terminaison cible, vous pouvez ajouter une constante et utiliser
{dcm:userName}
ou{dcm:password}
dans la colonne Valeur. Vous pouvez combiner plusieurs références DCM ou inclure une chaîne de caractères personnalisée. Par exemple, vous pouvez créer un en-tête Authentification avec la valeur{dcm:userName}:{dcm:password}
.Si vous souhaitez résoudre des secrets DCM dans le corps de la charge utile d'une requête POST, assurez-vous de sélectionner l'option multipart/form-data dans la liste déroulante Type de contenu, car Alteryx n'autorise pas le développement des secrets dans les URL pour des raisons de sécurité.
Encodage Base64
Dans le panneau de configuration de l'outil Télécharger, vous pouvez utiliser la balise {base64:yourtextgoeshere}
pour envelopper n'importe quelle chaîne dans des valeurs constantes d'en-tête ou de charge utile. Vous pouvez combiner cette balise avec n'importe quelle autre chaîne ou avec les balises DCM décrites ci-dessus si vous souhaitez encoder en Base64 les valeurs de DCM référencées.
Vous pouvez utiliser les éléments suivants comme valeur d'en-tête d'authentification {base64:{dcm:userName}:{dcm:password}}
, en encodant la combinaison du nom d'utilisateur et du mot de passe tel qu'ils sont stockés dans le DCM.
Autres considérations
Pour éviter un ralentissement de la connexion lors de l'utilisation de l'outil Télécharger, veillez à désélectionner l'option « Détecter automatiquement les paramètres » dans les propriétés Internet de votre compte (Panneau de configuration > Options Internet > Connexions > Paramètres réseau).