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

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

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

הפעלת ה-API

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

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

  1. משיגים את כתובת האימייל שמשמשת את חשבון השירות. כדי לעשות את זה, מאתרים את מספר הפרויקט בדף הבית של מסוף Google Cloud . כתובת האימייל של חשבון השירות תהיה service-[project_number]@gcp-sa-datastream..
  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 מתחיל לקרוא מקובץ היומן הנוכחי של מסד הנתונים (שנוצר לפני שהתחיל ה-stream), וקובץ היומן הזה כולל כמה אירועים שמתועדים גם במילוי החוסרים. זו התנהגות צפויה, ואפשר להסיר אירועים כפולים באמצעות המטא-נתונים של האירוע, אם צריך.

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