本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
批次處理小型檔案,以改善 Snow Family 裝置的資料傳輸效能
每個複製操作由於加密而有一些額外負荷。若要加快將小型檔案傳輸至 AWS Snowball Edge 裝置的程序,您可以在單一封存中將檔案批次合併在一起。當您將檔案批次一起處理時,如果它們以其中一個支援的封存格式批次處理,則可以在匯入 Amazon S3 時自動擷取這些檔案。
通常,應該會將小於或等於 1 MB 的檔案納入批次中。沒有強制限制您可以在批次中具有的檔案數目,但建議您將批次限制為大約 10,000 個檔案。一個批次中有超過 100,000 個檔案,可能會影響這些檔案在您退回裝置後匯入 Amazon S3 的速度。我們建議每個批次的總大小不要超過 100 GB。
批次處理檔案是一種您可以管理的手動程序。批次處理檔案後,請使用 命令搭配 --metadata snowball-auto-extract=true
選項, AWS CLI cp
將檔案傳輸至 Snowball Edge 裝置。指定 會在資料匯入 Amazon S3 時snowball-auto-extract=true
自動擷取封存檔案的內容,只要批次檔案的大小不超過 100 GB。
注意
任何大於 100 GB 的批次在匯入 Amazon S3 時都不會擷取。
批次處理小型檔案
-
決定您想要以哪種格式批次處理小型檔案。自動解壓縮功能支援
TAR
、ZIP
和tar.gz
格式。 -
識別您想要同時批次處理的小型檔案,包括其大小和您要同時批次處理的檔案數目。
-
在命令列上將檔案批次處理,如下列範例所示。
對於 Linux,您可以在用於將檔案傳輸至裝置的相同命令列中批次處理檔案。
tar -cf -
/Logs/April
| aws s3 cp -s3://amzn-s3-demo-bucket/batch01.tar
--metadata snowball-auto-extract=true --endpointhttp://192.0.2.0:8080
注意
或者,可以使用您選擇的封存公用程式,以批次方式將檔案存入一或多個大型封存檔中。不過,這個方法需要額外的本機儲存空間來儲存封存檔,然後才能將它們傳輸到 Snowball。
對於 Windows,當所有檔案都位於執行命令的相同目錄中時,請使用下列範例命令來批次檔案:
7z a -tzip -so "test" | aws s3 cp -
s3://amzn-s3-demo-bucket/batch01.zip
--metadata snowball-auto-extract=true --endpointhttp://192.0.2.0:8080
若要從執行命令的不同目錄批次處理檔案,請使用下列範例命令:
7z a -tzip -so "test" "
c:\temp
" | aws s3 cp -s3://amzn-s3-demo-bucket/batch01.zip
--metadata snowball-auto-extract=true --endpointhttp://10.x.x.x:8080
注意
對於 Microsoft Windows 2016,tar 無法使用,但您可以從 Tar for Windows 網站下載。
您可以從 7 網站下載 ZIP 7ZIP。
-
重複此步驟,直到您使用 Snowball Edge 將所有要傳輸至 Amazon S3 的小型檔案封存完畢為止。
-
將封存檔案傳輸至 Snowball。如果您希望自動擷取資料,且您先前在步驟 1 中提到的其中一個支援的封存格式,請使用 AWS CLI
cp
命令搭配--metadata snowball-auto-extract=true
選項。注意
如果有非封存檔案,請勿使用此命令。
建立封存檔案時,擷取會維護目前的資料結構。這表示如果您建立包含檔案和資料夾的封存檔案,Snowball Edge 將在擷取至 Amazon S3 程序期間重新建立此檔案。
封存檔案會擷取在存放於 的相同目錄中,並相應地建置資料夾結構。請記住,複製封存檔案時,請務必設定旗標 --metadata snowball-auto-extract=true
。否則,當 Snowball Edge 匯入 Amazon S3 時,不會擷取資料。
如果您具有 /Logs/April/ 的資料夾結構包含檔案 a.txt
、 b.txt
和 ,請使用步驟 3 中的範例c.txt
。如果此封存檔案放置在 /amzn-s3-demo-bucket/ 的根目錄,則擷取後資料看起來如下:
/amzn-s3-demo-bucket/Logs/April/a.txt /amzn-s3-demo-bucket/Logs/April/b.txt /amzn-s3-demo-bucket/Logs/April/c.txt
如果封存檔案已放入 /amzn-s3-demo-bucket/Test/,則擷取看起來如下所示:
/amzn-s3-demo-bucket/Test/Logs/April/a.txt /amzn-s3-demo-bucket/Test/Logs/April/b.txt /amzn-s3-demo-bucket/Test/Logs/April/c.txt