Microsoft Azure Data Lake Storage Gen2コネクタ > Microsoft Azure Data Lake Storage Gen2のマッピング > ファイル名フィールド
  

ファイル名フィールド

ファイル名フィールドは、ファイルのソースパスを含む文字列フィールドです。ファイル名フィールドのデフォルトの精度は、フラットファイルの場合は255文字で複合ファイルの場合は1024文字です。
ファイル名フィールドを設定することはできません。ファイル名フィールドのデータを読み取りまたは書き込みしない場合は、ファイル名フィールドを削除できます。フラットファイルの場合は255文字を超え、複合ファイルの場合は1024文字を超えるフォルダ名は作成できません。
ファイル名は予約済みのキーワードです。ソースデータのカラム名としてファイル名を使用しないでください。この名前は、大文字と小文字が区別されます。
ファイル名フィールドは、次のファイル形式に適用されます。

ソースオブジェクトパスの読み取り

ソースオブジェクトをインポートすると、Secure Agentによって、インポートされたソースオブジェクトにFileNameフィールドが追加されます。ファイル名フィールドには、Secure Agentが実行時にデータを読み取るソースファイルの絶対パスが保存されます。
例えば、ディレクトリに多数のファイルが含まれ、各ファイルには読み取りを行う複数のレコードが含まれているとします。Microsoft Azure Data Lake Storage Gen2ソースの詳細プロパティで、ソースタイプとしてディレクトリを選択します。マッピングを実行すると、Secure Agentは各レコードを読み取って、それぞれのソースファイルの絶対パスがFileNameフィールドに保存されます。
ソースオブジェクトでFileNameフィールドを使用する場合、Secure Agentは、詳細モードのマッピングについては異なる方法でファイル名を読み取ります。
入力形式
構文
複合ファイル
abfss://<filesystem_name>@<account name>.<endpoint>/<directory>/<source_file_name>
abfss://adapterqa-source@adlsgen2qa.dfs.core.windows.net/parquet/reader/customer.parquet
フラットファイル
<directory>/<source_file_name>
csv/customer.csv

ターゲットオブジェクトへの書き込み

ターゲットオブジェクトをインポートすると、Secure Agentにより、インポートされたターゲットオブジェクトにFileNameフィールドが追加されます。ターゲットオブジェクトのファイル名フィールドを受信フィールドにマッピングすると、Secure Agentによって、ファイル名フィールドに基づいてフォルダ構造とターゲットファイルが作成されます。
以下の表に、Secure Agentがマッピングのファイル名をどのように読み取るかを示します。
入力形式
構文
複合ファイル
<directory>/<target_file_name>/<target_file_name>=<values of filename field>/part_file
parquet/writer/customer.parquet/customer.parquet=1
フラットファイル
<directory>/<target_file_name>/<target_file_name>=<values of filename field>/part_file
この構文はマッピングのみに適用されます。
詳細モードのマッピングを作成しても、Secure Agentはディレクトリ構造を作成しません。
csv/customer.csv/customer.csv=1
以下の表に、マッピングのFileNameフィールドシナリオの構文と例を示します。
説明
構文
ターゲットがない場合、新しいターゲットファイルが作成されます。
<target_file_name>=<source_file_name>
customer_tgt.csv=customer_src.csv
ソースのファイル名フィールドを既存のターゲットのファイル名フィールドにマッピングした場合、新しいターゲットファイルが作成され、既存のターゲットは影響を受けません。
<target_file_name>=<source_field_value>
customer_tgt.csv=customer_src.csv
ファイル名フィールド以外のソースフィールドを既存のターゲットのファイル名フィールドにマッピングした場合、ソースフィールドの一意の値ごとに個別のファイルが作成されます。
<target_file_name>=<source_field_value>
customer_tgt.csv=a, customer_tgt.csv=b... customer_tgt.csv=n
この例では、ターゲットファイルが存在するディレクトリにn個のファイルが挿入されます。ここで、nはソースフィールドの一意の値の数です。

ファイル名フィールドに関するルールとガイドライン

マッピングでファイル名フィールドを使用する場合は、次のガイドラインを考慮します。