コマンド実行ツール
ツールごとに学習
コマンド実行ツールには「ツールごとに学習」が用意されています。 サンプルワークフロー を参照して、このサンプルを含むさまざまなサンプルを Alteryx Designer で直接利用する方法をご確認ください。
コマンド実行を使用して、Designer 内で外部コマンドプログラムを実行します。このツールは、入力、出力、または中間ツールとして使用できます。
コマンド実行ツールの使用は、Windowsコマンドラインからアプリケーションを直接実行するのと似ていますが、Alteryx GUIの中から実行できるという便利さがあります。たとえば、次のツールを使用できます。
Designer に必要な機能が備わっていないとき。
Curl.exe
を用いた Web サイトまたは FTP サイトからのデータダウンロード。サードパーティのアプリケーションの呼び出し。
他のプログラミング言語で書かれたカスタム機能のラッピング。
使用しているプログラムでエラーフラグが設定されていない場合は、バッチファイルで折り返して、実行前に出力ファイルが削除されていることを確認する必要があります。
ツールの設定
ワークフローを実行すると、コマンド実行ツール設定が、書き込みソース、外部プログラムの実行、結果の読み取りの順で実行されます。
オプションで、[ 書き込み元 (オプション) ] 出力を指定します。書き込みソースはファイル、SQLサーバー接続、またはサポートされている出力タイプとしてツールに入るデータです。Run Commandツールを出力ツールまたは中間ツールとして使用する場合、書き込みソースのみを指定してください。
外部プログラムの実行 のセクションでは、次の設定をします。
実行する外部プログラムコマンドを指定します。たとえば、これは書き込み元で動作し、読み込み結果を生成するプログラムです。
UNIX 演算子
外部プログラムが、 stdin からの入力を取り込み、stdout に書き込む UNIX スタイルのコマンドラインアプリである場合は、<< と >> の演算子を使用して、ファイルとの間で情報をやり取りします。
[ コマンド引数 (オプション) ] があれば入力します。ほとんどのコマンドは、1 つ以上の引数を伴って使用されます。引数が必須であるかオプションであるかは、コマンドによって異なります。
オプションで、[ 作業ディレクトリ (オプション) ] を指定します。このフィールドを空白のままにしておくと、デフォルトはワークフローが保存されるディレクトリになります。
[ 最小化で実行 ] を選択すると、Alteryx が外部コマンドを実行しているときに、コマンド実行ウィンドウを最小化してタスクバーに表示します。
[ サイレント実行 ] を選択すると、Alteryx が外部コマンドを実行するときに コマンド実行ウィンドウを表示しないようにします。
オプションで、[ 読み込み結果 ] 入力を指定します。このファイルはワークフローの残りを最後まで遂行します。Run Commandツールを入力ツールまたは中間ツールとして使用している場合にのみ、読み込み結果の入力を指定してください。
使用ケースの例
この例では、使用ケースの例とその結果の設定について詳しく説明します。
1. このツールは、Alteryx ワークフローの入力ファイルとして設定されています。したがって、[ 書き込み元 ] は空白のままにします。
Write source: (blank)
2.
コマンド
は無料のオープンソースプログラムである
curl.exe
で、Web ページからファイルをダウンロードすることができます。詳細については、
curl ドキュメンテーション
を参照してください。
Command: curl.exe
3.
コマンド引数
には、ダウンロードするファイルの完全なパスと、出力コマンドおよび出力するファイルが含まれます。この場合は
-o "%temp%\temp.csv"
で、Webページから取得したコンテンツを
temp.csv
という名前のファイルに出力することを意味します。
コマンド引数: https://help.alteryx.com/robots.txt -o "%temp%\temp.csv"
4. 作業ディレクトリ は空白のままとし、デフォルトでワークフローが保存されているディレクトリになります。
Working Directory: (blank)
5. 読み込み結果 は ダウンロードされたコンテンツを戻す場所としての temp.csv ファイル、そしてその相対パス ( %temp% は一時ディレクトリを指示) を参照します。curlプログラムは既にコンテンツをダウンロードしており、この.csvファイルとしてデータを処理しています。Alteryx は .csv ファイルがあたかもデータ入力ツールから入ってきたかのように読み込みます。ファイルをダウンストリームで処理できるようになります。
Read Results: %temp%\temp.csv
AMP Engine によるコマンド実行ツールの問題の回避策
AMP Engine のマルチスレッド処理の影響により、複数のマクロでコマンド実行ツールを使用し、同じ一時ファイルに書き込む場合に、同時実行の問題が発生することがあります。この問題には回避策があります。
Refer to Run Command Tool Workaround with AMP Engine for more information.