במדריך הזה מוסבר איך להשתמש בתבנית Bigtable סנכרון שינויים בזרמי נתונים ל-Pub/Sub, כולל איך להגדיר נושא ולהגדיר את התבנית. אפשר גם ליצור פונקציית Cloud Run בשפת התכנות הרצויה, שמופעלת על ידי זרם האירועים.
המדריך הזה מיועד למשתמשים טכניים שמכירים את Bigtable, יודעים לכתוב קוד ומכירים שירותים של סטרימינג אירועים.
מטרות
במדריך הזה מוסבר איך:
- יוצרים טבלת Bigtable עם הפעלת זרם שינויים.
- יוצרים נושא Pub/Sub עם סכימת שינוי הנתונים ב-Bigtable.
- פריסת שינוי בסטרימינג של Bigtable לצינור עיבוד נתונים ב-Pub/Sub ב-Dataflow באמצעות התבנית.
- אפשר לצפות בזרם האירועים ישירות ב-Pub/Sub או ביומנים של פונקציית Cloud Run.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי ליצור הערכת עלויות בהתאם לשימוש החזוי, אתם יכולים להשתמש במחשבון התמחור.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - מעדכנים ומתקינים את
cbtCLI .gcloud components update gcloud components install cbt
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the Dataflow, Cloud Bigtable API, Cloud Bigtable Admin API, Pub/Sub, Cloud Run functions, and Cloud Storage APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
יוצרים נושא Pub/Sub
נכנסים לדף Topics של Pub/Sub במסוף Google Cloud .
לוחצים על יצירת נושא.
מגדירים את המזהה לערך
bigtable-change-stream-topic.בוחרים באפשרות שימוש בסכימה.
בתפריט הנפתח Select a Pub/Sub schema, לוחצים על Create new schema. תיפתח כרטיסייה חדשה שבה מגדירים את הסכימה.
- מגדירים את מזהה הסכימה לערך
bigtable-change-stream-schema. - מגדירים את סוג הסכימה ל-Avro.
- מדביקים את ההגדרה הבאה של הסכימה. מידע נוסף על הסכימה זמין בדף התיעוד של התבנית.
{ "name" : "ChangelogEntryMessage", "type" : "record", "namespace" : "com.google.cloud.teleport.bigtable", "fields" : [ { "name" : "rowKey", "type" : "bytes"}, { "name" : "modType", "type" : { "name": "ModType", "type": "enum", "symbols": ["SET_CELL", "DELETE_FAMILY", "DELETE_CELLS", "UNKNOWN"]} }, { "name": "isGC", "type": "boolean" }, { "name": "tieBreaker", "type": "int"}, { "name": "columnFamily", "type": "string"}, { "name": "commitTimestamp", "type" : "long"}, { "name" : "sourceInstance", "type" : "string"}, { "name" : "sourceCluster", "type" : "string"}, { "name" : "sourceTable", "type" : "string"}, { "name": "column", "type" : ["null", "bytes"]}, { "name": "timestamp", "type" : ["null", "long"]}, { "name": "timestampFrom", "type" : ["null", "long"]}, { "name": "timestampTo", "type" : ["null", "long"]}, { "name" : "value", "type" : ["null", "bytes"]} ] }- לוחצים על יצירה כדי ליצור את הסכימה.
- מגדירים את מזהה הסכימה לערך
סוגרים את הכרטיסייה יצירת סכימה, מרעננים את רשימת הסכימות ובוחרים את הסכימה החדשה שהגדרתם.
לוחצים על יצירה כדי ליצור את הנושא.
אופציונלי: יצירת פונקציית Cloud Run
אפשר לעבד את נתוני הסטרימינג של Pub/Sub באמצעות פונקציית Cloud Run.
- בדף פרטים של נושא
bigtable-change-stream-topic, לוחצים על הפעלת פונקציית Cloud . - בשדה Function name, מזינים את השם
bt-ps-tutorial-function. - בקטע קוד מקור, לוחצים על התפריט הנפתח סביבת זמן ריצה ואז בוחרים את סביבת זמן הריצה ואת שפת התכנות הרצויות. נוצר
hello worldשמדפיס את זרם השינויים כשהוא מגיע. מידע נוסף על כתיבת פונקציות Cloud Run זמין במסמכי התיעוד. - בכל שאר השדות משאירים את ערכי ברירת המחדל.
- לוחצים על פריסת הפונקציה.
יצירת טבלה עם הפעלה של זרם שינויים
נכנסים לדף Instances של Bigtable במסוף Google Cloud .
לוחצים על המזהה של המופע שבו משתמשים במדריך הזה.
אם אין לכם מופע זמין, אתם יכולים ליצור מופע עם הגדרות ברירת המחדל באזור שקרוב אליכם.
בחלונית הניווט שמשמאל, לוחצים על Tables (טבלאות).
לוחצים על יצירת טבלה.
נותנים לטבלה את השם
change-streams-pubsub-tutorial.מוסיפים קבוצת עמודות בשם
cf.בוחרים באפשרות הפעלת מקור נתונים לשינויים.
לוחצים על יצירה.
הפעלת צינור נתונים כדי לתעד את זרם השינויים
- בדף Tables (טבלאות) של Bigtable, מוצאים את הטבלה
change-streams-pubsub-tutorial. - בעמודה Change stream (הזנת שינויים), לוחצים על