יומני העברה של מערכת קבצים

במסמך הזה מתואר הפורמט הנוכחי של יומן העברת קבצים.

הצגת יומני ההעברה

העברות של מערכת קבצים יוצרות יומני העברה מפורטים שבעזרתם אפשר לאמת את התוצאות של עבודת ההעברה. כל משימה יוצרת אוסף של יומני העברה שמאוחסנים בקטגוריה של Cloud Storage של ההעברה: קטגוריית המקור, קטגוריית היעד או קטגוריית הביניים, בהתאם לכיוון ההעברה.

היומנים נוצרים בזמן שהעברת העבודה פועלת. היומנים המלאים זמינים בדרך כלל תוך 15 דקות מסיום העבודה.

צפייה ביומנים בקטגוריית Cloud Storage

יומני ההעברה מאוחסנים בקטגוריה של Cloud Storage של ההעברה בנתיב הבא:

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

כאשר רכיבי הנתיב הם:

  • bucket-name הוא השם של הקטגוריה ב-Cloud Storage שמשתתפת בהעברה הזו.
  • job-name: שם המשרה, כפי שמופיע ברשימת המשרות.
  • operation-name הוא השם של פעולת ההעברה הספציפית, שכולל את חותמת הזמן בפורמט IS08601 ואת המזהה שנוצר.

היומנים נצברים ונשמרים כאובייקטים. השם של כל קבוצת יומנים הוא הזמן שבו היא נוצרה. לדוגמה:

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

הסטטוס הכללי של הפעולה. אחת מהאפשרויות הבאות:

  • הושלם: הפעולה הושלמה בהצלחה.
  • נכשל: הפעולה נכשלה. פרטים נוספים על הכשל מופיעים בשדות FailureDetails.
FailureDetails.ErrorType מחרוזת שמייצגת את סוג השגיאה שנתקלה בה. לדוגמה, FILE_NOT_FOUND. השדה הזה מאוכלס רק אם קרתה שגיאה.
FailureDetails.GrpcCode ערך המחרוזת של קוד ה-RPC של Google. לדוגמה, FAILED_PRECONDITION. השדה הזה מאוכלס רק אם קרתה שגיאה.
FailureDetails.Message הודעת שגיאה קריאה לאנשים על הכישלון. השדה הזה מאוכלס רק אם זוהתה שגיאה.
Src.Type מחרוזת שמתארת את סוג מערכת האחסון של המקור. הערך הזה הוא תמיד ON_PREM.
Src.File.Path הנתיב של הקובץ המקומי שהועבר.
Src.File.LastModified זמן השינוי (mtime) של קובץ מקומי בפורמט POSIX.
Src.FileSize גודל הקובץ בבייטים.
Src.File.Crc32C סיכום הביקורת (checksum)‏ CRC32C של תוכן הקובץ.
Dst.Type מחרוזת שמתארת את סוג מערכת האחסון של היעד. הערך הזה תמיד יהיה GCS.
Dst.Gcs.BucketName שם קטגוריית היעד של Cloud Storage.
Dst.Gcs.ObjectName הקידומת של אובייקט היעד.
Dst.Gcs.LastModified זמן השינוי (mtime) של אובייקט היעד בפורמט POSIX.
Dst.Gcs.Size גודל האובייקט בבייטים.
Dst.Gcs.Crc23C סיכום הביקורת (checksum)‏ CRC32C של תוכן האובייקט.
Dst.Md5 סיכום הביקורת (checksum) מסוג MD5 של האובייקט הסופי ב-Cloud Storage.

דוגמה לרשומה ביומן

הדוגמה הבאה מציגה שתי שורות של פלט יומן, הכותרת ושורת נתונים:

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==