

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

# 自訂 S3 檔案的同步
<a name="s3-files-synchronization-customizing"></a>

S3 檔案可讓您透過同步組態，控制檔案系統和連結的 S3 儲存貯體之間的資料流。預設設定會平衡大多數工作負載的延遲和成本，但您可以調整它們以符合您的存取模式。預先匯入更多資料可降低讀取延遲，同時產生更高的儲存和寫入費用。匯入較少的資料可降低儲存成本，但表示從具有較高延遲的 S3 提供更多讀取。每個組態有兩個元件：匯入資料規則，用於控制哪些資料複製到檔案系統，以及何時和過期資料規則，用於控制未使用的資料保留在檔案系統上的時間。您可以使用 AWS 管理主控台或 PutSynchronizationConfiguration API 更新這些規則。

## 匯入資料規則
<a name="s3-files-sync-import-rules"></a>

匯入資料規則會控制將資料從儲存貯體複製到檔案系統的方式。每個檔案系統最多可以有 10 個匯入資料規則。每個匯入資料規則都有下列參數：

**字**首 – 套用規則的 S3 字首。為檔案系統中的整個儲存貯體 （檔案系統範圍） 或特定字首 （例如 "data/ml/") 指定空字串 ("")。除非使用「」指定整個儲存貯體，否則字首必須以正斜線 (/) 結尾。您必須僅包含根目錄的一個匯入規則。預設："" （整個儲存貯體或檔案系統範圍）。

**trigger** – 何時匯入資料：ON\_DIRECTORY\_FIRST\_ACCESS 或 ON\_FILE\_ACCESS。預設：ON\_DIRECTORY\_FIRST\_ACCESS。
+ **ON\_DIRECTORY\_FIRST\_ACCESS** – 在您第一次存取目錄時匯入檔案資料。例如，當您第一次透過列出目錄的內容或在其中開啟檔案來存取目錄時，會匯入該目錄中小於 sizeLessThan 閾值的所有直接子檔案的資料。此選項適用於第一次存取檔案時需要低延遲的工作負載。
+ **ON\_FILE\_ACCESS** – 只有在第一次讀取檔案時，才會匯入檔案資料。此選項可將匯入的資料降至最低，因為第一次讀取時會有較高的延遲。

**sizeLessThan** – 要自動匯入的檔案大小上限 （以位元組為單位）。雖然 S3 檔案匯入所有檔案的中繼資料，但只會匯入小於此閾值之檔案的資料。下限：0 個位元組 （未匯入資料，仍會匯入中繼資料）。上限：52，673，613，135，872 位元組 (48 TiB)。預設：131，072 位元組 (128 KiB)。

### 字首比對行為
<a name="s3-files-sync-prefix-matching"></a>

當多個匯入資料規則符合檔案時，S3 檔案會套用具有最特定字首的規則。例如，假設您有三個規則：
+ 規則 1：字首 = "" （整個儲存貯體）、sizeLessThan = 64 KiB、觸發 = ON\_FILE\_ACCESS
+ 規則 2：字首 = "hot/"、sizeLessThan = 1 MiB、觸發 = ON\_DIRECTORY\_FIRST\_ACCESS
+ 規則 3：字首 = "hot/largeData/"， sizeLessThan = 256 KiB， trigger = ON\_DIRECTORY\_FIRST\_ACCESS

對於 hot/largeData/data.txt 的檔案，S3 檔案會套用規則 3。對於 hot/data.txt 的檔案，S3 檔案會套用規則 2。對於 cold/data.txt 的檔案，S3 檔案會套用規則 1，因為冷/字首沒有特定規則。

## 過期資料規則
<a name="s3-files-sync-expiration-rules"></a>

過期資料規則控制何時從檔案系統移除未使用的資料，以最佳化儲存成本。S3 檔案會在指定的持續時間內未讀取資料，且其變更已同步至 S3 儲存貯體後移除資料。每當讀取檔案時，其過期計時器就會重設，延長資料保留在檔案系統中的時間。您可以在過期資料規則中指定下列參數：

**daysAfterLastAccess** – 從檔案系統移除資料時，上次讀取後的天數。最短：1 天。上限：365 天。預設：30 天。

如果您有經常存取相同資料的長時間執行工作負載，請考慮較長的過期期間 (30–90 天）。對於暫時資料，請考慮較短的期間 (1-7 天）。

## 範例組態
<a name="s3-files-sync-example-configs"></a>

**一般用途檔案共用 （預設組態）** – 開發人員和資料科學家團隊會掛載 S3 檔案系統，以共用程式碼、組態檔案和小型資料集。大多數檔案都低於 128 KiB，並在一天中重複讀取。預設組態適用於此工作負載：ON\_DIRECTORY\_FIRST\_ACCESS 會在第一次存取目錄中的任何檔案時匯入中繼資料和小型檔案資料，這在可能同時存取相同目錄中的檔案時運作良好，例如專案中的來源檔案或部署中的組態檔案。任何使用者後續存取都很快速。當使用者開啟大型檔案，例如日誌封存時，S3 檔案會自動直接從 S3 串流，以獲得高輸送量。30 天過期時段會保留檔案系統上主動使用的檔案，無需手動清除。

**具有重複讀取的 ML 訓練** – 訓練任務會跨多個 epoch 重複讀取數千個小型檔案 (<10 MiB)。若要將延遲降至最低，請使用 ON\_DIRECTORY\_FIRST\_ACCESS 設定高 sizeLessThan 閾值 （例如 10 MiB)，以便在訓練指令碼首次列出每個目錄時預先載入檔案資料。設定短暫過期 （例如 3 天），以便在訓練任務完成後，立即從檔案系統移除資料。

具有**廣泛檔案探索的代理程式工作負載** – AI 代理程式會探索大型文件、程式碼或知識庫檔案儲存庫來回答查詢，並在搜尋相關內容時讀取許多小型檔案一次。將 sizeLessThan 設定為 0，這樣就不會將資料匯入檔案系統。代理程式可以低延遲瀏覽完整目錄樹狀目錄來探索檔案，而每個檔案讀取都是直接從 S3 提供。對於無法預測但很少重新檢視相同檔案的工作負載，這可保持低成本，並在您新增更多客服人員並行讀取時自然擴展。

**冷熱字首** – 檔案系統包含 下經常存取的組態檔案，`config/`以及 下不常存取的封存資料`archive/`。建立兩個匯入規則：一個用於`config/`具有高 sizeLessThan 和 ON\_DIRECTORY\_FIRST\_ACCESS 的 ，另一個用於`archive/`將 sizeLessThan 設定為 0 且 ON\_FILE\_ACCESS 的 。這會將組態檔案保留在檔案系統上，以便快速存取，同時避免很少讀取的封存資料儲存成本。