דוחות מלאי

בעזרת דוחות המלאי תוכלו לנהל את אחסון האובייקטים בקנה מידה נרחב. זוהי חלופה לפעולת ה-API Objects: list, והיא מהירה יותר ומתוזמנת. כדאי להשתמש בדוחות מלאי אם רוצים לאמת את ההעברה של קטגוריות גדולות בלי להשפיע על הביצועים, או לבדוק את השלמות של אובייקטים בקטגוריה אחת.

דוחות מלאי כוללים את פרטי המטא-נתונים של האובייקטים, כמו סיווג האחסון (storage class), ה-ETag וסוג התוכן של האובייקט. בעזרת המידע הזה תוכלו לנתח את עלויות האחסון, לבדוק ולאמת את האובייקטים שלכם ולהבטיח את אבטחת מידע ואת התאימות שלהם. כדי לנתח את דוחות המלאי באמצעות כלים כמו BigQuery, אפשר לייצא אותם כקובצי ערכים מופרדים בפסיקים (CSV) או כקובצי Apache Parquet.

בדף הזה מופיעה סקירה כללית של דוחות מלאי. הוראות לשימוש בדוחות מלאי אפשר למצוא במאמר יצירה וניהול של דוחות מלאי.

סקירה כללית על דוחות מלאי

דוחות מלאי כוללים רשימה של אובייקטים ואת המטא-נתונים שלהם שמשויכים לקטגוריה נתונה, שנקראת גם קטגוריית המקור. כדי ליצור דוחות מלאי, צריך קודם ליצור הגדרה של דוח מלאי שקובעת את התדירות של יצירת הדוחות, את שדות המטא-נתונים שהדוחות יכללו ואת הקטגוריה ליצירה ולאחסון של הדוחות, שנקראת גם קטגוריית היעד.

כשיוצרים הגדרה של דוח מלאי, היא מקבלת אוטומטית מזהה ייחודי אוניברסלי (UUID). את התוכן של השדה הזה אי אפשר לשנות. אבל אפשר לשנות את התוכן בשדות הבאים בהגדרה של דוח מלאי :

  • השם המוצג של הגדרת דוח המלאי
  • שדות המטא-נתונים של האובייקטים שנכללים בדוחות המלאי
  • קטגוריית היעד שבה מאוחסנים דוחות המלאי
  • לוח הזמנים שקובע את התדירות שבה נוצרים דוחות מלאי
  • פורמט הקובץ של דוחות המלאי הנוצרים (CSV או Apache Parquet)

כשמוחקים הגדרה של דוח מלאי, לא נוצרים עוד דוחות מלאי חדשים במסגרת ההגדרה הזו, אבל דוחות המלאי שכבר נוצרו נשארים.

מתי כדאי להשתמש בדוחות מלאי שטחי הפרסום

דוחות המלאי מיועדים לניתוח מהיר של מאגרי מידע נפרדים. אפשר להשתמש בהם כדי:

  • הצגת רשימה של כל האובייקטים בקטגוריה

  • אימות ההצלחה של העברות נתונים

  • יצירת דוחות ביקורת עבור קטגוריה מסוימת

מתי לא כדאי להשתמש בדוחות מלאי

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

במערכי נתונים של Storage Insights, הנתונים מתרעננים מדי יום בתצוגות של מטא-נתונים, וכל 4-6 שעות בתצוגות של פעילות. אפשר לנתח את הנתונים באמצעות SQL ב-BigQuery או באמצעות שאלות בשפה טבעית עם Gemini.

כדאי להשתמש במערכי נתונים של Storage Insights אם היעדים שלכם הם:

  • גילוי נתונים חוצה-ארגונים
  • ניתוח לאופטימיזציה של עלויות ולניהול מחזור החיים
  • ניתוח סדרות נתונים מבוססות זמן כדי לזהות מגמות
  • פתרון בעיות בפעולות
  • מעקב אחרי פעילות שמתרחשת בדליים ובפרויקטים

ערכות הנתונים של Storage Insights הן תכונה בלעדית שזמינה רק דרך המינוי Storage Intelligence.

קטגוריות המקור והיעד

קטגוריית המקור מכילה את האובייקטים שאת דוחות המלאי שלהם רוצים ליצור. היא מכילה גם את ההגדרות של דוח המלאי. אפשר לכלול בקטגוריית מקור עד 100 הגדרות של דוחות מלאי.

דוחות המלאי שנוצרים נשמרים בקטגוריית היעד. קטגוריית היעד:

  • צריכה להיות באותו המיקום שבו נמצאת קטגוריית המקור.
  • צריכה להיות באותו הפרויקט שבו נמצאת קטגוריית המקור.
  • יכולה להיות זהה לקטגוריית המקור.

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

השמות של קטגוריות המקור והיעד משמשים את דוחות המלאי כדי לקבוע את הקטגוריות שבהן המשימות ירוצו. אם מוחקים קטגוריית מקור או קטגוריית יעד ובהמשך יוצרים קטגוריה חדשה עם אותו שם, דוחות המלאי יריצו את המשימות באמצעות הקטגוריה החדשה.

שדות מטא-נתונים של אובייקט

דוח המלאי יכול לכלול את שדות המטא-נתונים הבאים. דוח המלאי חייב לכלול את שדות המטא-נתונים שמסומנים כ'חובה'.

שדה מטא-נתונים תיאור הערות
project מזהה הפרויקט שבו נמצאת קטגוריית המקור. חובה
bucket השם של קטגוריית המקור. חובה
name שם האובייקט. חובה
location המיקום של קטגוריית המקור. אופציונלי
size גודל האובייקט. אופציונלי
timeCreated זמן היצירה של האובייקט, בפורמט RFC 3339. אופציונלי
timeDeleted זמן המחיקה של האובייקט, בפורמט RFC 3339. מוחזר אך ורק אם הגרסה הזו של האובייקט כבר לא פעילה, אבל נשארה בקטגוריה כגרסה לא עדכנית. אופציונלי
updated זמן השינוי של המטא-נתונים של האובייקט, בפורמט RFC 3339. אופציונלי
storageClass סוג האחסון (storage class) של האובייקט. אופציונלי
etag תג ישות מסוג HTTP 1.1 של האובייקט. אופציונלי
retentionExpirationTime הזמן המוקדם ביותר שבו ניתן למחוק את האובייקט, בהתאם להגדרות השמירה שנקבעו לאובייקט ולמדיניות השמירה שנקבעה לקטגוריה שמכילה את האובייקט. הערך של retentionExpirationTime ניתן בפורמט RFC 3339. אופציונלי
crc32c סיכום הביקורת (checksum) CRC32C, כפי שמתואר בנספח B של RFC 4960, מקודד באמצעות base64 כשהבייטים מסודרים בשיטת Big Endian. מידע נוסף על סיכום הביקורת (checksum)‏ CRC32C זמין במאמר מטא-נתונים של אובייקטים. אופציונלי
md5Hash גיבוב MD5 של הנתונים, שמקודד באמצעות base64. השדה הזה לא קיים באובייקטים מורכבים. מידע נוסף על גיבוב MD5 זמין במאמר מטא-נתונים של אובייקטים. אופציונלי
generation מספר הגנרציה של התוכן של האובייקט הזה. משמש לניהול גרסאות של אובייקטים. אופציונלי
metageneration גרסת המטא-נתונים של האובייקט בגנרציה הזו. משמשת לתנאים מוקדמים ולזיהוי שינויים במטא-נתונים. למספר המטא-גנרציה יש משמעות רק בהקשר של גנרציה מסוימת של אובייקט מסוים. אופציונלי
contentType השדה Content-Type של נתוני האובייקט. אם אובייקט מאוחסן ללא Content-Type, הוא מוחזר בתור application/octet-stream. אופציונלי
contentEncoding השדה Content-Encoding של נתוני האובייקט. אופציונלי
timeStorageClassUpdated התאריך והשעה שבהם סיווג האחסון של האובייקט השתנה בפעם האחרונה. בשלב הראשוני של יצירת האובייקט הוא מוגדר כ-timeCreated. אופציונלי

למידע נוסף על שדות מטא-נתונים של אובייקטים, אפשר לעיין במאמר מטא-נתונים של אובייקטים.

רסיסים של דוחות מלאי

אם דוח המלאי מכיל יותר מ-1,000,000 אובייקטים, נוצרים אובייקט מפוצל אחד או יותר כדי להרכיב את דוח המלאי. אחרי שכל הרסיסים של דוח המלאי נוצרים בהצלחה, נוצר קובץ מניפסט באותה קטגוריית יעד שבה נמצאים הרסיסים.

קובץ מניפסט של דוח מלאי

הנוכחות של קובץ מניפסט מציינת שכל הרסיסים שמרכיבים את דוח המלאי נוצרו. קובץ המניפסט מספק גם את השמות של אובייקטים של חלקי דוח המלאי.

קובץ המניפסט פועל לפי מוסכמת השמות REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json, כאשר:

  • REPORT_CONFIG_UUID הוא ה-UUID שנוצר אוטומטית של ההגדרה של דוח המלאי.

  • TARGET_DATETIME הוא התאריך והשעה (בפורמט UTC) שבהם נוצר דוח המלאי, שנוצרו באופן אוטומטי.

דוגמה לשם קובץ מניפסט היא fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

קובץ manifest.json מכיל את השדות הבאים שאוכלסו אוטומטית:

{
  "report_config": REPORT_CONFIG_FIELDS,
  "records_processed": NUMBER_OF_INCLUDED_OBJECTS,
  "snapshot_time": "SNAPSHOT_TIME,
  "target_datetime": "TARGET_DATETIME,
  "shard_count": SHARD_COUNT,
  "report_shards_file_names": [
    SHARD_FILE_NAME
    ...]
}

כאשר:

  • REPORT_CONFIG_FIELDS כולל שדות שנמצאים במשאב ReportConfig.

  • NUMBER_OF_INCLUDED_OBJECTS הוא מספר האובייקטים שנכללים בדוח המלאי.

  • SNAPSHOT_TIME הוא התאריך והשעה בפורמט UTC שנוצרו באופן אוטומטי, שבהם מתרחשת תמונת מצב הנתונים. כל הנתונים בדוח המלאי נאספים בנקודת הזמן של ה-snapshot.

  • TARGET_DATETIME הוא התאריך והשעה (בפורמט UTC) שנוצרו באופן אוטומטי, שבהם מופק דוח המלאי.

  • SHARD_COUNT הוא המספר הכולל של רסיסים שנוצרו שמרכיבים את דוח המלאי.

  • SHARD_FILE_NAME הוא השם של רכיב שמרכיב דוח מלאי.

קובץ manifest.json לדוגמה:

{
  "report_config":
     {
       "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0",
       "createTime": "2023-06-08T08:07:53.397366139Z",
       "updateTime": "2023-06-08T08:07:53.552347723Z",
       "frequencyOptions": {
         "frequency": "DAILY",
         "startDate": {
           "year": 2023,
           "month": 6,
           "day": 9
         }
         "endDate": {
           "year": 2023,
           "month": 6,
           "day": 23
         }
       },
       "csvOptions": {
         "recordSeparator": "\n",
         "delimiter": ","
       },
       "objectMetadataReportOptions": {
         "metadataFields": [
           "project",
           "bucket",
           "name",
           "location",
           "updated",
           "storageClass",
         ],
         "storageFilters": {
           "bucket": "my-test-bucket"
         },
         "storageDestinationOptions": {
           "bucket": "example-bucket",
           "destinationPath": "folder/subfolder"
         }
       }
     },
  "records_processed": 3993900,
  "snapshot_time" : "2023-06-06T00:07:27Z",
  "target_datetime": {
    "year": 2023,
    "month": 6,
    "day": 6
  },
  "shard_count": 4,
  "report_shards_file_names": [
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv",
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv",
    ...
  ],
}

תמחור

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

רישום ביומן ביקורת

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

‫Cloud Storage לא יוצר יומני ביקורת לקריאה של מטא-נתונים של אובייקטים מקטגוריית המקור על ידי הגדרה של דוח המלאי.

שילוב עם VPC Service Controls

אתם יכולים להוסיף עוד שכבת אבטחה למשאבים של דוחות מלאי בעזרת VPC Service Controls. כשמשתמשים ב-VPC Service Controls, מוסיפים פרויקטים לגבולות גזרה לשירות שמגינים על המשאבים והשירותים מפני בקשות שמקורן מחוץ לגבולות הגזרה. תוכלו לקרוא מידע נוסף על VPC Service Controls וגבולות גזרה לשירות במאמר פרטים והגדרה של גבולות גזרה לשירות.

מגבלות

יש מגבלות על דוחות מלאי שטחי הפרסום.

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

  • אין תמיכה בדוחות מלאי במיקומים הבאים:

    • אזורים:

      • africa-south1
      • asia-southeast3
      • europe-north2
      • europe-west10
      • europe-west12
      • me-central1
      • me-central2
      • northamerica-south1
    • שני אזורים:

      • eur5
      • eur7
      • eur8

המאמרים הבאים

איך יוצרים הגדרה של דוח מלאי כדי להתחיל ליצור דוחות מלאי.