檔案系統移轉記錄

本文說明目前的檔案系統移轉記錄格式。

查看轉移記錄

檔案系統移轉作業會產生詳細的移轉記錄,可用於驗證移轉工作的結果。每項工作都會產生一系列移轉記錄,並儲存在移轉的 Cloud Storage bucket 中,包括來源 bucket、目的地 bucket 或中介 bucket,視移轉方向而定。

系統會在移轉工作執行期間產生記錄。工作完成後,完整記錄通常會在 15 分鐘內提供。

查看 Cloud Storage bucket 中的記錄

轉移記錄會儲存在轉移作業的 Cloud Storage 值區中,路徑如下:

bucket-name/storage-transfer/logs/transferJobs/job-name/transferOperations/operation-name

其中:

  • bucket-name 是參與這項轉移作業的 Cloud Storage bucket 名稱。
  • job-name 是工作名稱,顯示在工作清單中。
  • operation-name 是個別轉移作業的名稱,由 IS08601 時間戳記和產生的 ID 組成。

記錄會匯總並儲存為物件。每批記錄都會以建立時間命名。例如:

my bucket/storage-transfer/logs/transferOperations/job1/2019-10-19T10_52_56.519081644-07_00.log

對移轉記錄執行 BigQuery 查詢

如要對移轉記錄執行 BigQuery 查詢,請按照下列步驟操作:

  1. 將 CSV 記錄資料載入 BigQuery

  2. 執行 BigQuery 查詢

查詢範例

顯示嘗試轉移的檔案數量,以及轉移是否失敗或成功

select ActionStatus, count(*) as num_files
from big-query-table
where Action="TRANSFER"
group by 1;

其中 big-query-table 是包含移轉記錄的 BigQuery 資料表名稱。

顯示所有無法移轉的檔案

select Src_File_Path
from big-query-table
where Action="TRANSFER" and ActionStatus="FAILED";

其中 big-query-table 是包含移轉記錄的 BigQuery 資料表名稱。

顯示每個成功移轉檔案的總和檢查碼和時間戳記

select Timestamp, Action, ActionStatus, Src_File_Path, Src_File_Size,
Src_File_Crc32C, Dst_Gcs_BucketName, Dst_Gcs_ObjectName, Dst_Gcs_Size,
Dst_Gcs_Crc32C, Dst_Gcs_Md5
from big-query-table
where Action="TRANSFER" and ActionStatus="SUCCEEDED";

其中 big-query-table 是包含移轉記錄的 BigQuery 資料表名稱。

顯示無法轉移的目錄的所有錯誤資訊

select FailureDetails_ErrorType, FailureDetails_GrpcCode, FailureDetails_Message
from big-query-table
where Action="FIND" and ActionStatus="FAILED";

其中 big-query-table 是包含移轉記錄的 BigQuery 資料表名稱。

格式說明

檔案系統轉移記錄會以定位點分隔值 (TSV) 格式儲存,並包含含有欄位名稱的標題列。欄位顯示順序通常不會變動,但無法保證,且必須從標題列推斷。

每一行代表一筆記錄,也就是整體移轉作業中某部分的狀態更新。

下表說明記錄檔中的欄位:

記錄欄位 說明
時間戳記 我們記錄事件時符合 ISO 8601 規範的時間戳記。
作業名稱 完整作業名稱。
動作

說明這項特定工作的動作。可以是下列其中一項:

  • FIND:尋找待辦事項,例如列出內部部署檔案
  • 轉移:轉移檔案
  • DELETE:刪除目的地的檔案
ActionStatus

動作的高階狀態。可以是下列其中一項:

  • SUCCEEDED:動作已順利完成。
  • FAILED:動作失敗。如要瞭解失敗的其他詳細資料,請參閱 FailureDetails 欄位。
FailureDetails.ErrorType 代表所發生錯誤類型的字串。例如: FILE_NOT_FOUND。只有在發生錯誤時才會填入。
FailureDetails.GrpcCode Google RPC 代碼的字串值。例如:FAILED_PRECONDITION。只有在發生錯誤時才會填入。
FailureDetails.Message 使用者可理解的錯誤訊息,說明失敗原因。只有在發生錯誤時才會填入。
Src.Type 說明來源儲存系統類型的字串。這個值一律為 ON_PREM
Src.File.Path 已轉移的內部部署檔案路徑。
Src.File.LastModified 地端檔案的 POSIX 修改時間 (mtime)。
Src.FileSize 檔案大小,單位是位元組。
Src.File.Crc32C 檔案內容的 CRC32C 總和檢查碼。
Dst.Type 說明目的地儲存系統類型的字串。這個值一律為 GCS
Dst.Gcs.BucketName 目標 Cloud Storage bucket 名稱。
Dst.Gcs.ObjectName 目的地物件的物件前置字串。
Dst.Gcs.LastModified 目的地物件的 POSIX 修改時間 (mtime)。
Dst.Gcs.Size 物件大小 (以位元組為單位)。
Dst.Gcs.Crc23C 物件內容的 CRC32C 總和檢查碼。
Dst.Md5 Cloud Storage 中最終物件的 MD5 總和檢查碼。

記錄項目範例

以下是兩行記錄輸出內容的範例,分別是標頭和資料行:

Timestamp       OperationName   Action  ActionStatus    FailureDetails.ErrorType        FailureDetails.GrpcCode FailureDetails.Message     Src.Type        Src.File.Path   Src.File.LastModified   Src.File.Size   Src.File.Crc32C Dst.Type   Dst.Gcs.BucketName      Dst.Gcs.ObjectName      Dst.Gcs.LastModified    Dst.Gcs.Size    Dst.Gcs.Crc32C  Dst.Gcs.Md5
2019-10-18T21:06:17Z    transferOperations/agent-manual_transferJobs/OPI1494275376193533620_0000000001571432448     TRANSFER        SUCCEEDED                               ON_PREM_FILE    /mnt/disks/disk-1/directory1/file.txt      1561409931      406     3089075447      GCS_OBJECT      destination-gcs-bucket    file.txt  1571432776      406     3089075447      FDjya7dWbd0OrgnZ7g9ZJw==