ייבוא ממסד הנתונים של Mongo
בדף הזה מוסבר על השלב הראשון של תהליך ההעברה, שבו משתמשים בזרם של Datastream כדי לתעד את התוכן של מסד נתונים תואם ל-MongoDB ולהעביר אותו לקטגוריה של Cloud Storage.
יצירת קובצי תצורה ב-YAML לזרם
בנוסף לדגלים הרגילים של שורת הפקודה, כדי ליצור זרם צריך שני קובצי הגדרה בפורמט YAML:
קובץ
mongo_source_config.yamlמגדיר את הבחירה של משאבים ספציפיים להעברה, כמו שם מסד הנתונים. פרמטרים של קישוריות ל-Mongo, כמו שם המארח, שם המשתמש והסיסמה, הם מאפיינים של פרופיל החיבור. עם זאת, מסד הנתונים (וכל אוסף ספציפי במסד הנתונים הזה) הוא נכס של המקור.קובץ
gcs_dst_config.yamlמגדיר את מיקום הנתונים ב-Cloud Storage. הקטגוריה של Cloud Storage ונתיב הבסיס בתוך הקטגוריה הם מאפיינים של פרופיל החיבור. עם זאת, פורמט הנתונים ומיקום הנתונים במבנה הקטגוריה של Cloud Storage הם מאפיין של הזרם.
בדוגמאות הבאות של פקודות נוצרים הקבצים האלה ומאוכלסים בערכים ממשתני הסביבה שהגדרתם קודם. לחלופין, אפשר ליצור את הקבצים האלה בכל עורך טקסט ולהחליף את הערכים באופן ידני.
echo "$(cat <<EOF
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
EOF
)" > mongo_source_config.yaml
echo "$(cat <<EOF
path: "/${GCS_BUCKET_SUB_PATH}"
avroFileFormat: {}
EOF
)" > gcs_dst_config.yaml
בדוגמה הקודמת הגדרנו את התוכן המלא של $MONGODB_DATABASE_NAME להעברה. אפשר גם להגביל את ההעברה לאוספים ספציפיים במסד הנתונים. לדוגמה, כדי להעביר רק את האוספים users ו-chats, משתמשים בפקודה הבאה:
includeObjects:
databases:
- database: ${MONGODB_DATABASE_NAME}
collections:
- collection: users
- collection: chats
יצירת מקור נתונים ב-Datastream
לאחר מכן, יוצרים מקור נתונים שמקשר בין המקור ליעד:
תווית מקור הנתונים json_canonical_mode=true מבטיחה שמקור הנתונים יטפל בצורה נכונה באירועים של מסמכי MongoDB שמכילים ערכים לא סטנדרטיים כמו Infinity או NaN.
gcloud datastream streams create "$DATASTREAM_NAME" \
--display-name="$DATASTREAM_NAME" \
--location="$LOCATION" \
--source="$SRC_CONNECTION_PROFILE_NAME" \
--destination="$DST_CONNECTION_PROFILE_NAME" \
--mongodb-source-config=./mongo_source_config.yaml \
--gcs-destination-config=./gcs_dst_config.yaml \
--labels="json_canonical_mode=true" \
--backfill-all
מידע נוסף על מעקב אחרי יצירת הסטרים של Datastream זמין במאמר פתרון בעיות.
הפעלת הסטרים של Datastream
לבסוף, מפעילים את השידור החדש.
כשהשידור מתחיל לשלוף נתונים ולשדר שינויים ממקור Mongo, אפשר לראות ספריות וקבצים חדשים שנוצרו בקטגוריה של Cloud Storage, בנתיב שהוגדר בפרופיל החיבור ובשידור.
כדי להפעיל את הזרם, מריצים את הפקודה הבאה:
gcloud datastream streams update "$DATASTREAM_NAME" \
--location="$LOCATION" \
--state=RUNNING \
--update-mask=state
המאמרים הבאים
ממשיכים אל כתיבת נתונים במסד נתוני היעד.