Skip to main content

Run Command tool Outil Exécuter une commande

Exemple d'outil unique

Exécuter une commande a un exemple d'outil unique. Accédez à la page Exemples de workflows pour savoir comment accéder à cet exemple et à de nombreux autres exemples directement dans Alteryx Designer.

Utilisez l'outil Exécuter une commande pour exécuter des programmes externes dans Designer. Vous pouvez utiliser cet outil comme outil d'entrée, outil de sortie ou outil intermédiaire.

L'utilisation de l'outil Exécuter une commande équivaut à exécuter des applications directement depuis la ligne de commande Windows, avec l'avantage de rester dans l'interface utilisateur d'Alteryx. Vous pouvez notamment utiliser cet outil dans les cas suivants :

  • Lorsque Designer ne dispose pas de la fonctionnalité requise.

  • En combinaison avec curl.exe pour télécharger des données de sites web ou FTP.

  • Pour appeler des applications tierces.

  • Pour envelopper des fonctionnalités personnalisées écrites dans d'autres langages de programmation.

Si le programme utilisé ne définit pas de marquages d'erreur, vous pouvez l'intégrer dans un fichier de commandes pour veiller à ce que le fichier de sortie soit supprimé avant son exécution.

Configuration de l'outil

Lorsque vous exécutez le workflow, la configuration de l'outil Exécuter une commande se fait dans l'ordre suivant : Source d'écriture, Exécuter un programme externe, puis Résultats de lecture.

  1. Éventuellement, spécifiez une sortie Source d'écriture [facultatif] . La source d'écriture correspond aux données transmises à l'outil en tant que fichier, connexion au serveur SQL ou tout type de sortie pris en charge. Spécifiez une source d'écriture uniquement si vous utilisez l'outil Exécuter une commande en tant qu'outil de sortie ou outil intermédiaire.

  2. Dans la section Exécuter un programme externe  :

    • Indiquez la commande du programme externe à exécuter. Par exemple, il peut s'agir d'un programme qui agit sur une source d'écriture et génère des résultats de lecture.

      Opérateurs UNIX

      Si le programme externe est une application à ligne de commande de type UNIX qui prend l'entrée de stdin et écrit dans stdout, vous pouvez utiliser les opérateurs << et >> pour mettre en pipe les informations entre les fichiers.

    • Saisissez les arguments de commande [facultatifs] , le cas échéant. La plupart des commandes sont utilisées avec un ou plusieurs arguments. Le caractère obligatoire ou facultatif des arguments dépend de la commande.

    • Éventuellement, spécifiez un répertoire de travail [facultatif] . Si vous laissez ce champ vide, la valeur par défaut est le répertoire dans lequel le workflow est enregistré.

    • Sélectionnez Exécution réduite pour réduire la fenêtre Exécuter une commande dans la barre des tâches lorsqu'Alteryx exécute la commande externe.

    • Sélectionnez Exécution silencieuse pour ne pas afficher la fenêtre Exécuter une commande lorsqu'Alteryx exécute la commande externe.

  3. Éventuellement, spécifiez une entrée de résultats de lecture . Le fichier transite par les étapes suivantes du workflow. Ne spécifiez une entrée de résultats de lecture que si vous utilisez l'outil Exécuter une commande comme outil d'entrée ou outil intermédiaire.

Exemple de cas d’utilisation

Voici un exemple de cas d'usage et la configuration résultante.

1. L'outil est configuré en tant que fichier d'entrée dans le workflow Alteryx. Par conséquent, laissez le champ Source d'écriture vide.

Write source: (blank)

2. La commande est curl.exe . Il s'agit d'un programme open source gratuit qui permet de télécharger des fichiers d'une page web. Pour plus d'informations, accédez à la documentation relative au programme curl .

Command: curl.exe

3. Les arguments de commande incluent le chemin complet du fichier que vous souhaitez télécharger ainsi qu'une commande de sortie et le fichier à générer (en l'occurrence, -o "%temp%\temp.csv" , qui génère le contenu de la page Web sous la forme d'un fichier nommé temp.csv .

Arguments de commande : https://help.alteryx.com/robots.txt -o "%temp%\temp.csv"

4. Le champ Répertoire de travail est vide pour pointer par défaut vers le répertoire dans lequel le workflow est enregistré.

Working Directory: (blank)

5. Les résultats de lecture renvoient au fichier temp.csv généré via le contenu téléchargé, et son chemin relatif ( %temp% désigne le répertoire temporaire). Le programme curl a déjà téléchargé le contenu et gère les données en tant que fichier .csv. Alteryx lit le fichier .csv comme s'il provenait d'un outil Entrée de données. Le fichier peut à présent être traité en aval.

Read Results: %temp%\temp.csv

Solution de l'outil Exécuter une commande avec AMP Engine

En raison du traitement multi-threaded d'AMP Engine, des problèmes de simultanéité peuvent se produire lorsque plusieurs macros avec les outils Exécuter une commande écrivent dans le même fichier temporaire. Il est possible de contourner ce problème.

Pour plus d'informations, reportez-vous à la solution de contournement outil Exécuter une commande avec AMP Engine.