בדף הזה מוסבר איך להגדיר לכידת נתונים של שינויים (CDC) כדי להזרים נתונים ממסד נתונים של Spanner ליעד נתמך, כמו BigQuery או Cloud Storage.
לפני שמתחילים
אם מופע Spanner קיים ב Google Cloud פרויקט שונה מזה שבו Datastream פועל, צריך להקצות לסוכן השירות של Datastream את תפקיד spanner.databaseReaderIAM, ואם מתכננים להשתמש ב-Data Boost, צריך להקצות לו את תפקיד spanner.databaseReaderWithDataBoost.
אם אתם מעדיפים להשתמש בתפקיד מסד נתונים עם בקרת גישה פרטנית, במאמר יצירת פרופיל וסטרימינג של חיבור ל-Spanner מפורטות ההרשאות הנדרשות.
יצירת מסד נתונים ב-Spanner
כדי להתחיל לשכפל נתוני שינויים מ-Spanner, צריך קודם ליצור מכונה של Spanner ומסד נתונים של Spanner.
יצירת שידור של שינויים
מערכת Spanner משתמשת בסנכרון שינויים בזרמי נתונים כדי לעקוב אחרי שינויים בנתונים כמו הוספות, עדכונים ומחיקות, ולהזרים אותם. כדי להגדיר את מקור Spanner לשכפול ב-Datastream, צריך ליצור ולהגדיר מקור נתונים של שינויים ב-Spanner. צריך לציין את NEW_ROW סוג לכידת הערך של זרם השינויים.
מידע נוסף זמין במאמר סקירה כללית של שינוי הזרמים.
יצירה של פרופיל חיבור וזרם ב-Spanner
כשיוצרים פרופיל חדש לחיבור ל-Spanner, צריך לציין את מסד הנתונים של Spanner שיצרתם. שם מסד הנתונים צריך להיות בפורמט הבא:
projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID
כשיוצרים סטרימינג, אפשר לספק גם את הפרטים הבאים:
- האובייקטים שייכללו ויוחרגו.
המספר המקסימלי של קריאות בו-זמניות לשאילתות של מילוי חוסרים או של זרם שינויים.
האם להשתמש ב-Data Boost ב-Datastream כשמבצעים שאילתות ב-Spanner.
תפקיד במסד הנתונים עם בקרת גישה פרטנית ש-Datastream יכול להשתמש בו כשמריצים שאילתות ב-Spanner. כדי להשתמש בתפקיד הזה, ל-Datastream צריכות להיות לפחות הרשאות ה-IAM הבאות:
spanner.databases.useRoleBasedAccessspanner.databaseRoles.list-
spanner.databases.useDataBoost(אם בוחרים להשתמש ב-Spanner Data Boost)
בנוסף, לתפקיד במסד הנתונים של Spanner צריכות להיות ההרשאות הבאות:
- הרשאות
SELECTלטבלאות שמוזרמות. - הרשאות מפורטות לשינוי הנתונים. מידע נוסף זמין במאמר בנושא בקרת גישה ברמת גרנולריות גבוהה לשינויים בנתונים.
העדיפות של קריאה לשירות מרוחק (RPC) ב-Spanner ש-Datastream ישתמש בה.