ייבוא ממסד הנתונים של 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

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

ממשיכים אל כתיבת נתונים במסד נתוני היעד.