ローカル環境の値を設定することにより、FileOutput ノードで指定されたリモート・サーバーの場所をオーバーライドします。 さらに、ローカル環境を使用して、FTP 転送または SFTP 転送の前または後に実行するコマンドを指定することもできます。
FileOutput ノード用の FTP サーバーまたは SFTP サーバーの場所を LocalEnvironment.Destination.File.Remote.Server で設定できます。 ローカル環境にこのフィールドが存在する場合、FileOutput ノード上の「リモート・サーバーおよびポート」プロパティーがオーバーライドされます。 このローカル環境フィールドを、構成可能サービスの名前、サーバーの名前、またはサーバー名とポート番号に設定してください。
また、ローカル環境を使用して、FTP 転送または SFTP 転送の前または終了後に実行するコマンドを指定することもできます。
LocalEnvironment/Destination/File/Remote/Precommand
必要となる転送前コマンドごとに、このフィールドを繰り返すことができます。
各コマンドは、フィールドの索引順で実行されます (例えば Precommand[1] は Precommand[2] の前に実行されます)。 1 つの Precommand フィールドの下に 2 つのコマンドが存在する場合、エラーが出されます。 LocalEnvironment/Destination/File/Remote/Postcommand
必要となる転送後コマンドごとに、このフィールドを繰り返すことができます。
各コマンドは、フィールドの索引順で実行されます (例えば Postcommand[1] は Postcommand[2] の前に実行されます)。 1 つの Precommand フィールドの下に 2 つのコマンドが存在する場合、エラーが出されます。 Post コマンドが失敗すると、ファイル転送はロールバックされません。LocalEnvironment/Destination/File/Remote/Postcommand[1]/IgnoreErrors = true;
LocalEnvironment/Destination/File/Remote/Postcommand[1]/MKDIR = 'NOTTHERE';
サーバーで実行される各コマンドでは、以下の表に示す値をローカル環境のフィールドとして使用できます。
これらのコマンドには、大/小文字の区別がありません。フィールド名 | パラメーター | 使用法 |
---|---|---|
RENAME | From、To | このコマンドを使用すると、From フィールドで指定されたファイルを、To フィールドで指定されたファイル名に名前変更できます。 |
DELETE | フィールドの値 | このコマンドを使用すると、DELETE フィールドで指定されたファイルを削除できます。 |
MKDIR | フィールドの値 | このコマンドを使用すると、MKDIR フィールドで指定されたディレクトリーを作成できます。 |
RMDIR | フィールドの値 | このコマンドを使用すると、RMDIR フィールドで指定されたディレクトリーを削除できます。 |
CD | フィールドの値 | このコマンドを使用すると、現行ディレクトリーから、CD フィールドで指定されたディレクトリーに切り替えることができます。 |
CDUP | パラメーターなし | このコマンドを使用すると、現行ディレクトリーから親ディレクトリーに切り替えることができます。 |
フィールド名 | パラメーター | 使用法 |
---|---|---|
SITE | フィールドの値 | このコマンドを使用すると、SITE FTP コマンドを実行できます。 SITE フィールドの値には、パラメーターやオプションを含む、実行対象のストリング全体が入ります。 |
QUOTE | フィールドの値 | このコマンドを使用すると、ロー FTP サーバー・コマンドを実行できます。
QUOTE フィールドの値は、実行するパラメーターを含むコマンドです。 このコマンドは、試行されるアクションがファイル・ノードでの転送方法と両立するかどうかを検査しません。 そのため、引用メカニズムを使ってデータ転送やデータ受信を試行しないでください (例えば STOR、APPE、RETR を使用しないでください)。 |
-- select the remote server
set OutputLocalEnvironment.Destination.File.Remote.Server = 'cs' || cast(I as char);
-- make a new directory on the server
set OutputLocalEnvironment.Destination.File.Remote.Precommand[1].MKDIR = 'T4';
-- change directory into the new directory
set OutputLocalEnvironment.Destination.File.Remote.Precommand[2].CD = 'T4';
-- set the name to which to transfer the file
set OutputLocalEnvironment.Destination.File.Name = 'cs' || cast(I as char);
-- after the transfer, rename the file to a new name in the directory
set OutputLocalEnvironment.Destination.File.Remote.Postcommand[1].RENAME.From = 'cs' || cast(I as char);
set OutputLocalEnvironment.Destination.File.Remote.Postcommand[1].RENAME.To = '../ds' || cast(I as char);
-- change the directory to the parent directory
set OutputLocalEnvironment.Destination.File.Remote.Postcommand[2].CDUP = '';
-- delete the directory that was created previously
set OutputLocalEnvironment.Destination.File.Remote.Postcommand[3].RMDIR = 'T4';
propagate;