10.3. FTP または SFTP サーバーへのファイルのアップロード
インテグレーションでは、フローの途中で FTP または SFTP サーバーへファイルをアップロードしたり、シンプルなインテグレーションを終了することができます。これには、FTP または SFTP コネクションをフローの途中に追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。
前提条件
- FTP または SFTP コネクションが作成済みである必要があります。
- フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。または、Fuse Online で最後のコネクションを選択するよう要求されます。
手順
- Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
- ファイルのアップロードに使用する FTP または SFTP コネクションをクリックします。
- Choose an action ページで Upload を選択します。
- 特定の 1 つのファイルのみをアップロードする場合は、File name expression フィールドにファイル名に解決される Apache Camel Simple 言語 表現を入力します。これは、アクションによってサーバーにアップロードされるファイルの名前になります。正規表現を指定することはできません。複数のファイルをアップロードする場合はこのフィールドを空白のままにしておきます。
- FTP directory フィールドには server ディレクトリーの絶対または相対名を入力します。File name expression フィールドに表現が含まれる場合、コネクションはこのディレクトリーに指定されたファイルを格納します。File name expression フィールドが空白である場合、コネクションは前のステップで取得したすべてのファイルをこのディレクトリーにアップロードします。
If file exists フィールドには、サーバーのファイルと同じパスや名前を持つファイルをアップロードする場合に行う処置を示します。デフォルトの Override を使用してサーバー上のファイルをアップロードするファイルでオーバーライドするか、以下の 1 つを選択します。
- Append は、アップロードするファイルの内容をサーバー上のファイルに追加します。
-
Fail は、
GenericFileOperationException
を出力します。インテグレーションはエラー状態になりません。 - Ignore はファイルをアップロードしません。インテグレーションは何も問題がないことを前提で実行を継続します。
- Move は 1 つのファイルの名前を変更します。
- TryRename は一時的な名前でファイルをアップロードし、希望のファイル名に変更します。この操作は、希望の名前を持つファイルの存在を確認しないため、既存ファイルのチェックを行う場合よりもほとんどのサーバーで操作が速くなります。
- Temporary file prefix while copying フィールドには、文字列を指定します。ファイルのアップロード中にこの文字列がファイル名の先頭に追加されます。これにより、コネクションはサーバー上で一時ファイルに書き込みを行い、その一時ファイルの名前を適切な名前に変更することが可能になります。これは、非常に大きなファイルをアップロードする場合にロックを減らすのに便利です。
- Temporary file name while copying フィールドには、文字列を指定します。ファイルのアップロード中にそのファイルの名前が変更されます。これにより、コネクションはサーバー上で一時ファイルに書き込みを行い、その一時ファイルの名前を適切な名前に変更することが可能になります。これは、非常に大きなファイルをアップロードする場合にロックを減らすのに便利です。
- Next をクリックしてアクションの入力タイプを指定します。
データタイプの認識が必要がない場合は、Select Type フィールドに Type specification not required を使用し、Next をクリックします。残りの手順を行う必要はありません。
ただし、構造化データタイプが推奨されます。たとえば、コネクション入力をデータマッパーステップでマップする場合、データタイプを指定する必要があります。データマッパーは、非構造化データのフィールドを表示できません。
データタイプを指定するには、Select Type フィールドをクリックし、以下の 1 つをスキーマタイプとして選択します。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
application/schema+json
です。 -
JSON instance は JSON データが含まれるドキュメントです。ドキュメントのメディアタイプは
application/json
です。 -
XML schema は XML データの構造を記述するドキュメントです。ドキュメントのファイル拡張子は
.xsd
です。 -
XML instance は XML データが含まれるドキュメントです。このドキュメントのファイル拡張子は
.xml
です。
-
JSON schema は JSON データの構造を記述するドキュメントです。ドキュメントのメディアタイプは
-
Definition 入力ボックスに、選択したスキーマタイプに準拠する定義を貼り付けます。たとえば、JSON schema を選択した場合は、メディアタイプが
application/schema+json
の JSON スキーマファイルの内容を貼り付けます。 Data Type Name フィールドにはデータタイプに選択した名前を入力します。たとえば、ベンダーの JSON スキーマを指定する場合は、
Vendor
をデータタイプ名として指定することができます。このタイプを指定するコネクションを使用するインテグレーションを作成または編集するときにこのデータタイプ名が表示されます。Fuse Online では、インテグレーションビジュアライゼーションとデータマッパーにタイプ名が表示されます。
- Data Type Description フィールドには、このタイプを区別するのに便利な情報を提供します。データマッパーでこのタイプを処理するステップにカーソルを合わせると、この説明が表示されます。
- Next をクリックします。
結果
インテグレーションビジュアライゼーションで追加した場所にコネクションが表示されます。