FTP Connector を使用したファイルの書き込みの例 - Mule 4

FTP 用 Anypoint Connector (FTP Connector) の ​Write​ 操作では、コンテンツを特定のパスにオンデマンドで書き込むことができます。

Studio で Write 操作を設定する

Studio で ​Write​ 操作を追加および設定する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、「​ftp​」を検索して ​[Write]​ を選択します。

  2. [Write]​ 操作を Studio キャンバスにドラッグします。

  3. 操作の設定画面の ​[General (一般)]​ タブで、​[Connector configuration (コネクタ設定)]​ の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。

  4. 接続情報を指定し、​[OK]​ をクリックします。

  5. [General (一般)]​ タブで、​[Path (パス)]​ を ​output.csv​ に設定し、書き込むファイルのパスを設定します。 デフォルトでは、コネクタはメッセージペイロードに含まれるものをすべて書き込みます。

Studio の Write 操作の設定

設定 XML​ エディターでは、​<ftp:write>​ 設定は次のように記述されます。

<ftp:write path="output.csv" />
xml

埋め込み DataWeave 変換の使用

Write​ 操作の前に ​[Transform Message]​ コンポーネントを配置した場合、メッセージペイロードが変更され、​Write​ 操作の後に配置した操作に影響します。そのため、ペイロードの形式が異なり、書き込む前に形式を変換する必要がある場合、​Write​ 設定の ​[Content (コンテンツ)]​ 内に変換を配置することで、送信中のメッセージに影響を与えずに、書き込まれるコンテンツを生成できます。

次の例では、​DataWeave​ 変換を ​[Content (コンテンツ)]​ に配置しています。

Studio の [General (一般)] 設定の [Content (コンテンツ)] 項目の DataWeave 変換

設定 XML​ エディターでは、設定は次のように記述されます。

<ftp:write path="output.csv">
  <ftp:content>#[%dw 2.0
                   output application/csv
                   ---
                   payload.customers.email
                  ]
  </ftp:content>
</ftp:write>
xml

ディレクトリへの書き込み

デフォルトでは、存在しないディレクトリを ​[Path (パス)]​ に設定すると、​Write​ 操作は失敗します。欠落しているディレクトリが自動的に作成されるように ​[Create parent directories (親ディレクトリを作成)]​ を ​[True (デフォルト)]​ に設定します。

次の例で、​[Path (パス)]​ で設定されている ​a​、​b​、​c​ ディレクトリのいずれかが存在しない場合、コネクタによって作成されます。

Studio でのディレクトリへの書き込みの [General (一般)] 設定

設定 XML​ エディターでは、設定は次のように記述されます。

<ftp:write path="a/b/c/myFile.txt" />
xml

既存のファイルへの書き込み

コンテンツをファイルに書き込む場合、​[Write Mode (書き込みモード)]​ を次のいずれかのモードに設定します。

  • OVERWRITE (デフォルト)
    ファイルが存在する場合、ファイルを完全に上書きします。

  • APPEND
    ファイルが存在する場合、コンテンツを既存のファイルの最後に追加します。

  • CREATE_NEW
    新しいファイルを作成します。ファイルがすでに存在する場合、エラーが発生します。

ロック

Write​ 操作では、​Read​ 操作に似たロックがサポートされます。主な違いは、​Write​ 操作の終了後にロックが自動的にリリースされることです。​[Lock (ロック)]​ を次のいずれかのモードに設定します。

  • TRUE

  • FALSE (デフォルト)