Flex Gateway新着情報
Governance新着情報
Monitoring API Managerサポートカテゴリ: Premium
FTPS 用 Anypoint Connector (FTPS Connector) を使用すると、FTPS 経由でファイルを送受信でき、Mule アプリケーションと FTPS サーバーとのシームレスなインテグレーションが提供されます。
このガイドを使用して、FTPS Connector を使用した基本的な Mule フローのセットアップおよび設定を行ってください。
リリースノート: FTPS Connector リリースノート
Exchange: FTPS Connector
このドキュメントは、読者が FTPS、Mule、Anypoint Connector、Anypoint Studio、Mule フローの要素、グローバル要素に精通していることを前提としています。
「ハードウェアおよびソフトウェアの要件」を参照してください。
Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。
Anypoint Platform のログイン情報で Exchange にサインインします。
Anypoint Exchange で [Provided by MuleSoft (MuleSoft による提供)] をクリックします。
Mule 3 Connector を検索して [Install (インストール)] をクリックします。
FTPS Connector のグローバル要素を設定し、アプリケーション内の複数の FTPS Connector インスタンスで使用できます。ただし、すべてのコネクタインスタンスが同じ要素または設定を使用するとは限りません。たとえば、フロー内の複数のコネクタが異なるグローバル要素や設定を使用して複数のインスタンスに接続する場合があります。
接続や他の詳細は、[Global Element Properties (グローバル要素のプロパティ)] ウィンドウで設定します。これらの設定は、グローバル要素に保存され、適切なコネクタインスタンスによって参照されます。

この例では、プレースホルダーの値は、デフォルトではプロジェクトの src/main/resources フォルダーにある .properties ファイルに保存されている値を参照します。「プロパティの設定」を参照してください。
保守の容易さと再利用性を向上するには、FTPS Connector プロパティの値をグローバル要素にハードコード化するのではなく、FTPS Connector プロパティ用の .properties ファイルを使用する必要があります。
.properties ファイルを使用すると、アプリケーションをさまざまな環境 (本番、開発、QA など) にデプロイして、必要に応じてログイン情報を変更することができます。
「複数の環境へのデプロイ」を参照してください。
| 項目 | 説明 |
|---|---|
Username (ユーザー名) |
FTPS サーバーでのユーザー名。 サーバーで匿名ログインが許可される場合、ユーザー名として |
Password (パスワード) |
そのユーザー名のパスワード。 匿名ログインの場合、この項目は空にできます。 |
Host (ホスト) |
FTPS サーバーのホストアドレス。 |
Port (ポート) |
FTPS サービスが実行されているポート。 |
Keystore path (キーストアパス) |
SSL で使用するキーストアへのパス。 |
Keystore password (キーストアパスワード) |
キーストアファイルのパスワード。 |
Read timeout (読み取りタイムアウト) |
コンシューマーがタイムアウトするまで応答を待機する時間 (ミリ秒)。 デフォルト値は 0 (無限) です。 |
Connection timeout (接続タイムアウト) |
コンシューマーがタイムアウトするまで接続の確立を試みる時間 (ミリ秒)。 デフォルト値は 0 (無限) です。 |
Disable Certificate Validation (証明書検証の無効化) |
SSL 証明書検証を無効にするためのオプション。証明書が無視されて このオプションはお勧めしません。 |
Encryption mode (暗号化モード) |
クライアントセキュリティを呼び出すモード (IMPLICIT または EXPLICIT)。 |
Transfer mode (転送モード) |
データ接続を確立するモード (PASSIVE または ACTIVE)。 |
| 項目 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Max Active (最大アクティブ) |
Number (数値) |
一度にセッションから借りることができる Mule コンポーネントの数を制御します。負の値に設定した場合、同時にアクティブにできるコンポーネントの数に制限はありません。maxActive を超えた場合、プールは枯渇したと呼ばれます。 |
||
Max Idle (最大アイドル) |
Number (数値) |
プール内で同時にアイドル状態のままにできる Mule コンポーネントの最大数。負の値に設定した場合、同時にアイドルにできる Mule コンポーネントの数に制限はありません。 |
||
Max Wait (最大待機) |
Number (数値) |
プールが枯渇し、exhaustedAction が |
||
Min Eviction Millis (最小除去時間) |
Number (数値) |
オブジェクトが除去対象となるまでにオブジェクトをプール内でアイドル状態のままにできる最小時間を決定します。正の値以外の場合、アイドル時間のみによってオブジェクトがプールから削除されることはありません。 |
||
Eviction Check Interval Millis (除去確認間隔) |
Number (数値) |
オブジェクトエビクターの実行間隔 (ミリ秒) を指定します。正の値以外の場合、オブジェクトエビクターは実行されません。 |
||
Exhausted Action (枯渇アクション) |
Enumeration (列挙)。次のいずれかになります。
|
Mule コンポーネントプールが枯渇した場合のプールの動作を指定します。可能な値:
|
||
Initialisation Policy (初期化ポリシー) |
Enumeration (列挙)。次のいずれかになります。
|
プール内のコンポーネントの初期化方法を決定します。可能な値:
|
FTPS Connector はエンドポイントの概念に基づいています。次のいずれかのグローバル要素を設定できます。
FTPS サーバーからファイルを読み取るためのインバウンドエンドポイント
FTPS サーバーにファイルをアップロードするためのアウトバウンドコネクタ
Anypoint Studio でパレットからキャンバスに FTPS Connector をドラッグすると、FTP Connector の名前空間とスキーマの場所が Mule アプリケーションの XML コードに自動的に入力されます。
名前空間:
xmlns:ftps="http://www.mulesoft.org/schema/mule/ftps"
スキーマの場所:
http://www.mulesoft.org/schema/mule/ftps http://www.mulesoft.org/schema/mule/ftps/current/mule-ftps.xsd
Studio の XML エディターまたは他のテキストエディターで Mule アプリケーションを手動でコーディングする場合、設定 XML のヘッダーの <mule> タグ内で名前空間およびスキーマの場所を定義します。
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ftps="http://www.mulesoft.org/schema/mule/ftps"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ftps
http://www.mulesoft.org/schema/mule/ftps/current/mule-ftps.xsd">
<!-- put your global configuration elements and flows here -->
</mule>
このユースケースの例は、Anypoint Studio ユーザーを対象とします。
XML でアプリケーションを設定している場合は、サンプル Mule アプリケーションの XML コードまでスキップし、各ユースケースの XML で FTPS グローバル要素とコネクタがどのように設定されているかを確認してください。
Anypoint Studio を使用して FTPS サーバーからファイルを読み取る手順は、次のとおりです。
Studio で、[File (ファイル)] → [New (新規)] → [Mule Project (Mule プロジェクト)] をクリックして、新しい Mule プロジェクトを作成します。
プロジェクトを開いたまま、Studio パレットで インストール済みの FTPS Connector を検索します。
新しい FTPS Connector をキャンバスにドラッグします。
Logger を FTPS 要素の後にドラッグして、受信メッセージのログをコンソールに記録します。

フローヘッダーをダブルクリックして、名前を read-flow に変更します。

FTPS Connector 要素をダブルクリックして、次のようにプロパティを設定します。
| 項目 | Value (値) |
|---|---|
Display Name (表示名) |
FTPS (Streaming) (FTPS (ストリーミング)) |
Consumer Configuration (コンシューマー設定) |
この値は、設定済みの他の設定の名前に設定できます。 |
操作 |
Read |
Directory to move to (移動先ディレクトリ) |
サーバーからファイルを読み取った後のファイルの移動先のディレクトリ。 空にした場合、ファイルは削除されます。 |
File name (ファイル名) |
読み取るファイルのファイル名パターン。 |
Maximum concurrent reads (最大同時読み取り数) |
ファイルを読み取るために使用するスレッド (接続) の数。 |
ASCII Data Type (ASCII データ型) |
読み取るファイルが ASCII であるか BINARY であるか。 デフォルトは BINARY です。 |
ストリーミング |
InputStream をメッセージペイロードとして送信するか (true)、バイト配列として送信するか (false)。 デフォルトは false です。 |
Pooling period (プーリング期間) |
サーバーのファイルを照会する間隔。 |

ロガーを選択して、項目を次のように設定します。

[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] を選択し、アプリケーションを Studio から Mule Runtime Engine にデプロイします。
ファイル名パターンと一致する新しいファイルが表示されると、そのコンテンツがコンソールに表示されます。
FTPS サーバーからファイルを読み取るには、FTPS Connector をコンシューマーとして使用して、Studio で生成された XML コードを使用する次のサンプル Mule アプリケーションを実行します。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking"
xmlns:ftps="http://www.mulesoft.org/schema/mule/ftps"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ftps
http://www.mulesoft.org/schema/mule/ftps/current/mule-ftps.xsd
http://www.mulesoft.org/schema/mule/ee/tracking
http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
<ftps:config name="FTPS_Basic_Config" username="${username}" password="${password}"
host="${host}" port="${port}" disableCertificateValidation="true" doc:name="FTPS: FTPS Basic Config"/>
<flow name="read-flow">
<ftps:read config-ref="FTPS_Basic_Config" fileName="test_read*" filesPath="/files"
pollingPeriod="10000" doc:name="FTPS (Streaming)" isASCII="true"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
</mule>
FTP サーバーにファイルを書き込む手順は、次のとおりです。
Studio で、[File (ファイル)] → [New (新規)] → [Mule Project (Mule プロジェクト)] をクリックして、新しい Mule プロジェクトを作成します。
プロジェクト構造内を移動して、src/main/app/project-name.xml をダブルクリックします。
新しい HTTP 要素をキャンバスにドラッグします。
この要素はフローのエントリポイントであり、ファイルに書き込むデータを提供します。
新しい FTPS 要素を HTTP リスナーの後にドラッグます。

フローのヘッダー (青い行) をダブルクリックして、フローの名前を write-flow に変更します。

HTTP 要素を選択します。
[Connector Configuration (コネクタ設定)] ドロップダウンの横にあるプラス記号をクリックします。
応答画面でデフォルト設定を受け入れて [OK] をクリックします。
[Path (パス)] に write を設定します。
FTPS Connector を選択して、プロパティを次のように設定します。
| Display Name (表示名) | Write |
|---|---|
Consumer Configuration (コンシューマー設定) |
この値は、設定済みの他の設定の名前に設定できます。 |
操作 |
Write |
File Name (ファイル名) |
FTPS サーバーに作成するファイルの名前。 |
File Path (ファイルパス) |
ファイルを作成する、FTPS サーバー上のパス。 |
Input Reference (入力参照) |
指定したファイルに書き込むデータ。 |
ASCII Data Type (ASCII データ型) |
書き込むファイルが ASCII であるか BINARY であるか。 デフォルトは BINARY です。 |
Append Contents (コンテンツを追加) |
操作に渡されたコンテンツを既存のファイルに追加する (true) かどうか。 |
ストリーミング |
ファイルの内容をストリームとしてアップロードする (true) か、すべてを一度にアップロードする (false) か。 |

アプリケーションを起動し、作成した HTTP エンドポイントを呼び出して、FTPS サーバー上にファイルを作成します。
FTPS サーバーにファイルを書き込むには、FTPS Connector をメッセージパブリッシャーとして使用して、Studio で生成された XML コードを使用する次のサンプル Mule アプリケーションを実行します。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking"
xmlns:ftps="http://www.mulesoft.org/schema/mule/ftps"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/ftps
http://www.mulesoft.org/schema/mule/ftps/current/mule-ftps.xsd
http://www.mulesoft.org/schema/mule/ee/tracking
http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
<ftps:config name="FTPS_Basic_Config" username="${username}" password="${password}"
host="${host}" port="${port}" disableCertificateValidation="true" doc:name="FTPS: FTPS Basic Config"/>
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081"
doc:name="HTTP Listener Configuration"/>
<flow name="write-flow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<ftps:write config-ref="FTPS_Basic_Config" fileName="test_read.txt"
filePath="/files" input-ref=""Test file content"" doc:name="FTPS"/>
</flow>
</mule>