Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMIME タイプ: application/csv
ID: csv
CSV データ形式は、各オブジェクトが行を表すオブジェクトの DataWeave 配列として表されます。すべての単純な値は、文字列として表されます。
CSV 入力の DataWeave リーダーでは、次の解析戦略がサポートされています。
インデックス付き
メモリ内
ストリーミング
デフォルトでは、CSV リーダーは、ファイルが 1.5MB 以下の場合、ファイル全体からの入力データをメモリ内に保存します。ファイルが 1.5 MB よりも大きい場合、データはディスクに書き込まれます。非常に大きなファイルの場合は、ストリーミングプロパティを true に設定することで、リーダーのパフォーマンスを向上できます。
詳細は、「DataWeave リーダー」を参照してください。
次の例は、CSV 形式の使用方法を示しています。
次の例は、DataWeave で CSV データを表す方法を示しています。
次のサンプルデータは、DataWeave ソースの入力として機能します。
name,lastname,age,gender
Mariano,de Achaval,37,male
Paula,de Estrada,37,female
デフォルトでは、CSV リーダーは、ファイルが 1.5MB 以下の場合、ファイル全体からの入力データをメモリ内に保存します。ファイルが 1.5 MB よりも大きい場合、データはディスクに書き込まれます。非常に大きなファイルの場合は、streaming
プロパティを true
に設定することで、リーダーのパフォーマンスを向上できます。このプロパティの使用方法を示すため、次の例では、CSV ファイルをストリーミングして JSON に変換します。
CSV 入力の構造は次のようになります。通常、ストリーミングされるファイルはこれよりもはるかに長くなります。
street,city,zip,state,beds,baths,sale_date
3526 HIGH ST,SACRAMENTO,95838,CA,2,1,Wed May 21 00:00:00 EDT 2018
51 OMAHA CT,SACRAMENTO,95823,CA,3,1,Wed May 21 00:00:00 EDT 2018
2796 BRANCH ST,SACRAMENTO,95815,CA,2,1,Wed May 21 00:00:00 EDT 2018
2805 JANETTE WAY,SACRAMENTO,95815,CA,2,1,Wed May 21 00:00:00 EDT 2018
6001 MCMAHON DR,SACRAMENTO,95824,CA,2,1,,Wed May 21 00:00:00 EDT 2018
5828 PEPPERMILL CT,SACRAMENTO,95841,CA,3,1,Wed May 21 00:00:00 EDT 2018
streaming
プロパティの使用方法を示すため、次の Mule フローでは、CSV ファイルをストリーミングして JSON に変換します。
<flow name="dw-streamingFlow" >
<scheduler doc:name="Scheduler" >
<scheduling-strategy >
<fixed-frequency frequency="1" timeUnit="MINUTES"/>
</scheduling-strategy>
</scheduler>
<file:read
path="${app.home}/input.csv"
config-ref="File_Config"
outputMimeType="application/csv; streaming=true; header=true"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map ((row) -> {
zipcode: row.zip
})]]></ee:set-payload>
</ee:message>
</ee:transform>
<file:write doc:name="Write"
config-ref="File_Config1"
path="/path/to/output/file/output.json"/>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
</flow>
この例では、outputMimeType="application/csv; streaming=true"
を設定して、CSV 入力をストリーミングするように Read 操作 (<file:read/>
) を設定します。入力 CSV ファイルは、${app.home}
の場所であるプロジェクトディレクトリ src/main/resources
にあります。
Transform Message コンポーネントの DataWeave スクリプトは、map
関数を使用して CSV ペイロードの各行を反復処理し、zip
列の各項目の値を選択します。
Write 操作によって、変換の結果が含まれるファイル (output.json
) が返されます。
Logger は、output.json
に表示されるものと同じ出力ペイロードを出力します。
DataWeave では、CSV の次の設定プロパティがサポートされています。
CSV 形式では、入力データの読み込みの指示を提供するプロパティを使用できます。
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
|
|
|
本文が開始される行番号。 |
|
|
|
項目値内の区切り文字または引用符などの無効な文字をエスケープするために使用される文字。 |
|
|
|
CSV ヘッダーが存在するかどうを示します。
有効な値は、
|
|
|
|
CSV ヘッダーが配置されている行番号。 |
|
|
|
空の行を無視します。
有効な値は、 |
|
|
|
引用符で使用する文字。 |
|
|
|
項目間を分離する文字。 |
|
|
|
CSV 入力をストリーミングするためのプロパティ。エントリを順次アクセスする場合のみ使用します。有効な値は、 |
CSV 形式では、出力データの書き込みの指示を提供するプロパティを使用できます。
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
|
|
|
本文が開始される行番号。 |
|
|
|
ライターバッファのサイズ。 |
|
|
|
|
|
|
|
使用するライターのエンコード ( |
|
|
|
項目値内の区切り文字または引用符などの無効な文字をエスケープするために使用される文字。 |
|
|
|
CSV ヘッダーを書き込むかどうかを示します。有効な値は、 |
|
|
|
ヘッダーが配置されている行番号を識別します。 |
|
|
|
空の行を無視します。
有効な値は、 |
|
|
新規回線 |
CSV を作成するときに使用する行区切り文字 ( |
|
|
|
引用符で使用する文字。 |
|
|
|
ヘッダー値を引用符で囲むかどうかを示します。
有効な値は、 |
|
|
|
(値に特殊文字が含まれている場合でも) 各値を引用符で囲むかどうかを示します。有効な値は、 |
|
|
|
項目間を分離する文字。 |