使用 Azure Data Factory 將資料從或複製到Azure 檔案儲存體

適用于: Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用于企業的單一分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告等所有專案。 瞭解如何 免費啟動新的試用版

本文概述如何將資料複製到Azure 檔案儲存體和從Azure 檔案儲存體複製資料。 若要瞭解 Azure Data Factory,請閱讀 簡介文章

支援的功能

下列功能支援此Azure 檔案儲存體連接器:

支援的功能 IR 受控私人端點
複製活動 (來源/接收) ① ② ✓ 排除儲存體帳戶 V1
查閱活動 ① ② ✓ 排除儲存體帳戶 V1
GetMetadata 活動 ① ② ✓ 排除儲存體帳戶 V1
刪除活動 ① ② ✓ 排除儲存體帳戶 V1

(1) Azure 整合執行時間 (2) 自我裝載整合執行時間

您可以將資料從 Azure 檔案儲存體 複製到任何支援的接收資料存放區,或將資料從任何支援的來源資料存放區複製到Azure 檔案儲存體。 如需複製活動支援做為來源和接收的資料存放區清單,請參閱 支援的資料存放區和格式

具體而言,此Azure 檔案儲存體連接器支援:

  • 使用帳戶金鑰或服務共用存取簽章 (SAS) 驗證來複製檔案。
  • 依原樣複製檔案,或使用支援的檔案格式和壓縮編解碼器 剖析/產生檔案

開始使用

若要使用管線執行複製活動,您可以使用下列其中一個工具或 SDK:

使用 UI 建立連結服務以Azure 檔案儲存體

使用下列步驟來建立連結服務,以在Azure 入口網站 UI 中Azure 檔案儲存體。

  1. 流覽至 Azure Data Factory 或 Synapse 工作區中的 [管理] 索引標籤,然後選取 [連結服務],然後按一下 [新增]:

  2. 搜尋檔案,然後選取標示 為 Azure 檔案儲存體Azure 檔案儲存體連接器

    Screenshot of the Azure File Storage connector.

  3. 設定服務詳細資料、測試連線,並建立新的連結服務。

    Screenshot of linked service configuration for an Azure File Storage.

連線or 組態詳細資料

下列各節提供屬性的相關詳細資料,這些屬性是用來定義Azure 檔案儲存體特定的實體。

連結的服務屬性

Azure 檔案儲存體連接器支援下列驗證類型。 如需詳細資訊,請參閱對應的章節。

注意

如果您使用Azure 檔案儲存體連結服務搭配 舊版模型 ,其中在 ADF 撰寫 UI 上顯示為「基本驗證」,則仍依現態支援,同時建議您繼續使用新的模型。 舊版模型會透過伺服器訊息區 (SMB) 從儲存體傳輸資料,而新模型會利用具有更佳輸送量的儲存體 SDK。 若要升級,您可以編輯連結的服務,將驗證方法切換為「帳戶金鑰」或「SAS URI」;資料集或複製活動不需要變更。

帳戶金鑰驗證

Data Factory 支援下列Azure 檔案儲存體帳戶金鑰驗證的屬性:

屬性 描述 必要
type type 屬性必須設定為: AzureFile儲存體 Yes
connectionString 指定連線到Azure 檔案儲存體所需的資訊。
您也可以將帳戶金鑰放在 Azure 金鑰保存庫中,並從連接字串提取 accountKey 組態。 如需詳細資訊,請參閱下列範例和 Azure 金鑰保存庫 中的市集認證一文。
Yes
fileShare 指定檔案共用。 Yes
快照集 如果您想要從快照集複製, 請指定檔案共用快照 集的日期。 No
connectVia 用於連線到資料存放區的 Integration Runtime。 您可以使用 Azure Integration Runtime 或自我裝載整合執行時間(如果您的資料存放區位於私人網路中)。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

範例:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net;",
            "fileShare": "<file share name>"
        },
        "connectVia": {
          "referenceName": "<name of Integration Runtime>",
          "type": "IntegrationRuntimeReference"
        }
    }
}

範例:將帳戶金鑰儲存在 Azure 金鑰保存庫

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
            "fileShare": "<file share name>",
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }            
    }
}

共用存取簽章驗證

共用存取簽章提供儲存體帳戶中資源的委派存取權。 您可以使用共用存取簽章,為儲存體帳戶中物件的有限許可權授與用戶端一段時間。 如需共用存取簽章的詳細資訊,請參閱 共用存取簽章:瞭解共用存取簽章模型

服務支援使用共用存取簽章驗證的下列屬性:

屬性 描述 必要
type type 屬性必須設定為: AzureFile儲存體 Yes
sasUri 指定資源的共用存取簽章 URI。
將此欄位標示為 SecureString 以安全地儲存。 您也可以將 SAS 權杖放入 Azure 金鑰保存庫,以使用自動輪替並移除權杖部分。 如需詳細資訊,請參閱下列範例和 在 Azure 金鑰保存庫 中儲存認證。
Yes
fileShare 指定檔案共用。 Yes
快照集 如果您想要從快照集複製, 請指定檔案共用快照 集的日期。 No
connectVia 用於連線到資料存放區的 Integration Runtime。 您可以使用 Azure Integration Runtime 或自我裝載整合執行時間(如果您的資料存放區位於私人網路中)。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

範例:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the resource e.g. https://<accountname>.file.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
            },
            "fileShare": "<file share name>",
            "snapshot": "<snapshot version>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

範例:將 SAS 權杖儲存在 Azure 金鑰保存庫

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.file.core.windows.net/>"
            },
            "sasToken": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>" 
            },
            "fileShare": "<file share name>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

舊版模型

屬性 描述 必要
type type 屬性必須設定為: AzureFile儲存體 Yes
host 將Azure 檔案儲存體端點指定為:
-使用 UI:指定 \\<storage name>.file.core.windows.net\<file service name>
- 使用 JSON: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>"
Yes
userid 指定使用者以下列身分存取Azure 檔案儲存體:
-使用 UI:指定 AZURE\<storage name>
-Using JSON: "userid": "AZURE\\<storage name>"
Yes
password 指定儲存體存取金鑰。 將此欄位標示為 SecureString,以安全地將其儲存在 Data Factory 中,或 參考儲存在 Azure 金鑰保存庫 中的秘密。 Yes
connectVia 用於連線到資料存放區的 Integration Runtime。 您可以使用 Azure Integration Runtime 或自我裝載整合執行時間(如果您的資料存放區位於私人網路中)。 如果未指定,就會使用預設的 Azure Integration Runtime。 來源為否,接收則為 [是]

範例:

{
    "name": "AzureFileStorageLinkedService",
    "properties": {
        "type": "AzureFileStorage",
        "typeProperties": {
            "host": "\\\\<storage name>.file.core.windows.net\\<file service name>",
            "userid": "AZURE\\<storage name>",
            "password": {
                "type": "SecureString",
                "value": "<storage access key>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

資料集屬性

如需可用來定義資料集之區段和屬性的完整清單,請參閱 資料集 一文。

Azure Data Factory 支援下列檔案格式。 如需以格式為基礎的設定,請參閱每個文章。

在格式型資料集的設定下 location ,Azure 檔案儲存體支援下列屬性:

屬性 描述 必要
type 資料集底下的 location type 屬性必須設定為 AzureFile儲存體Location Yes
folderPath 資料夾的路徑。 如果您想要使用萬用字元來篩選資料夾,請略過此設定,並在活動來源設定中指定 。 No
fileName 指定 folderPath 底下的檔案名。 如果您想要使用萬用字元來篩選檔案,請略過此設定,並在活動來源設定中指定 。 No

範例:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Azure File Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureFileStorageLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

複製活動屬性

如需可用來定義活動的區段和屬性的完整清單,請參閱 管線 一文。 本節提供來源和接收Azure 檔案儲存體支援的屬性清單。

以來源Azure 檔案儲存體

Azure Data Factory 支援下列檔案格式。 如需以格式為基礎的設定,請參閱每個文章。

在格式型複製來源的設定下 storeSettings ,Azure 檔案儲存體支援下列屬性:

屬性 描述 必要
type 底下的 storeSettings type 屬性必須設定為 AzureFile儲存體Read設定 Yes
找出要複製的檔案:
選項 1:靜態路徑
從資料集中指定的指定資料夾/檔案路徑複製。 如果您想要從資料夾複製所有檔案,請另外指定 wildcardFileName*
選項 2:檔案前置詞
-首碼
在資料集中設定之指定檔案共用下的檔案名前置詞,以篩選原始程式檔。 選取名稱開頭為 的 fileshare_in_linked_service/this_prefix 檔案。 它會使用服務端篩選Azure 檔案儲存體,以提供比萬用字元篩選更好的效能。 使用 舊版連結服務模型 時,不支援此功能。 No
選項 3:萬用字元
- 萬用字元FolderPath
包含萬用字元的資料夾路徑,用來篩選源資料夾。
允許的萬用字元為: * (比對零或多個字元)和 ? (符合零或單一字元;如果您的實際資料夾名稱內有萬用字元或這個逸出字元,請使用 ^ 逸出。
請參閱資料夾和檔案篩選範例中的 更多範例
No
選項 3:萬用字元
- 萬用字元FileName
具有指定 folderPath/wildcardFolderPath 下萬用字元的檔案名,用來篩選來源檔案。
允許的萬用字元為: * (比對零或多個字元)和 ? (符合零或單一字元;如果您的實際檔案名中有萬用字元或這個逸出字元,請使用 ^ 逸出字元。 請參閱資料夾和檔案篩選範例中的 更多範例
Yes
OPTION 4:檔案清單
- fileListPath
表示複製指定的檔案集。 指向包含您要複製之檔案清單的文字檔,每行一個檔案一個,這是資料集中所設定路徑的相對路徑。
使用此選項時,請勿在資料集中指定檔案名。 請參閱檔案清單範例中的 更多範例
No
其他設定:
遞迴 指出資料是以遞迴方式從子資料夾讀取,還是只從指定的資料夾讀取。 當遞迴設定為 true 且接收是檔案型存放區時,不會在接收端複製或建立空的資料夾或子資料夾。
允許的值為 true (預設值)和 false
當您設定 fileListPath 時,這個屬性不適用。
No
deleteFilesAfterCompletion 指出成功移至目的地存放區之後,是否會從來源存放區刪除二進位檔案。 檔案刪除是每個檔案,因此當複製活動失敗時,您會看到某些檔案已複製到目的地並從來源刪除,而其他檔案仍留在來源存放區。
此屬性只有在二進位檔案複製案例中才有效。 預設值:false。
No
modifiedDatetimeStart 根據屬性篩選檔案:上次修改。
如果上次修改的時間大於或等於 modifiedDatetimeStart 且小於 modifiedDatetimeEnd ,則會選取檔案。 時間會套用至格式為 「2018-12-01T05:00:00Z」 的 UTC 時區。
屬性可以是 Null,這表示不會將檔案屬性篩選套用至資料集。 當 modifiedDatetimeStart 具有 datetime 值但 modifiedDatetimeEnd 為 Null 時,表示將選取上次修改屬性大於或等於 datetime 值的檔案。 當 modifiedDatetimeEnd 具有 datetime 值但 modifiedDatetimeStart 為 Null 時,表示將選取上次修改屬性小於 datetime 值的檔案。
當您設定 fileListPath 時,這個屬性不適用。
No
modifiedDatetimeEnd 同上。 No
enablePartitionDiscovery 針對已分割的檔案,指定是否要從檔案路徑剖析分割區,並將其新增為其他來源資料行。
允許的值為 false (預設值)和 true
No
partitionRootPath 啟用資料分割探索時,請指定絕對根路徑,以便將分割區資料夾讀取為數據行。

如果未指定,則預設為
- 當您在資料集中使用檔案路徑或來源上的檔案清單時,分割區根路徑是資料集中設定的路徑。
- 當您使用萬用字元資料夾篩選時,分割區根路徑是第一個萬用字元之前的子路徑。

例如,假設您在資料集中將路徑設定為 「root/folder/year=2020/month=08/day=27」:
- 如果您將分割區根路徑指定為 「root/folder/year=2020」,除了檔案內的資料行之外,複製活動還會另外產生兩 month 個數據行, day 且值 「08」 和 「27」。
- 如果未指定分割區根路徑,則不會產生任何額外的資料行。
No
maxConcurrent連線ions 在活動執行期間,與資料存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 No

範例:

"activities":[
    {
        "name": "CopyFromAzureFileStorage",
        "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": "AzureFileStorageReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

以接收Azure 檔案儲存體

Azure Data Factory 支援下列檔案格式。 如需以格式為基礎的設定,請參閱每個文章。

在格式型複製接收中的設定下 storeSettings ,Azure 檔案儲存體支援下列屬性:

屬性 描述 必要
type 底下的 storeSettings type 屬性必須設定為 AzureFile儲存體Write設定 Yes
copyBehavior 當來源是檔案型資料存放區中的檔案時,定義複製行為。

允許的值如下:
- PreserveHierarchy (預設值) :保留目的檔案夾中的檔案階層。 源檔案至源資料夾的相對路徑與目標檔案相對於目的檔案夾的相對路徑相同。
- FlattenHierarchy :源資料夾中的所有檔案都位於目的檔案夾的第一層。 目標檔案具有自動產生的名稱。
- MergeFiles :將所有檔案從源資料夾合併到一個檔案。 如果指定檔案名,合併的檔案名就是指定的名稱。 否則,它是自動產生的檔案名。
No
maxConcurrent連線ions 在活動執行期間,與資料存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 No

範例:

"activities":[
    {
        "name": "CopyToAzureFileStorage",
        "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": "AzureFileStorageWriteSettings",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

資料夾和檔案篩選範例

本節描述具有萬用字元篩選的資料夾路徑和檔案名所產生的行為。

folderPath fileName 遞迴 源資料夾結構和篩選結果( 擷取粗體 檔案)
Folder* (空白,使用預設值) false FolderA
    File1.csv
    File2.json
    子資料夾1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (空白,使用預設值) true FolderA
    File1.csv
    File2.json
    子資料夾1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv false FolderA
    File1.csv
    File2.json
    子資料夾1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv true FolderA
    File1.csv
    File2.json
    子資料夾1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv

檔案清單範例

本節描述在複製活動來源中使用檔案清單路徑的結果行為。

假設您有下列來源資料夾結構,且想要以粗體複製檔案:

範例來源結構 FileListToCopy.txt 中的內容 組態

    FolderA
        File1.csv
        File2.json
        子資料夾1
            File3.csv
            File4.json
            File5.csv
    中繼資料
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
在資料集中:
- 資料夾路徑: root/FolderA

在複製活動來源中:
- 檔案清單路徑: root/Metadata/FileListToCopy.txt

檔案清單路徑會指向相同資料存放區中的文字檔,其中包含您要複製的檔案清單,每行一個檔案,以及資料集中所設定路徑的相對路徑。

遞迴和 copyBehavior 範例

本節描述複製作業針對遞迴和 copyBehavior 值的不同組合所產生的行為。

遞迴 copyBehavior 來源資料夾結構 產生的目標
true preserveHierarchy Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5
目的檔案夾 Folder1 的建立結構與來源相同:

Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5。
true flattenHierarchy Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5
目標 Folder1 是以下列結構建立:

Folder1
    File1 的自動產生名稱
    File2 的自動產生名稱
    File3 的自動產生名稱
    File4 的自動產生名稱
    File5 的自動產生名稱
true mergeFiles Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5
目標 Folder1 是以下列結構建立:

Folder1
    File1 + File2 + File3 + File4 + 檔案 5 內容會合並成一個具有自動產生檔案名的檔案
false preserveHierarchy Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5
目的檔案夾 Folder1 是使用下列結構建立

Folder1
    File1
    File2

未挑選 File3、File4 和 File5 的子資料夾1。
false flattenHierarchy Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5
目的檔案夾 Folder1 是使用下列結構建立

Folder1
    File1 的自動產生名稱
    File2 的自動產生名稱

未挑選 File3、File4 和 File5 的子資料夾1。
false mergeFiles Folder1
    File1
    File2
    子資料夾1
        File3
        File4
        File5
目的檔案夾 Folder1 是使用下列結構建立

Folder1
    File1 + File2 內容會合並成一個具有自動產生檔案名的檔案。 File1 的自動產生名稱

未挑選 File3、File4 和 File5 的子資料夾1。

查閱活動屬性

若要瞭解屬性的詳細資料,請檢查 查閱活動

GetMetadata 活動屬性

若要瞭解屬性的詳細資料,請檢查 GetMetadata 活動

刪除活動屬性

若要瞭解屬性的詳細資料,請參閱 刪除活動

舊版模型

注意

目前仍支援下列模型,以提供回溯相容性。 建議您使用上述各節中提到的新模型,而撰寫 UI 已切換為產生新的模型。

舊版資料集模型

屬性 描述 必要
type 資料集的 type 屬性必須設定為: FileShare Yes
folderPath 資料夾的路徑。

支援萬用字元篩選,允許的萬用字元為: * (符合零或多個字元),以及 ? (符合零或單一字元):如果實際資料夾名稱內有萬用字元或這個逸出字元,請使用 ^ 逸出。

範例:rootfolder/subfolder/,請參閱資料夾和檔案篩選範例中的 更多範例
Yes
fileName 指定 「folderPath」 底下檔案的名稱或萬用字元篩選 。 如果您未指定這個屬性的值,資料集會指向資料夾中的所有檔案。

針對篩選,允許的萬用字元為: * (符合零或多個字元)和 ? (符合零或單一字元)。
- 範例 1: "fileName": "*.csv"
- 範例 2: "fileName": "???20180427.txt"
如果您的實際檔案名內有萬用字元或這個逸出字元,請使用 ^ 來逸出 。

如果未為輸出資料集指定 fileName,而且 活動接收中未指定 preserveHierarchy ,複製活動會自動產生具有下列模式的檔案名:「 Data.[活動執行識別碼 GUID]。[如果 FlattenHierarchy],則為 [GUID]。[如果已設定],則為 [格式]。[如果已設定壓縮] 「,例如 」Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz「;如果您使用資料表名稱而非查詢從表格式來源複製,則名稱模式為 」 [table name].[format]。[如果已設定壓縮] 「,例如 」MyTable.csv」。
No
modifiedDatetimeStart 根據屬性篩選檔案:上次修改。 如果上次修改的時間大於或等於 modifiedDatetimeStart 且小於 modifiedDatetimeEnd ,則會選取檔案。 時間會套用至格式為 「2018-12-01T05:00:00Z」 的 UTC 時區。

請注意,當您想要從大量檔案執行檔案篩選時,啟用此設定會影響資料移動的整體效能。

屬性可以是 Null,表示不會將任何檔案屬性篩選套用至資料集。 當 modifiedDatetimeStart 具有 datetime 值但 modifiedDatetimeEnd 為 Null 時,表示將選取上次修改屬性大於或等於 datetime 值的檔案。 當 modifiedDatetimeEnd 具有 datetime 值但 modifiedDatetimeStart 為 Null 時,表示將選取上次修改屬性小於 datetime 值的檔案。
No
modifiedDatetimeEnd 根據屬性篩選檔案:上次修改。 如果上次修改的時間大於或等於 modifiedDatetimeStart 且小於 modifiedDatetimeEnd ,則會選取檔案。 時間會套用至格式為 「2018-12-01T05:00:00Z」 的 UTC 時區。

請注意,當您想要從大量檔案執行檔案篩選時,啟用此設定會影響資料移動的整體效能。

屬性可以是 Null,表示不會將任何檔案屬性篩選套用至資料集。 當 modifiedDatetimeStart 具有 datetime 值但 modifiedDatetimeEnd 為 Null 時,表示將選取上次修改屬性大於或等於 datetime 值的檔案。 當 modifiedDatetimeEnd 具有 datetime 值但 modifiedDatetimeStart 為 Null 時,表示將選取上次修改屬性小於 datetime 值的檔案。
No
format 如果您想要 在檔案型存放區之間依目前 的方式複製檔案(二進位複製),請略過輸入和輸出資料集定義中的 format 區段。

如果您想要剖析或產生具有特定格式的檔案,支援下列檔案格式類型:TextFormat、JsonFormat、 AvroFormat OrcFormat ParquetFormat 格式下的 type 屬性設定為下列其中一個值。 如需詳細資訊,請參閱 文字格式 Json 格式、 Avro 格式 Orc 格式 Parquet 格式 小節。
否 (僅適用于二進位複製案例)
壓縮 指定資料的壓縮類型和層級。 如需詳細資訊,請參閱 支援的檔案格式和壓縮編解碼器
支援的類型包括:GZip、 Deflate BZip2 ZipDeflate
支援的層級為: 最佳 最快
No

提示

若要複製資料夾下的所有檔案,請只指定 folderPath
若要複製具有指定名稱的單一檔案,請使用資料夾部分指定 folderPath ,並使用 檔案名指定 fileName
若要複製資料夾下的檔案子集,請使用資料夾部分指定 folderPath ,並使用 萬用字元篩選來指定 fileName

注意

如果您使用 「fileFilter」 屬性進行檔案篩選,則仍依目前支援,而建議您使用未來新增至 「fileName」 的新篩選功能。

範例:

{
    "name": "AzureFileStorageDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<Azure File Storage 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 複製活動來源的類型屬性必須設定為: FileSystemSource Yes
遞迴 指出資料是以遞迴方式從子資料夾讀取,還是只從指定的資料夾讀取。 請注意,當遞迴設定為 true 且接收是以檔案為基礎的存放區時,將不會在接收時複製/建立空的資料夾/子資料夾。
允許的值為: true (預設值), false
No
maxConcurrent連線ions 在活動執行期間,與資料存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 No

範例:

"activities":[
    {
        "name": "CopyFromAzureFileStorage",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure File Storage input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

舊版複製活動接收模型

屬性 描述 必要
type 複製活動接收的類型屬性必須設定為: FileSystemSink Yes
copyBehavior 當來源是檔案型資料存放區中的檔案時,定義複製行為。

允許的值如下:
- PreserveHierarchy (預設值) :保留目的檔案夾中的檔案階層。 源檔案至源資料夾的相對路徑與目標檔案相對於目的檔案夾的相對路徑相同。
- FlattenHierarchy :源資料夾中的所有檔案都位於目的檔案夾的第一層。 目標檔案具有自動產生的名稱。
- MergeFiles :將所有檔案從源資料夾合併到一個檔案。 如果指定了檔案名,合併的檔案名會是指定的名稱;否則,會自動產生的檔案名。
No
maxConcurrent連線ions 在活動執行期間,與資料存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 No

範例:

"activities":[
    {
        "name": "CopyToAzureFileStorage",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure File Storage output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "FileSystemSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

如需複製活動支援做為來源和接收的資料存放區清單,請參閱 支援的資料存放區