批次處理小型檔案 - AWS Snowball Edge 開發者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

批次處理小型檔案

每個複製操作由於加密而有一些額外負荷。為了加快將小文件傳輸到 AWS Snowball Edge 設備的過程,您可以將它們批處理在一個存檔中。當您將檔案批次處理在一起時,如果檔案以其中一種支援的存檔格式進行批次處理,則可以在匯入 Amazon S3 時自動擷取這些檔案。

通常,應該會將小於或等於 1 MB 的檔案納入批次中。沒有強制限制您可以在批次中具有的檔案數目,但建議您將批次限制為大約 10,000 個檔案。批次中有 100,000 個以上的檔案可能會影響這些檔案在您退回裝置後匯入 Amazon S3 的速度。我們建議每個批次的總大小不要超過 100 GB。

批次處理檔案是一種您可以管理的手動程序。批次處理檔案之後,請使用 AWS CLI cp指令搭配--metadata snowball-auto-extract=true選項,將檔案傳輸到 Snowball Edge 裝置。只要批次檔案的大小不超過 100 GB,指定snowball-auto-extract=true會在資料匯入 Amazon S3 時自動擷取封存檔案的內容。

注意

任何大於 100 GB 的批次匯入 Amazon S3 時,都不會擷取這些批次。

批次處理小型檔案
  1. 決定您想要以哪種格式批次處理小型檔案。自動解壓縮功能支援 TARZIPtar.gz 格式。

  2. 識別您想要同時批次處理的小型檔案,包括其大小和您要同時批次處理的檔案數目。

  3. 在命令行上 Batch 文件,如以下示例所示。

    • 對於 Linux,您可以在用於將文件傳輸到設備的同一命令行中批處理文件。

      tar -cf - /Logs/April | aws s3 cp - s3://mybucket/batch01.tar --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080
      注意

      或者,可以使用您選擇的封存公用程式,以批次方式將檔案存入一或多個大型封存檔中。不過,這個方法需要額外的本機儲存空間來儲存封存檔,然後才能將它們傳輸到 Snowball。

    • 對於 Windows,當所有檔案都位於執行命令的相同目錄中時,請使用下列範例命令來批次處理檔案:

      7z a -tzip -so "test" | aws s3 cp - s3://mybucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080

      若要從執行命令的其他目錄中批次處理檔案,請使用下列範例命令:

      7z a -tzip -so "test" "c:\temp" | aws s3 cp - s3://mybucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://10.x.x.x:8080
      注意

      對於 Microsoft 視窗 2016,焦油是不可用的,但你可以從焦油視窗網站下載它。

      您可以從 7ZIP 網站下載 7 郵編。

  4. 重複此步驟,直到您將要使用 Snowball 邊緣傳輸到 Amazon S3 的所有小型檔案存檔為止。

  5. 將封存的檔案傳輸至 Snowball。如果您想要自動擷取資料,並使用了步驟 1 中先前提到的其中一種支援的封存格式,請使用指 AWS CLI cp令搭配選--metadata snowball-auto-extract=true項。

    注意

    如果存在非歸檔文件,請不要使用此命令。

建立封存檔案時,擷取將維持目前的資料結構。這表示如果您建立包含檔案和資料夾的封存檔案,Snowball Edge 會在擷取至 Amazon S3 程序期間重新建立此檔案。

歸檔文件將被提取到存儲在相同的目錄中,並相應地構建文件夾結構。請記住,複製存檔文件時,設置標誌很重要--metadata snowball-auto-extract=true。否則,Snowball 邊緣將不會在資料匯入 Amazon S3 時擷取該資料。

使用步驟 3 中的範例,如果您擁有包含檔案的 /Logs/April/ 的資料夾結構,以及. a.txt b.txt c.txt 如果此歸檔檔案放置在 /mybucket/ 的根目錄中,則擷取後資料將如下所示:

/mybucket/Logs/April/a.txt /mybucket/Logs/April/b.txt /mybucket/Logs/April/c.txt

如果歸檔文件被放置到 /MyBucket/test/ 中,那麼提取將如下所示:

/mybucket/Test/Logs/April/a.txt /mybucket/Test/Logs/April/b.txt /mybucket/Test/Logs/April/c.txt