在複製活動中設定 Amazon S3
本文概述如何使用數據管線中的複製活動,從 Amazon S3 複製數據。
所需的權限
若要從 Amazon S3 複製資料,請確定您已獲得下列 Amazon S3 物件作業的權限: s3:GetObject
和 s3:GetObjectVersion
。
此外, s3:ListAllMyBuckets
測試連線和從根目錄瀏覽等作業需要 和 s3:ListBucket
/s3:GetBucketLocation
許可權。
如需 Amazon S3 許可權的完整清單,請移至 AWS 網站上的原則中指定許可權。
支援的格式
Amazon S3 支援下列檔案格式。 如需以格式為基礎的設定,請參閱每個文章。
支援的組態
如需複製活動下每個索引標籤的設定,請分別移至下列各節。
一般
請參閱一般設定指引,以設定 [一般設定] 索引卷標。
來源
在複製活動的 [來源] 索引標籤下,Amazon S3 支援下列屬性。
需要下列屬性:
數據存放區類型:選取 [外部]。
連線:從聯機清單中選取 Amazon S3 連線。 如果沒有連線存在,請選取 [新增],以建立新的 Amazon 連線。
連線 ion 類型:為您的連線類型選取 [Amazon S3]。
檔案路徑類型:您可以選擇 [檔案路徑]、[前置詞]、[通配符檔案路徑] 或 [檔案路徑清單] 作為檔案路徑類型。 每個設定的組態為:
檔案路徑:如果您選擇此類型,可以從指定的貯體或指定的貯體和資料夾路徑複製數據。
前置詞:如果您選擇此類型,請指定 Bucket 和 Prefix。
貯體:指定 S3 貯體名稱。 此為必要。
前置詞:指定指定值區下 S3 索引鍵名稱的前置詞,以篩選來源 S3 檔案。 選取名稱開頭為
bucket/this_prefix
的 S3 索引鍵。 它利用 S3 的服務端篩選,可提供比通配符篩選更好的效能。當您使用前置詞並選擇複製至具有保留階層的檔案型目的地時,請注意前置詞中最後一個 「/」 後面的子路徑將會保留。 例如,您有來源
bucket/folder/subfolder/file.txt
,並將前置詞設定為folder/sub
,則保留的檔案路徑為subfolder/file.txt
。
通配符檔案路徑:如果您選擇此類型,請指定 Bucket 和 通配符路徑。
貯體:指定 S3 貯體名稱。 此為必要。
通配符路徑:指定指定值區下具有通配符的資料夾或檔案路徑,以篩選來源資料夾或檔案。
允許的通配符為:
*
(比對零或多個字元)和?
(符合零或單一字元)。 如果您的資料夾名稱內有通配符或這個逸出字元,請使用^
來逸出 。 請參閱資料夾和檔案篩選範例中的 更多範例。 通配符資料夾路徑:指定值區下具有通配符的資料夾路徑,以篩選來源資料夾。通配符檔名:具有指定貯體和資料夾路徑下通配符的檔名(或通配符資料夾路徑)來篩選原始程序檔。
檔案清單:如果您選擇此類型,請指定 [資料夾路徑] 和 [檔案路徑] 清單,以指示複製指定的檔案集。 指向包含您要複製之檔案清單的文本檔,每行一個檔案一個,這是所設定路徑的相對路徑。 如需更多範例,請移至檔案 清單範例。
- 資料夾路徑:指定指定貯體下資料夾的路徑。 此為必要。
- 檔案清單的路徑:指定文本文件的路徑,其中包含您要複製的檔案清單。
遞歸:指定數據是否以遞歸方式從子資料夾讀取,或僅從指定的資料夾讀取。 選取 [遞歸] 且目的地為檔案型存放區時,不會在目的地複製或建立空的資料夾或子資料夾。 默認會選取此屬性,而且當您設定 [檔案路徑] 清單時,不會套用此屬性。
檔案格式:從下拉式清單中選取套用的檔案格式。 選取 [設定],以設定檔格式。 如需不同檔格式的設定,請參閱支援格式的文章以取得詳細資訊。
在 [進階] 底下,您可以指定下列欄位:
依上次修改的篩選:檔案會根據您指定的上次修改日期進行篩選。 當您將檔案路徑類型設定為 檔案清單時,此屬性不適用。
- 開始時間 (UTC):如果上次修改的時間大於或等於設定的時間,則會選取檔案。
- 結束時間 (UTC):如果上次修改時間小於設定的時間,則會選取檔案。
當 Start time (UTC) 具有 datetime 值,但 End time (UTC) 為 NULL 時,表示將選取上次修改屬性大於或等於 datetime 值的檔案。 當結束時間 (UTC) 具有日期時間值但 Start time (UTC) 為 NULL 時,表示上次修改屬性小於日期時間值的檔案將被選取。 屬性可以是 NULL,這表示不會將任何檔案屬性篩選套用至數據。
啟用數據分割探索:指定是否從檔案路徑剖析分割區,並將其新增為其他源數據行。 預設會取消選取它,而且當您使用二進位檔案格式時不受支援。
數據分割根路徑:啟用資料分割探索時,請指定絕對根路徑,以便將分割資料夾讀取為數據行。
如果未指定,則預設為
- 當您在來源上使用檔案路徑或檔案清單時,分割區根路徑是您設定的路徑。
- 當您使用通配符資料夾篩選時,分割區根路徑是第一個通配符之前的子路徑。
- 當您使用前置詞時,分割區根路徑是最後一個 “/” 之前的子路徑。
例如,假設您將路徑設定為
root/folder/year=2020/month=08/day=27
:- 如果您將分割區根路徑指定為
root/folder/year=2020
,除了檔案內的數據行之外,複製活動還會分別產生兩個數據行月和日,其值為 “08” 和 “27”。 - 如果未指定分割區根路徑,則不會產生任何額外的數據行。
並行連線上限:活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。
其他數據行:新增其他數據行以儲存來源檔案的相對路徑或靜態值。 後者支持表達式。
Destination
在複製活動的 [目的地] 索引標籤下,Amazon S3 支援下列屬性。
需要下列屬性:
- 數據存放區類型:選取 [外部]。
- 連線:從聯機清單中選取 Amazon S3 連線。 如果沒有連線存在,請選取 [新增],以建立新的 Amazon 連線。
- 連線 ion 類型:為您的連線類型選取 [Amazon S3]。
- 檔案路徑:數據可以複製到指定的貯體或指定的貯體和資料夾路徑。
- 檔案格式:從下拉式清單中選取套用的檔案格式。 選取 [設定] 以設定檔案格式。 如需不同檔格式的設定,請參閱支援格式的文章以取得詳細資訊。
在 [進階] 底下,您可以指定下列欄位:
複製行為:當來源是檔案型數據存放區中的檔案時,定義複製行為。 您可以從下拉式清單中選擇行為。
- 扁平化階層:來自源資料夾的所有檔案都位於目的地資料夾的第一層。 目的地檔案具有自動產生的名稱。
- 合併檔案:將所有檔案從源資料夾合併到一個檔案。 如果指定檔名,合併的檔名就是指定的名稱。 否則,它是自動產生的檔名。
- 保留階層:保留目標資料夾中的檔案階層。 源檔案至源資料夾的相對路徑與目標檔案相對於目標資料夾的相對路徑相同。
並行連線上限:這個屬性表示活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。
對應
針對 [對應] 索引標籤標組態,移至 [對應] 索引卷標底下的 [設定對應]。如果您選擇 [二進位] 作為檔案格式,則不支持對應。
設定
如需 [設定] 索引卷標組態,請移至 [設定] 索引卷標底下的 [設定其他設定]。
數據表摘要
下表包含 Amazon S3 中複製活動的詳細資訊。
來源資訊
名稱 | 描述: | 值 | 必要 | JSON 腳本屬性 |
---|---|---|---|---|
數據存放區類型 | 您的資料存放區類型。 | 外部 | Yes | / |
[連接] | 您與源資料存放區的連線。 | <您的 Amazon S3 連線> | Yes | connection |
連線類型 | 選取連線的類型。 | Amazon S3 | Yes | / |
檔案路徑類型 | 用來取得源數據的檔案路徑類型。 | • 檔案路徑 • 前置詞 • 通配符檔案路徑 • 檔案清單 |
Yes | / |
針對 [檔案路徑] | ||||
桶 | S3 貯體名稱。 | <您的貯體名稱> | Yes | bucketName |
目錄 | 指定貯體下資料夾的路徑。 | <您的資料夾名稱> | No | folderpath |
檔案名稱 | 指定貯體和資料夾路徑下的檔名。 | <您的檔名> | No | fileName |
前置詞 | ||||
桶 | S3 貯體名稱。 | <您的貯體名稱> | Yes | bucketName |
Prefix | 指定貯體下 S3 索引鍵名稱的前置詞,用來篩選來源 S3 檔案。 | <您的前置詞> | No | prefix |
針對 通配符檔案路徑 | ||||
桶 | S3 貯體名稱。 | <您的貯體名稱> | Yes | bucketName |
通配符資料夾路徑 | 指定貯體下具有通配符的資料夾路徑,以篩選源資料夾。 | <含通配符的資料夾路徑> | No | wildcardFolderPath |
通配符檔名 | 指定貯體和資料夾路徑下具有通配符的檔名(或通配符資料夾路徑),以篩選來源檔案。 | <具有通配符的檔名> | Yes | wildcardFileName |
針對 檔案清單 | ||||
桶 | S3 貯體名稱。 | <您的貯體名稱> | Yes | bucketName |
目錄 | 指定貯體下資料夾的路徑。 | <您的資料夾名稱> | No | folderpath |
檔案清單的路徑 | 表示複製指定的檔案集。 指向文字檔,其中包含您想要複製的檔案清單,每行一個檔案一個。 | < 檔案清單路徑 > | No | fileListPath |
檔案格式 | 源數據的檔案格式。 如需不同檔格式的資訊,請參閱支援格式的文章以取得詳細資訊。 | / | Yes | / |
遞 歸 | 指出數據是以遞歸方式從子資料夾讀取,還是只從指定的資料夾讀取。 請注意,當選取 [遞歸] 且目的地是檔案型存放區時,不會在目的地複製或建立空的資料夾或子資料夾。 當您設定 [檔案路徑] 列表時,此屬性不適用。 | selected (default) 或 unselect | No | 遞迴 |
依上次修改的篩選 | 在 [開始時間,結束時間] 範圍內具有上次修改時間的檔案,將會篩選出進一步處理。 時間會以的格式 yyyy-mm-ddThh:mm:ss.fffZ 套用至UTC時區。 您可以略過這些屬性,這表示不會套用任何檔案屬性篩選。 當您將檔案路徑類型設定為檔案清單時,此屬性不適用。 |
Datetime | No | modifiedDatetimeStart modifiedDatetimeEnd |
啟用數據分割探索 | 指出是否要從檔案路徑剖析分割區,並將其新增為其他源數據行。 | 已選取或未選取 (預設值) | No | enablePartitionDiscovery: true 或 false (預設值) |
數據分割根路徑 | 啟用資料分割探索時,請指定絕對根路徑,以便將分割區資料夾讀取為資料列。 | < 您的分割區根路徑 > | No | partitionRootPath |
最大並行連線 | 在活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 | <最大並行連線> | No | maxConcurrent 連線 ions |
其他數據行 | 新增其他數據行以儲存來源檔案的相對路徑或靜態值。 後者支持表達式。 | •名字 •價值 |
No | additionalColumns: •名字 •價值 |
目的地資訊
名稱 | 描述: | 值 | 必要 | JSON 腳本屬性 |
---|---|---|---|---|
數據存放區類型 | 您的資料存放區類型。 | 外部 | Yes | / |
[連接] | 您與目的地資料存放區的連線。 | <您的 Amazon S3 連線> | Yes | connection |
連線類型 | 選取連線的類型。 | Amazon S3 | Yes | / |
檔案路徑 | 目的地檔案的資料夾/檔案路徑。 | <資料夾/檔案路徑> | Yes | / |
桶 | S3 貯體名稱。 | <您的貯體名稱> | Yes | bucketName |
目錄 | 指定貯體下資料夾的路徑。 | <您的資料夾名稱> | No | folderpath |
檔案名稱 | 指定貯體和資料夾路徑下的檔名。 | <您的檔名> | No | fileName |
複製行為 | 當來源是檔案型數據存放區中的檔案時,定義複製行為。 | • 扁平化階層 • 合併檔案 • 保留階層 |
No | copyBehavior: • FlattenHierarchy • MergeFiles • PreserveHierarchy |
並行連線上限 | 在活動執行期間,與數據存放區建立的並行連線上限。 只有在您想要限制並行連線時,才指定值。 | <最大並行連線> | No | maxConcurrent 連線 ions |
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應