SFTP アクティビティを作成する

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む19読むのに数分
  • リモート サーバー上で基本的な SFTP コマンドを実行するアクティビティを作成します。

    始める前に

    必要なロール:activity_creator または workflow_admin

    このタスクについて

    ターゲット ホスト上のファイルやディレクトリーを管理したり、ある SFTP サーバーから別の SFTP サーバーにファイルをコピーしたりするカスタムアクティビティを作成できます。ファイルの内容は MID Server を介してストリーミングされ、MID Server ホストマシンのハード ドライブにデータを保管する必要はありません。
    注:
    このアクティビティでは、ソースホスト上で SFTP コマンドを実行できるユーザーの資格情報が必要です。アクティビティパックで提供される [ファイルのコピー] アクティビティは、ターゲット ホストにアクセスするために個別の資格情報を必要とします。

    手順

    1. カスタムアクティビティを作成します。
      このアクションにより、テンプレートを使用してカスタムアクティビティが作成されます。
    2. 一般的なプロパティを設定し、入力変数を作成した後、SFTP 実行コマンドを構成します。
      オプション説明
      コマンド 作成するアクティビティのタイプ。以下から選択可能です。
      • ファイルのコピー
      • ディレクトリーを作成
      • ファイル リストを入手
      • ファイルまたはディレクトリーを削除
      • ファイルまたはディレクトリーの名前を変更
      • ファイル属性の設定
      注:
      フォームに表示されるフィールドは、選択したコマンドによって異なります。
      ソースホスト アクティビティがターゲットとするファイルを含むサーバーの名前または IP アドレス。
      ソース ポート ソースサーバーとの通信に使用するポート番号。デフォルトのポート番号は 22 です。
      ソース ファイル パス ソースホスト上のファイル (/temp/test_data_file.txt) またはディレクトリー (/temp/test_dir) へのフル パス (選択したコマンドに応じる)。次のコマンドで使用できるフィールド:
      • ファイルのコピー
      • ファイルまたはディレクトリーを削除
      • ファイル属性の設定
      ソース ディレクトリー ソース ファイルが置かれているディレクトリーへのパス。次のコマンドで使用できるフィールド:
      • ディレクトリーを作成
      • ファイル リストを入手
      ソース ファイル ファイル転送に含める特定のソース ファイルの名前。ファイル名をセミコロンで区切ります。このフィールドは、セミコロンで区切られたワイルドカード パターンのリストをサポートします。例:*.txt; a?cd.pdf. このフィールドが空白の場合、すべてのファイルが含まれます。次のコマンドで使用できるフィールド:ファイルリストを入手
      注:
      このフィールドの値が他のフィールドのオプションにどのように影響するかについては、後述のロジックの説明を参照してください。
      ディレクトリー オンにすると、ファイル パスがディレクトリーであることを示します。次のコマンドで使用できるフィールド:ファイルまたはディレクトリーを削除
      ソースの資格情報タグ このアクティビティがソースホスト上で SFTP コマンドを実行するために使用する必要がある特定の資格情報タグ。
      ターゲットの資格情報タグ このアクティビティがターゲット ホスト上で SFTP コマンドを実行するために使用する必要がある特定の資格情報タグ。次のコマンドで使用できるフィールド:ファイルをコピー
      除外ファイル ファイル転送から除外する特定のソース ファイルの名前。アクティビティは、ソース ディレクトリーまたはサブフォルダーにある他のすべてのファイルに対して実行されます。ファイル名をカンマで区切ります。このフィールドは、カンマで区切られたワイルドカード パターンのリストをサポートします。例:*.txt, a?cd.pdf.。次のコマンドで使用できるフィールド:ファイルリストを入手
      注:
      このフィールドの値が他のフィールドのオプションにどのように影響するかについては、後述のロジックの説明を参照してください。
      サブフォルダーを含める オンにすると、サブフォルダーのファイルはソース ディレクトリーに含まれます。次のコマンドで使用できるフィールド:ファイルリストを入手
      注:
      選択内容がフォーム内の他のフィールドにどのように影響するかについては、後続のロジックの説明を参照してください。
      ターゲット ホスト ファイルの転送先のサーバーの名前または IP アドレス。次のコマンドで使用できるフィールド:ファイルをコピー
      ターゲット ポート ターゲット ホストとの通信に使用するポート番号。デフォルトのポート番号は 22 です。次のコマンドで使用できるフィールド:ファイルをコピー
      ターゲット ファイル パス ターゲット ホスト上のファイルへのフル パス。次のコマンドで使用できるフィールド:
      • ファイルのコピー
      • ファイルまたはディレクトリーの名前を変更
      一時ファイルのサフィックス ファイルがターゲット ホスト上に存在する場合、このコマンドは一時的なサフィックスをファイル名に使用できるようにします。このフィールドに値が含まれている場合、targetFilePath + tempFileSuffix を名前として使用して、アクティビティは最初にソースファイルをターゲットホスト上の一時ファイルにコピーします。完了すると、アクティビティは、ファイルの名前を実際のターゲット ファイル名に変更します。このフィールドが空白の場合、アクティビティはソース ファイルをターゲット ファイルに直接コピーし、これが存在する場合は上書きします。次のコマンドで使用できるフィールド:ファイルをコピー
      UID ファイルまたはディレクトリーに適用するユーザー ID 属性。UID と GID の値はペアとして一緒に設定する必要があります。そうしないと、無視されます。UID と GID の番号は、[ファイル リストを入手] アクティビティによって返される内部値です。通常、最初に [ファイルリストを入手] アクティビティを使用して、ファイルとその属性のリストを返します。次に、ソースホストからターゲット ホストにファイルを移動し、ターゲット ファイル上でソース ファイル属性を設定できます。このフローは「SFTP ファイル転送ワークフロー」で説明されています。次のコマンドで使用できるフィールド:ファイル属性の設定
      GID ファイルまたはディレクトリーに適用するグループ ID 属性。UID と GID の値はペアとして一緒に設定する必要があります。そうしないと、無視されます。UID と GID の番号は、[ファイル リストを入手] アクティビティによって返される内部値です。通常、最初に [ファイルリストを入手] アクティビティを使用して、ファイルとその属性のリストを返します。次に、ソースホストからターゲット ホストにファイルを移動し、ターゲット ファイル上でソース ファイル属性を設定できます。このフローは「SFTP ファイル転送ワークフロー」で説明されています。次のコマンドで使用できるフィールド:ファイル属性の設定
      権限 指定されたユーザーおよびグループに対して設定されたファイルまたはディレクトリーの権限。この値は整数で表す必要があります (例:16877)。この値が rwxr-xr-x のような権限を定義します。権限番号は、[ファイル リストを入手] アクティビティによって返される内部値です。通常、最初に [ファイルリストを入手] アクティビティを使用して、ファイルとその属性のリストを返します。次に、ソースホストからターゲット ホストにファイルを移動し、ターゲット ファイル上でソース ファイル属性を設定できます。このフローは「SFTP ファイル転送ワークフロー」で説明されています。次のコマンドで使用できるフィールド:ファイル属性の設定
      アクセス タイムスタンプ ファイルまたはディレクトリーが最後にアクセスされたタイムスタンプを上書きします。アクセスおよび変更のタイムスタンプは、ペアとして一緒に設定する必要があります。次のコマンドで使用できるフィールド:ファイル属性の設定
      変更タイムスタンプ ファイルまたはディレクトリーが最後に変更されたときのタイムスタンプを上書きします。アクセスおよび変更のタイムスタンプは、ペアとして一緒に設定する必要があります。次のコマンドで使用できるフィールド:ファイル属性の設定
      サイズ (バイト) ファイルのサイズ (バイト単位)。次のコマンドで使用できるフィールド:ファイル属性の設定
      必要な MID Server 機能 ソースサーバーとターゲットサーバーに接続するための適切な Mid Server 機能を備えた MID Server。
      システムはこのロジックを使用して、ソースホストから移動するファイルを決定します。
      • [ソース ファイル] フィールドが空の場合、システムはソース ディレクトリー内のすべてのファイルを選択します。そうでない場合は、フィールドに指定されたファイル名パターンのいずれかと名前が一致するファイルのみが選択されます。
      • [除外ファイル] フィールドが空の場合、システムは何も除外しません。そうでない場合は、フィールドに指定されているファイル名パターンのいずれかと名前が一致するファイルが除外されます。
      • 除外ルールは、包含ルールより優先度が高くなります。ファイル名が [除外ファイル] フィールドのファイル名パターンの 1 つと一致する場合、包含ルールに関係なく、そのファイル名は選択に含まれません。
      • [サブフォルダーを含める] チェック ボックスがオフになっていると、システムはソース ディレクトリーのみを調べて、包含または除外するファイルを探します。オフになっていない場合は、ソース ディレクトリーとそのサブフォルダーを調べて、包含または除外するファイルを探します。
      注:
      テストペイロードのパラメーター値を、[出力] タブの変数に自動的にマッピングできます。「出力変数を自動マッピングする」を参照してください。

    次のタスク

    SFTP テンプレート実行パラメーター

    実行パラメーターを使用して、[後処理] フォームで入力プロセス スクリプトを作成します。

    コマンド フィールドの説明については、「SFTP 実行コマンドを設定する」を参照してください。
    注:
    この表のすべての変数で executionParam. プリフィックスを使用する必要があります。
    表 : 1. SFTP 実行パラメーター
    名前 変数 タイプ 使用法
    コマンド command 文字列 このアクティビティの機能を識別します。可能なコマンドは次のとおりです。
    • ファイルのコピー
    • ディレクトリーを作成
    • ファイル リストを入手
    • ファイルまたはディレクトリーを削除
    • ファイルまたはディレクトリーの名前を変更
    • ファイル属性の設定
    ソース ソース 文字列 ソースホストを識別します。
    ソース ポート source_port 整数 ソースホストとの通信に使用されるポートを識別します。
    ソース ディレクトリー source_directory 文字列 移動されるファイルのソース ディレクトリーへのパス。
    ソース ファイル source_files 文字列 ソース上の移動されるファイルの名前。
    除外ファイル excluded_files 文字列 操作から除外されるファイルをリストします。
    ソース ファイル パス source_file_path 文字列 移動されるソース ファイルへのパス。
    ターゲット ホスト target_host 文字列 ターゲット ホストを識別します。
    ターゲット ポート target_port 整数 ターゲット ホストとの通信に使用されるポートを識別します。
    ターゲット ディレクトリー target_directory 文字列 ターゲット ホスト上のターゲット ディレクトリーへのフル パス。
    ターゲット ファイル パス target_file_path 文字列 ソースホストまたはターゲット ホスト上のファイルまたはディレクトリーへのフル パス。たとえば、この値はアクティビティパックの [ファイルまたはディレクトリーの名前を変更] アクティビティで使用されます。
    一時ファイルの後置 temp_file_postfix 文字列

    ファイルの移動時に [ファイルのコピー] アクティビティで使用される一時的なファイル名の拡張子。このフィールドに拡張子が含まれている場合、ソースファイルは target file name + temp_file_postfix を使用して一時ファイルにコピーされてから、実際のターゲットファイルに名前が変更されます。このフィールドが空白の場合、ソース ファイルは直接ターゲット ファイルにコピーされます。

    ディレクトリー is_directory ブーリアン 指定されたファイル パスがディレクトリーかどうかを示します。
    サブフォルダーを含める include_subfolders ブーリアン システムがソース ディレクトリーのサブフォルダーを調べて、含めるファイルと除外するファイルを決定するかどうかを示します。
    ファイル属性 uid file_attribute_uid 整数 ファイルまたはディレクトリーに関連付けられたユーザー ID。
    ファイル属性 gid file_attribute_gid 整数 ファイルまたはディレクトリーに関連付けられたグループ ID。
    ファイル属性権限 file_attribute_permissions 整数 指定されたユーザーおよびグループに対するファイルまたはディレクトリーの権限。
    ファイル属性 atime file_attribute_atime 整数 ファイル属性からのアクセス タイム スタンプ。
    ファイル属性 mtime file_attribute_mtime 整数 ファイル属性からの変更タイム スタンプ。
    ファイル属性サイズ file_attribute_size 整数 ファイルのサイズ (バイト単位)。
    ソース資格情報タグ source_credential_tag 文字列 ソースホストでコマンドを実行するために使用される Orchestration アクティビティの資格情報エイリアス
    ターゲット資格情報タグ target_credential_tag 文字列 ターゲット ホスト上でコマンドを実行するために使用される資格情報タグ。
    MidCapabilities midCapabilities 文字列 (コンマ区切り) 必要な MID Server機能のリスト。

    SFTP 後処理パラメーターとペイロード解析

    これらのパラメーターを使用して、後処理スクリプト、ペイロード解析、およびタグ付けを作成します。

    表 : 2. SFTP 後処理パラメーター
    名前 変数 タイプ 使用法
    出力 output 文字列 クエリから返される出力データが含まれます。
    EccSysId eccSysId 文字列 ECC キュー入力メッセージに関連付けられた参照 ID が含まれます。
    ErrorMessages errorMessage 文字列 クエリから返されたエラーメッセージが含まれます。エラーメッセージが返されない場合、この値は null です。
    タグ タグ SSH コマンドから返されたタグ値のハッシュマップ SSH コマンドを使用して出力を抽出するために使用されるタグが含まれています。タグ出力は、次のように二重のパーセント記号で区切られます。%%tagname%% … %%。次の形式を使用してコマンドを設定します。
    %%tagname1%%
    output1 line 1
    output1 line 2
    …
    %%
    
    %%tagname2%%
    output2 line 1
    output2 line 2
    …
    %%
    返されるタグは JavaScript ハッシュマップ オブジェクトで、各キーには tagname が付加された tag がプリフィックスとして付いています。
    {"__text__": "", 
    "tagtagname1":"output1 line1\noutput1 line2\n", 
    "tagtagname2":"output2 line1\noutput2 line2\n"}

    SFTP 実行コマンドを設定する

    作成した変数を使用して、オーケストレーションが SFTP ターゲットで実行するコマンドを設定します。

    始める前に

    [実行コマンド] ステージに進む前に、[入力] フォームで必要な入力変数を作成します。

    必要なロール:activity_creator、admin

    注:
    MID Serverとターゲット間の JDBC 接続は、ワークフロー コンテキストでアクティビティを実行しなくてもテストできます。詳細は、「テスト テンプレート出力」を参照してください。

    手順

    1. 入力のリストから変数をドラッグし、コマンド フィールドにドロップします。
      システムによって、コマンドの正しい構文で変数がフォーマットされます。
      図 : 1. SFTP 実行コマンド
      この例では、[ディレクトリを作成] コマンドが [コマンド] フィールドに表示されます。
    2. 表に示されたフィールドに入力します。
      表 : 3. SFTP コマンド フィールド
      フィールド 説明 コマンド
      コマンド 作成するアクティビティのタイプ。以下から選択可能です。
      • ファイルのコピー
      • ディレクトリーを作成
      • ファイル リストを入手
      • ファイルまたはディレクトリーを削除
      • ファイルまたはディレクトリーの名前を変更
      • ファイル属性の設定
      注:
      フォームに表示されるフィールドは、選択したコマンドによって異なります。
      すべて
      ソースホスト アクティビティがターゲットとするファイルを含むサーバーの名前または IP アドレス。 すべて
      ソース ポート ソースサーバーとの通信に使用するポート番号。デフォルトのポート番号は 22 です。 すべて
      ソース ファイル パス ソースホスト上のファイルへのフル パス。
      • ファイルのコピー
      • ファイルまたはディレクトリーを削除
      • ファイル属性の設定
      ソース ディレクトリー ソース ファイルが置かれているディレクトリーへのパス。
      • ディレクトリーを作成
      • ファイル リストを入手
      ソース ファイル 管理アクションに含める特定のソース ファイルの名前。このリストのファイル名はセミコロンで区切ります。このフィールドはワイルド カードの使用をサポートしています。このフィールドが空白の場合、すべてのファイルが含まれます。このフィールドの値が他のフィールドのオプションにどのように影響するかについては、表の下のセクションを参照してください。 ファイル リストを入手
      ディレクトリー 指定したファイル パスがディレクトリーかどうかを判断するチェック ボックス。 ファイルまたはディレクトリーを削除
      ソースの資格情報タグ ソースホストで SFTP コマンドを実行するために、このアクティビティが使用する必要のある特定の Orchestration アクティビティの資格情報エイリアス すべて
      ターゲットの資格情報タグ このアクティビティがターゲット ホスト上で SFTP コマンドを実行するために使用する必要がある特定の資格情報タグ。 ファイルのコピー
      除外ファイル 管理アクションから除外する特定のソース ファイルの名前。アクティビティは、ソース ディレクトリーまたはサブフォルダーにある他のすべてのファイルに対して実行されます。このリストのファイル名はセミコロンで区切ります。このフィールドはワイルド カードの使用をサポートしています。このフィールドの値が他のフィールドのオプションにどのように影響するかについては、表の下のセクションを参照してください。 ファイル リストを入手
      サブフォルダーを含める ソース ディレクトリー内のサブフォルダーからファイルを管理するには、チェック ボックスをオンにします。選択内容がフォーム内の他のフィールドにどのように影響するかについては、表の下のセクションを参照してください。 ファイル リストを入手
      ターゲット ホスト ファイルの転送先のサーバーの名前または IP アドレス。 ファイルのコピー
      ターゲット ポート ターゲット ホストとの通信に使用するポート番号。デフォルトのポート番号は 22 です。 ファイルのコピー
      ターゲット ファイル パス ターゲット ホスト上のファイルへのフル パス。
      • ファイルのコピー
      • ファイルまたはディレクトリーの名前を変更
      一時ファイルのサフィックス ファイルがすでにターゲット ホスト上に存在する場合に、ファイル名に使用する一時的なサフィックス。このフィールドに値が含まれている場合、アクティビティは重複するターゲットファイルが存在する場合はそれを削除し、名前として targetFilePath + tempFileSuffix を使用してソースファイルを一時ファイルにコピーします。完了すると、アクティビティは、ファイルの名前を実際のターゲット ファイル名に変更します。このフィールドが空白の場合、アクティビティはソース ファイルをターゲット ファイルに直接コピーし、これがすでに存在する場合は上書きします。 ファイルのコピー
      UID ファイルまたはディレクトリーに適用するユーザー ID 属性。UID と GID の値はペアとして一緒に設定する必要があります。そうしないと、無視されます。 ファイル属性の設定
      GID ファイルまたはディレクトリーに適用するグループ ID 属性。UID と GID の値はペアとして一緒に設定する必要があります。そうしないと、無視されます。 ファイル属性の設定
      権限 指定されたユーザーおよびグループに対して設定されたファイルまたはディレクトリーの権限。この値は整数で表す必要があります (例:16877)。この値が rwxr-xr-x のような権限を定義します。権限番号は、[ファイル リストを入手] アクティビティによって返される内部値です。通常、最初に [ファイルリストを入手] アクティビティを使用して、ファイルとその属性のリストを返します。次に、ソースホストからターゲット ホストにファイルを移動し、ターゲット ファイル上でソース ファイル属性を設定できます。これは、「SFTP ファイル転送ワークフロー」で説明されています。 ファイル属性の設定
      アクセス タイムスタンプ ファイルまたはディレクトリーが最後にアクセスされたタイムスタンプを上書きします。アクセスおよび変更のタイムスタンプは、ペアとして一緒に設定する必要があります。 ファイル属性の設定
      変更タイムスタンプ ファイルまたはディレクトリーが最後に変更されたときのタイムスタンプを上書きします。アクセスおよび変更のタイムスタンプは、ペアとして一緒に設定する必要があります。 ファイル属性の設定
      サイズ (バイト) ファイルのサイズ (バイト単位)。 ファイル属性の設定
      必要な MID Server 機能 ソースサーバーとターゲットサーバーに接続するための適切な Mid Server 機能を備えた MID Server。デフォルトでは、システムは SSH MID Server を選択します。 すべて
      システムはこのロジックを使用して、ソースホストから移動するファイルを決定します。
      • [ソース ファイル] フィールドが空の場合、システムはソース ディレクトリー内のすべてのファイルを選択します。そうでない場合は、フィールドに指定されたファイル名パターンのいずれかと名前が一致するファイルのみが選択されます。
      • [除外ファイル] フィールドが空の場合、システムは何も除外しません。そうでない場合は、フィールドに指定されているファイル名パターンのいずれかと名前が一致するファイルが除外されます。
      • 除外ルールは、包含ルールより優先度が高くなります。名前が [除外ファイル] フィールドのファイル名パターンの 1 つと一致するファイルは、包含ルールで選択されていても選択に含まれません。
      • [サブフォルダーを含める] チェック ボックスがオフになっていると、システムはソース ディレクトリーのみを調べて、包含または除外するファイルを探します。オフになっていない場合は、ソース ディレクトリーとそのサブフォルダーを調べて、包含または除外するファイルを探します。
    3. [保存] をクリックします。
    4. [続行] をクリックして、[出力] ステージに進みます。