AMP Engine によるコマンド実行ツールの問題の回避策
バージョン:
2023.1
Last modified: August 24, 2022
AMP Engine のマルチスレッド処理の影響により、複数のマクロでコマンド実行ツールを使用し、同じ一時ファイルに書き込む場合に、同時実行性の問題が発生することがあります。たとえば、IFS マクロでコマンド実行ツールを使用し、出力先に一時ディレクトリ内のファイルを指定した場合などです。
次の図は、3 つのコマンド実行ツールが同時に動作して同じファイルを使用しようとして、エラーが生じる様子を示しています。AMP の概念により、仕様どおりに動作します。
エラーを回避するには、Formula 関数を使用して UUID を作成し、ファイル名を一意のものにします。同時に実行される可能性のあるコマンド実行ツールの前に、質問を追加します。コマンド実行ツールの値が UUID によって変更されます (入力/出力ファイル名のいずれかの場所に %uuid% が追加されます)。こうすることで、コマンド実行ツールの各インスタンスが、異なる入力/出力ファイルの一時ディレクトリを持つようになります。
Designer に同梱されている Alteryx マクロのうち、影響を受けるものは以下のとおりです。
-
IFS.yxmc
-
Google_Analytics.Prep_Query_String.yxmc
-
UTCDateTimeConverterMacro.yxmc