הגדרת יעד ב-Cloud Storage

בדף הזה מוסבר איך להגדיר את Datastream כך שיכתוב נתונים לקטגוריה של Cloud Storage.

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

הפעלת ה-API

הפעלת Datastream API מספיקה אם קטגוריה של Cloud Storage היעד נמצאת באותו פרויקט כמו Datastream.

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

  1. מקבלים את כתובת האימייל שמשמשת לחשבון השירות. כדי לעשות זאת, מחפשים את מספר הפרויקט בדף הבית של מסוף Google Cloud . כתובת האימייל של חשבון השירות תהיה service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
  2. נותנים לכתובת האימייל הזו את ההרשאות הנדרשות לכתיבה בקטגוריית היעד (בדרך כלל ההרשאות roles/storage.objectViewer, roles/storage.objectCreator ו-roles/storage.legacyBucketReader).

מציינים את קטגוריית היעד ואת הקידומת

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

איך פועל הכתיבה

  • הנתונים של זרם נתון נכתבים לקטגוריה או לקידומת הקובץ שצוינו בכתובת: [bucket]/[prefix]/[object name]/yyyy/mm/dd/hh/mm/[filename(idempotent)].
  • שם האובייקט בנתיב למקורות מסוג מסד נתונים הוא שם הסכימה ואחריו שם הטבלה (מופרדים באמצעות קו תחתון '_').
  • חותמת הזמן בנתיב (hh/mm) היא חותמת הזמן של המקור מתוך המטא-נתונים של האירוע.
    • באירועים של מילוי חוסרים, חותמת הזמן מייצגת את השעה שבה הנתונים נשלפו מהמקור. במקור Salesforce, חותמת הזמן מייצגת את הזמן שבו הרשומה השתנתה לאחרונה.
    • באירועי CDC, חותמת הזמן מייצגת את המועד שבו הרשומה השתנתה במקור.
  • החלפה של קבצים מתבצעת כשהגודל המקסימלי של הקובץ או הזמן הקצוב לתפוגה מגיעים למקסימום, לפי מה שקורה קודם. אפשר לשנות את הגודל המקסימלי של הקובץ ואת ערכי הזמן הקצוב לתפוגה באמצעות Datastream API.
  • בנוסף, הקבצים עוברים רוטציה בכל פעם שמזוהה שינוי בסכימת המקור (לדוגמה, נוספת עמודה חדשה).
  • יכולים להיות כמה קבצים באותה נתיב לאותה דקה.
  • אפשר לצרוך את הנתונים בהתאם ל-Cloud Storage API.
  • הגודל המקסימלי של אירוע כשמבצעים סטרימינג של נתונים ל-Cloud Storage הוא 100MB.
  • כל תו לא אלפאנומרי בשם של עמודת מקור מוחלף בקו תחתון (_) בקובץ היעד.

במקרים מסוימים, בדרך כלל כשהזרם מתחיל לפעול, יש חפיפה בין מילוי חוסרים לבין CDC, וכתוצאה מכך נוצרים אירועים כפולים. המצב הזה קורה כש-Datastream מתחיל לקרוא מקובץ היומן הנוכחי של מסד הנתונים (שנוצר לפני הפעלת הזרם), וקובץ היומן הזה כולל אירועים מסוימים שמתועדים גם על ידי מילוי החוסרים. זו התנהגות צפויה, ואם צריך, אפשר לבטל כפילויות של אירועים באמצעות המטא-נתונים של האירוע.

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