Azure Data Factory または Azure Synapse Analytics を使用してファイル システムとの間でデータをコピーする
適用対象: Azure Data Factory Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新たに試用を開始する方法については、こちらをご覧ください。
この記事では、ファイル システムをコピー先またはコピー元としてデータをコピーする方法について説明します。 詳細については、Azure Data Factory または Azure Synapse Analytics の概要記事を参照してください。
サポートされる機能
このファイル システム コネクタでは、次の機能がサポートされます。
サポートされる機能 | IR |
---|---|
Copy アクティビティ (ソース/シンク) | ① ② |
Lookup アクティビティ | ① ② |
GetMetadata アクティビティ | ① ② |
アクティビティを削除する | ① ② |
① Azure 統合ランタイム ② セルフホステッド統合ランタイム
具体的には、このファイル システム コネクタは以下をサポートします。
- ネットワーク ファイル共有をコピー元またはコピー先とするファイルのコピー。 Linux ファイル共有を使用するには、Linux サーバーに Samba をインストールします。
- Windows 認証を使用したファイルのコピー。
- ファイルをそのままコピーするか、サポートされているファイル形式と圧縮コーデックを使用したファイルの解析/生成。
前提条件
データ ストアがオンプレ ミスネットワーク、Azure 仮想ネットワーク、または Amazon Virtual Private Cloud 内にある場合は、それに接続するようセルフホステッド統合ランタイムを構成する必要があります。
データ ストアがマネージド クラウド データ サービスである場合は、Azure Integration Runtime を使用できます。 ファイアウォール規則で承認されている IP にアクセスが制限されている場合は、Azure Integration Runtime の IP を許可リストに追加できます。
また、Azure Data Factory のマネージド仮想ネットワーク統合ランタイム機能を使用すれば、セルフホステッド統合ランタイムをインストールして構成しなくても、オンプレミス ネットワークにアクセスすることができます。
Data Factory によってサポートされるネットワーク セキュリティ メカニズムやオプションの詳細については、「データ アクセス戦略」を参照してください。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。
UI を使用してファイル システムのリンク サービスを作成する
次の手順を使用して、Azure portal UI でファイル システムのリンク サービスを作成します。
Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンク サービス] を選択して、[新規] を選択します。
ファイルを検索し、ファイル システム コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
以下のセクションでは、ファイル システムに固有の Data Factory および Synapse パイプライン エンティティの定義に使用されるプロパティについて詳しく説明します。
リンクされたサービスのプロパティ
ファイル システムの のリンクされたサービスでは、次のプロパティがサポートされます。
プロパティ | 内容 | 必須 |
---|---|---|
type | type プロパティは、次のように設定する必要があります:FileServer. | はい |
host | コピーするフォルダーのルート パスを指定します。 文字列内の特殊文字にはエスケープ文字 "" を使用します。 例については、「 サンプルのリンクされたサービスとデータセットの定義 」ご覧ください。 | はい |
userId | サーバーにアクセスするユーザーの ID を指定します。 | はい |
password | ユーザー (userId) のパスワードを指定します。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 | はい |
connectVia | データ ストアに接続するために使用される統合ランタイム。 詳細については、「前提条件」セクションを参照してください。 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。 | いいえ |
サンプルのリンクされたサービスとデータセットの定義
シナリオ | リンクされたサービス定義の "host" | データセット定義の "folderPath" |
---|---|---|
リモート共有フォルダー: 例: \\myserver\share\* または \\myserver\share\folder\subfolder\* |
JSON の場合: \\\\myserver\\share UI の場合: \\myserver\share |
JSON の場合: .\\ または folder\\subfolder UI の場合: .\ または folder\subfolder |
注意
UI を使用して作成する場合、JSON のように、エスケープするために二重バックスラッシュ (\\
) を入力する必要はなく、単一のバックスラッシュを指定します。
注意
ローカル コンピューターからのファイルのコピーは、Azure Integration Runtime ではサポートされていません。
セルフホステッド統合ランタイムでローカル コンピューターへのアクセスを有効にするには、こちらからコマンド ラインを参照してください。 これは既定で無効になっています。
例:
{
"name": "FileLinkedService",
"properties": {
"type": "FileServer",
"typeProperties": {
"host": "<host>",
"userId": "<domain>\\<user>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
データセットのプロパティ
データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。
Azure Data Factory では次のファイル形式がサポートされます。 形式ベースの設定については、各記事を参照してください。
ファイル システムでは、形式ベースのデータセットの location
設定において、次のプロパティがサポートされています。
プロパティ | 内容 | 必須 |
---|---|---|
type | データセットの location の type プロパティは、location に設定する必要があります。 |
はい |
folderPath | フォルダーのパス。 フォルダーをフィルター処理するためにワイルドカードを使用する場合は、この設定をスキップし、アクティビティのソースの設定で指定します。 共有用のフォルダーを公開するには、Windows または Linux 環境でファイル共有の場所を設定する必要があります。 | いいえ |
fileName | 特定の folderPath の下のファイル名。 ファイルをフィルター処理するためにワイルドカードを使用する場合は、この設定をスキップし、アクティビティのソースの設定で指定します。 | いいえ |
例:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<File system linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "FileServerLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
コピー アクティビティのプロパティ
アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、ファイル システムのソースとシンクでサポートされるプロパティの一覧を示します。
ソースとしてのファイル システム
Azure Data Factory では次のファイル形式がサポートされます。 形式ベースの設定については、各記事を参照してください。
ファイル システムでは、形式ベースのコピー ソースの storeSettings
設定において、次のプロパティがサポートされています。
プロパティ | 内容 | 必須 |
---|---|---|
type | storeSettings の type プロパティは storeSettings に設定する必要があります。 |
はい |
コピーするファイルを特定する: | ||
オプション 1: 静的パス |
データセットに指定されている所定のフォルダーまたはファイル パスからコピーします。 フォルダーからすべてのファイルをコピーする場合は、さらに * として wildcardFileName を指定します。 |
|
オプション 2: サーバー側のフィルター - fileFilter |
オプション 3 のワイルドカード フィルターより優れたパフォーマンスを提供する、ファイル サーバー側のネイティブ フィルター。 0 個以上の文字に一致させるには * を使用し、0 または 1 文字に一致させるには ? を使用します。 詳細および注については、このセクションの下部の「解説」を参照してください。 |
いいえ |
オプション 3: クライアント側のフィルター - wildcardFolderPath |
ソース フォルダーをフィルター処理するための、ワイルドカード文字を含むフォルダー パス。 このようなフィルターは、指定されたパスの下にあるフォルダー/ファイルを列挙し、ワイルドカード フィルターを適用するサービス内で行われます。 使用できるワイルドカーは、 * (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。実際のフォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。 「フォルダーとファイル フィルターの例」の他の例をご覧ください。 |
いいえ |
オプション 3: クライアント側のフィルター - wildcardFileName |
ソース ファイルをフィルター処理するための、特定の folderPath/wildcardFolderPath の下のワイルドカード文字を含むファイル名。 このようなフィルター処理はサービス内で行われます。指定されたパスにあるファイルが列挙され、ワイルドカード フィルターが適用されます。 使用できるワイルドカーは、 * (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。実際のファイル名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。「フォルダーとファイル フィルターの例」の他の例をご覧ください。 |
はい |
オプション 3: ファイルの一覧 - fileListPath |
指定されたファイル セットをコピーすることを示します。 コピーするファイルの一覧を含むテキスト ファイルをポイントします。データセットで構成されているパスへの相対パスであるファイルを 1 行につき 1 つずつ指定します。 このオプションを使用する場合は、データセットにファイル名を指定しないでください。 その他の例については、ファイル リストの例を参照してください。 |
いいえ |
追加の設定: | ||
recursive | データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 recursive が true に設定されていて、シンクがファイル ベースのストアである場合、空のフォルダーまたはサブフォルダーはシンクでコピーも作成もされません。 使用可能な値: true (既定値) および false。 fileListPath を構成する場合、このプロパティは適用されません。 |
いいえ |
deleteFilesAfterCompletion | バイナリ ファイルをコピー先ストアに正常に移動した後、ソース ストアから削除するかどうかを示します。 ファイルの削除はファイルごとに行われます。 つまり、アクティビティが失敗した場合、既にコピー先にコピーされて、ソースから削除されているファイルがある一方で、ソース ストアにまだ残されているものもあります。 このプロパティは、バイナリ ファイルのコピー シナリオでのみ有効です。 既定値: false。 |
いいえ |
modifiedDatetimeStart | ファイルはフィルター処理され、元になる属性は最終更新時刻です。 ファイルは、最終変更日時が modifiedDatetimeStart と同じかそれよりも後であり、modifiedDatetimeEnd よりも前である場合に選ばれます。 時刻は、YYYY-MM-DDTHH:mm:ssZ の形式で UTC タイム ゾーンに適用されます。 各プロパティには NULL を指定できます。これは、ファイル属性フィルターをデータセットに適用しないことを意味します。 modifiedDatetimeStart が datetime 値を持ち、 modifiedDatetimeEnd が NULL の場合は、最後に変更された属性が datetime 値以上のファイルが選択されていることを意味します。 modifiedDatetimeEnd が datetime 値を持ち、 modifiedDatetimeStart が NULL の場合は、最後に変更された属性が datetime 値より小さいファイルが選択されていることを意味します。fileListPath を構成する場合、このプロパティは適用されません。 |
いいえ |
modifiedDatetimeEnd | modifiedDateTimeStart と同じです。 | いいえ |
enablePartitionDiscovery | パーティション分割されているファイルの場合、ファイル パスのパーティションを解析し、それを追加のソース列として追加するかどうかを指定します。 指定できる値は false (既定値) と true です。 |
いいえ |
partitionRootPath | パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るための絶対ルート パスを指定します。 指定しない場合の既定は、以下のようになります。 - ソース上のデータセットまたはファイルの一覧内のファイル パスを使用する場合、パーティションのルート パスはそのデータセットで構成されているパスです。 - ワイルドカード フォルダー フィルターを使用する場合、パーティションのルート パスは最初のワイルドカードの前のサブパスです。 たとえば、データセット内のパスを "root/folder/year=2020/month=08/day=27" として構成するとします。 - パーティションのルート パスを "root/folder/year=2020" として指定した場合は、コピー アクティビティによって、ファイル内の列とは別に、それぞれ "08" と "27" の値を持つ month と day という 2 つの追加の列が生成されます。- パーティションのルート パスを指定しない場合、追加の列は生成されません。 |
いいえ |
maxConcurrentConnections | アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 | いいえ |
例:
"activities":[
{
"name": "CopyFromFileSystem",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "FileServerReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
シンクとしてのファイル システム
Azure Data Factory では次のファイル形式がサポートされます。 形式ベースの設定については、各記事を参照してください。
Note
MergeFiles の copyBehavior オプションは、Azure Data Factory パイプラインでのみ使用でき、Synapse Analytics パイプラインでは使用できません。
ファイル システムでは、形式ベースのコピー シンクの storeSettings
設定において、次のプロパティがサポートされています。
プロパティ | 内容 | 必須 |
---|---|---|
type | storeSettings の type プロパティは storeSettings に設定する必要があります。 |
はい |
copyBehavior | ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 使用できる値は、以下のとおりです。 - PreserveHierarchy (既定値):ターゲット フォルダー内でファイル階層を保持します。 ソース フォルダーに対するソース ファイルの相対パスと、ターゲット フォルダーに対するターゲット ファイルの相対パスが一致します。 - FlattenHierarchy:ソース フォルダーのすべてのファイルをターゲット フォルダーの第一レベルに配置します。 ターゲット ファイルは、自動生成された名前になります。 - MergeFiles:ソース フォルダーのすべてのファイルを 1 つのファイルにマージします。 ファイル名を指定した場合、マージされたファイル名は指定した名前になります。 それ以外は自動生成されたファイル名になります。 |
いいえ |
maxConcurrentConnections | アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 | いいえ |
例:
"activities":[
{
"name": "CopyToFileSystem",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "FileServerWriteSettings",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
]
フォルダーとファイル フィルターの例
このセクションでは、ワイルドカード フィルターを使用した結果のフォルダーのパスとファイル名の動作について説明します。
folderPath | fileName | recursive | ソースのフォルダー構造とフィルターの結果 (太字のファイルが取得されます) |
---|---|---|---|
Folder* |
(空、既定値を使用) | false | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(空、既定値を使用) | true | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
false | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
true | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
ファイル リストの例
このセクションでは、コピー アクティビティのソースでファイル リスト パスを使用した結果の動作について説明します。
次のソース フォルダー構造があり、太字のファイルをコピーするとします。
サンプルのソース構造 | FileListToCopy.txt のコンテンツ | パイプラインの構成 |
---|---|---|
root FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv メタデータ FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
データセット内: - フォルダー パス: root/FolderA コピー アクティビティ ソース内: - ファイル リストのパス: root/Metadata/FileListToCopy.txt ファイル リストのパスは、同じデータ ストア内のテキスト ファイルを指します。 それにはコピーするファイルのリストが含まれています。 各行には、データセットで構成されたルート パスに基づいた、ファイルへの相対パスが含まれます。 |
recursive と copyBehavior の例
このセクションでは、recursive 値と copyBhavior 値の組み合わせごとに、Copy 操作で行われる動作について説明します。
recursive | copyBehavior | ソースのフォルダー構造 | ターゲットの結果 |
---|---|---|---|
true | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
ターゲット フォルダー Folder1 は、ソースと同じ構造で作成されます。 Folder1 File1 File2 Subfolder1 File3 File4 File5. |
true | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
ターゲットの Folder1 は、次の構造で作成されます。 Folder1 File1 の自動生成された名前 File2 の自動生成された名前 File3 の自動生成された名前 File4 の自動生成された名前 File5 の自動生成された名前 |
true | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
ターゲットの Folder1 は、次の構造で作成されます。 Folder1 File1、File2、File3、File4、File5 の内容は、自動生成されたファイル名を持つ 1 つのファイルにマージされます |
false | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
ターゲット フォルダー Folder1 は、次の構造で作成されます。 Folder1 File1 File2 Subfolder1 と File3、File4、File5 は取得されません。 |
false | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
ターゲット フォルダー Folder1 は、次の構造で作成されます。 Folder1 File1 の自動生成された名前 File2 の自動生成された名前 Subfolder1 と File3、File4、File5 は取得されません。 |
false | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
ターゲット フォルダー Folder1 は、次の構造で作成されます。 Folder1 File1、File2 の内容は 1 つのファイルにマージされ、自動生成されたファイル名が付けられます。 File1 の自動生成された名前 Subfolder1 と File3、File4、File5 は取得されません。 |
Lookup アクティビティのプロパティ
プロパティの詳細については、Lookup アクティビティに関するページを参照してください。
GetMetadata アクティビティのプロパティ
プロパティの詳細については、GetMetadata アクティビティに関するページを参照してください。
Delete アクティビティのプロパティ
プロパティの詳細については、Delete アクティビティに関するページを参照してください。
レガシ モデル
注意
次のモデルは、下位互換性のために引き続きそのままサポートされます。 今後は、上記のセクションで説明した新しいモデルを使用することをお勧めします。作成 UI は、新しいモデルを生成するように切り替えられています。
レガシ データセット モデル
プロパティ | 内容 | 必須 |
---|---|---|
type | データセットの type プロパティは、次のように設定する必要があります:FileShare | はい |
folderPath | フォルダーへのパス。 ワイルドカード フィルターがサポートされています。 使用できるワイルドカーは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。実際のフォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。 例: ルートフォルダー/サブフォルダー。「サンプルのリンクされたサービスとデータセットの定義」および「フォルダーとファイル フィルターの例」の例も参照してください。 |
いいえ |
fileName | 指定された "folderPath" の下にあるファイルの名前またはワイルドカード フィルター。 このプロパティの値を指定しない場合、データセットはフォルダー内のすべてのファイルをポイントします。 フィルターに使用できるワイルドカードは、 * (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。- 例 1: "fileName": "*.csv" - 例 2: "fileName": "???20180427.txt" 実際のファイル名にワイルドカードまたはこのエスケープ文字が含まれている場合は、 ^ を使用してエスケープします。出力データセットに fileName の指定がなく、アクティビティ シンクに preserveHierarchy の指定がない場合、コピー アクティビティは、"Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz" のように "Data.[アクティビティ実行 ID GUID].[FlattenHierarchy の場合は GUID].[構成されている場合は形式].[構成されている場合は圧縮] " のパターンでファイル名を自動生成します。クエリの代わりにテーブル名を使用して表形式のソースからコピーする場合、名前のパターンは "MyTable.csv" のように " [テーブル名].[形式].[構成されている場合は圧縮] " になります。 |
いいえ |
modifiedDatetimeStart | ファイルはフィルター処理され、元になる属性は最終更新時刻です。 ファイルは、最終変更日時が modifiedDatetimeStart と同じかそれよりも後であり、modifiedDatetimeEnd よりも前である場合に選ばれます。 時刻は、YYYY-MM-DDTHH:mm:ssZ の形式で UTC タイム ゾーンに適用されます。 大量のファイルからファイル フィルターを実行する場合は、この設定を有効にすることで、データ移動の全体的なパフォーマンスが影響を受ける点に注意してください。 各プロパティには NULL を指定できます。これは、ファイル属性フィルターをデータセットに適用しないことを意味します。 modifiedDatetimeStart が datetime 値を持ち、 modifiedDatetimeEnd が NULL の場合は、最後に変更された属性が datetime 値以上のファイルが選択されていることを意味します。 modifiedDatetimeEnd が datetime 値を持ち、 modifiedDatetimeStart が NULL の場合は、最後に変更された属性が datetime 値より小さいファイルが選択されていることを意味します。 |
いいえ |
modifiedDatetimeEnd | ファイルはフィルター処理され、元になる属性は最終更新時刻です。 ファイルは、最終変更日時が modifiedDatetimeStart と同じかそれよりも後であり、modifiedDatetimeEnd よりも前である場合に選ばれます。 時刻は "2018-12-01T05:00:00Z" の形式で UTC タイム ゾーンに適用されます。 大量のファイルからファイル フィルターを実行する場合は、この設定を有効にすることで、データ移動の全体的なパフォーマンスが影響を受ける点に注意してください。 各プロパティには NULL を指定できます。これは、ファイル属性フィルターをデータセットに適用しないことを意味します。 modifiedDatetimeStart が datetime 値を持ち、 modifiedDatetimeEnd が NULL の場合は、最後に変更された属性が datetime 値以上のファイルが選択されていることを意味します。 modifiedDatetimeEnd が datetime 値を持ち、 modifiedDatetimeStart が NULL の場合は、最後に変更された属性が datetime 値より小さいファイルが選択されていることを意味します。 |
いいえ |
format | ファイルベースのストア間でファイルをそのままコピー (バイナリ コピー) する場合は、入力と出力の両方のデータセット定義で format セクションをスキップします。 特定の形式のファイルを解析または生成する場合、サポートされるファイル形式の種類は、TextFormat、JsonFormat、AvroFormat、OrcFormat、ParquetFormat です。 形式の type プロパティをいずれかの値に設定します。 詳細については、Text Format、Json Format、Avro Format、Orc Format、Parquet Format の各セクションを参照してください。 |
いいえ (バイナリ コピー シナリオのみ) |
compression | データの圧縮の種類とレベルを指定します。 詳細については、サポートされるファイル形式と圧縮コーデックに関する記事を参照してください。 サポートされる種類は、GZip、Deflate、BZip2、ZipDeflate です。 サポートされるレベルは、Optimal と Fastest です。 |
いいえ |
ヒント
フォルダーの下のすべてのファイルをコピーするには、folderPath のみを指定します。
特定の名前の単一のファイルをコピーするには、フォルダー部分で folderPath、ファイル名で fileName を指定します。
フォルダーの下のファイルのサブセットをコピーするには、フォルダー部分で folderPath、ワイルドカード フィルターで fileName を指定します。
注意
ファイル フィルターで "fileFilter" プロパティを使用していた場合は、そのまま引き続きサポートされますが、今後は "fileName" に追加された新しいフィルター機能を使用することをお勧めします。
例:
{
"name": "FileSystemDataset",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<file system linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "folder/subfolder/",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
レガシ コピー アクティビティ ソース モデル
プロパティ | 内容 | 必須 |
---|---|---|
type | コピー アクティビティのソースの type プロパティは、次のように設定する必要があります:FileSystemSource | はい |
recursive | データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 recursive が true に設定され、シンクがファイル ベースのストアである場合、空のフォルダーやサブフォルダーはシンクでコピーまたは作成されません。 使用可能な値: true (既定値)、false |
いいえ |
maxConcurrentConnections | アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 | いいえ |
例:
"activities":[
{
"name": "CopyFromFileSystem",
"type": "Copy",
"inputs": [
{
"referenceName": "<file system input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
レガシ コピー アクティビティ シンク モデル
プロパティ | 内容 | 必須 |
---|---|---|
type | コピー アクティビティのシンクの type プロパティは、次のように設定する必要があります: FileSystemSink | はい |
copyBehavior | ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 使用できる値は、以下のとおりです。 PreserveHierarchy (既定値): ファイル階層をターゲット フォルダー内で保持します。 ソース フォルダーに対するソース ファイルの相対パスと、ターゲット フォルダーに対するターゲット ファイルの相対パスが一致します。 FlattenHierarchy: ソース フォルダーのすべてのファイルがターゲット フォルダーの第一レベルに配置されます。 ターゲット ファイル名は自動生成されます。 MergeFiles: ソース フォルダーのすべてのファイルを 1 つのファイルにマージします。 レコードの重複除去は、マージ中には実行されません。 ファイル名を指定した場合、マージされたファイル名は指定した名前になります。それ以外の場合は、自動生成されたファイル名になります。 |
いいえ |
maxConcurrentConnections | アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 | いいえ |
例:
"activities":[
{
"name": "CopyToFileSystem",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<file system output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "FileSystemSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
関連するコンテンツ
Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。