MongoDB (גרסה 2)
מחבר MongoDB מאפשר לכם לבצע פעולות של הוספה, מחיקה, עדכון וקריאה במסד נתונים של MongoDB.
גרסאות נתמכות
- MongoDB גרסאות 3.6 עד 6.1
- Mongo Atlas שנפרס ב-Google Cloud.
לפני שמתחילים
לפני שמשתמשים במחבר MongoDB, צריך לבצע את המשימות הבאות:
- בפרויקט שלכם ב-Google Cloud:
- מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת. במאמר קישוריות פרטית לאשכול MongoDB Atlas מוסבר איך מגדירים קישוריות לרשת עבור אשכול MongoDB Atlas.
- נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM roles/connectors.admin.
- מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
roles/secretmanager.viewerroles/secretmanager.secretAccessor
חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs. אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט. מידע נוסף זמין במאמר בנושא יצירת חשבון שירות.
- מפעילים את השירותים הבאים:
-
secretmanager.googleapis.com(Secret Manager API) -
connectors.googleapis.com(Connectors API)
מידע על הפעלת שירותים זמין במאמר הפעלת שירותים.
אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.
-
- הגבלת הגישה לרשת לאשכול Atlas באמצעות חומת אש:
כדי להגביל את הגישה לרשת של אשכול Atlas, צריך להגדיר את המחבר של MongoDB כך שישתמש בקבוצה של כתובות IP סטטיות לתעבורה שמגיעה מהחיבורים. כדי להבין איך לאפשר לחיבור להתחבר דרך חומת אש, אפשר לעיין במאמר חיבור לאפליקציית קצה עורפי ציבורית דרך חומת אש.
הגדרת המחבר
החיבור הוא ספציפי למקור נתונים. אם יש לכם הרבה מקורות נתונים, תצטרכו ליצור חיבור נפרד לכל אחד מהם. כדי ליצור קישור:
- במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.
- לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
- בקטע מיקום, בוחרים את המיקום של החיבור.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.
- לוחצים על הבא.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
- בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
- מחבר: בוחרים באפשרות MongoDB מהרשימה הנפתחת של המחברים הזמינים.
- גרסת המחבר: בוחרים את הגרסה
2מרשימת הגרסאות. - בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.
השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:
- שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
- האותיות צריכות להיות קטנות.
- שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
- שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
- אופציונלי: מזינים תיאור למופע החיבור.
- אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-
Error. - חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
- אופציונלי: מגדירים את ההגדרות של צומת החיבור:
- מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
- מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.
צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.
- מסד נתונים: השם של מסד הנתונים של MongoDB שאליו רוצים להתחבר.
- זמן קצוב לתפוגה של חיבור: מציינים את הזמן בשניות להמתנה עד לסיום פעולה לפני ביטולה.
- Connection Pool max size (גודל מקסימלי של מאגר חיבורים): מציינים את המספר המקסימלי של חיבורים שמותרים במאגר החיבורים.
- גודל מינימלי של מאגר החיבורים: מציינים את המספר המינימלי של החיבורים שיישארו במאגר החיבורים.
- משך הזמן ללא פעילות של החיבור בשניות: מציינים את משך הזמן המקסימלי ללא פעילות בשניות שחיבור יכול להתקיים במאגר לפני שהוא נסגר.
- Connection Lifetime in secs (משך החיים של החיבור בשניות): מציינים את משך החיים המקסימלי של החיבור בשניות. אחרי פרק הזמן הזה, החיבור ייסגר.
- שימוש ב-SSL: מציינים אם SSL מופעל או לא.
- שם האפליקציה: שם האפליקציה המותאם אישית ל-Mongo.
- Max Staleness Seconds: משך הזמן בשניות שבו שרת משני יכול להיות לא עדכני לפני שהלקוח מפסיק להשתמש בו לפעולות קריאה.
- Write Concern(אפשרות w): אפשרות לבקש אישור לכך שפעולת הכתיבה הועברה למספר מסוים של מופעים עם תגים ספציפיים.
- Write Concern(אפשרות wtimeoutMS): מציינת מגבלת זמן, באלפיות השנייה, עבור Write Concern.
- Write Concern(journal Option): בקשות אישור מ-MongoDB שפעולת הכתיבה נכתבה ביומן.
- העדפת קריאה: מגדירים את האפשרות הזו לשיטה לקריאה ממערכת שכפול. הערכים הקבילים הם primary, primaryPreferred, secondary, secondaryPreferred ו-nearest.
- Cluster Type: מציינים את סוג אשכול MongoDB.
- הפעלת הצפנה: מציינים אם ההצפנה מופעלת.
- סוג ההצפנה: מציינים את סוג ההצפנה שמופעל. בשלב הזה יש תמיכה רק בסוג
Local Encryption. - סכימת הצפנה: מציינים את פרטי סכימת ההצפנה, כולל השדות ואלגוריתם ההצפנה, שם חלופי של המפתח, סוג השאילתה וגורם ההתנגשות.
לדוגמה:
{ "database.collection": { "encryptMetadata": { "algorithm": "parentAlgo" }, "properties": { "passportId": {}, "medicalRecords": { "encryptMetadata": { "algorithm": "medicalRecordParentAlgo" }, "properties": { "medicalRecord1": {}, "medicalRecord2": { "encrypt": { "algorithm": "medicalRecord2Algo", "keyAltName": "medicalRecord2Altkey", "queryType": "equality", "contentionFactor": 3 } } } }, "insuranceProperties": { "properties": { "policyNumber": {}, "insuranceRecord1": { "encrypt": { "algorithm": "insuranceRecord1Algo", "keyAltName": "insuranceRecord1AltKey" } }, "insuranceRecord2": { "encrypt": { "algorithm": "insuranceRecord2Algo", "keyAltName": "insuranceRecord2AltKey", "contentionFactor": 5 } } } } } } } - encryption_master_key: סוד ב-Secret Manager שמכיל את מפתח המאסטר להצפנה.
- encryption_key_vault: הערך של כספת מפתחות ההצפנה.
- מסד נתונים לאימות: מציינים את השם של מסד הנתונים של MongoDB לאימות.
- אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
- לוחצים על הבא.
- בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
- סוג היעד: אפשר לציין את פרטי היעד ככתובת מארח, שיכולה להיות אחת מהאפשרויות הבאות:
- מחרוזת SRV יחידה של Mongo. לדוגמה,
mongodb+srv://cluster2.2f.mongodb.net - עותקים משוכפלים נפרדים. לדוגמה,
dasdsf.2f.mongodb01.net - כתובת IP. לדוגמה,
10.23.123.12
הקידומת
mongodb://תתווסף לכתובת ה-URL הסופית אחרי שכל העותקים ישולבו במחרוזת החיבור, אם לא צויןmongodb+srv.- כתובת המארח: מציינים את שם המארח או את כתובת ה-IP של היעד.
כדי ליצור חיבור פרטי לשרת העורפי, פועלים לפי השלבים הבאים:
- יוצרים קובץ מצורף לשירות PSC.
- יוצרים endpoint attachment ואז מזינים את הפרטים שלו בשדה Host address.
כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.
- מחרוזת SRV יחידה של Mongo. לדוגמה,
- לוחצים על הבא.
- סוג היעד: אפשר לציין את פרטי היעד ככתובת מארח, שיכולה להיות אחת מהאפשרויות הבאות:
-
בקטע אימות, מזינים את פרטי האימות.
- בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.
החיבור ל-MongoDB תומך בסוגי האימות הבאים:
- שם משתמש וסיסמה
- לוחצים על הבא.
כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר הגדרת אימות.
- בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.
- בדיקה: בודקים את פרטי החיבור והאימות.
- לוחצים על יצירה.
הגדרת אימות
מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.
-
שם משתמש וסיסמה
- שם משתמש: שם המשתמש של המחבר
- Password: סוד ב-Secret Manager שמכיל את הסיסמה של המשתמש.
- סכמת אימות: הסכמה שמשמשת לאימות.
החיבור ל-MongoDB תומך בסכימות האימות הבאות:
- פשוט
- SCRAM-SHA-1
- SCRAM-SHA-256
ישויות, פעולות ופעולות
כל Integration Connectors מספקים שכבת הפשטה לאובייקטים של האפליקציה המחוברת. אפשר לגשת לאובייקטים של אפליקציה רק דרך ההפשטה הזו. ההפשטה מוצגת לכם כישויות, פעולות ופעולות.
- ישות: ישות היא אובייקט או אוסף של מאפיינים באפליקציה או בשירות המקושרים. ההגדרה של ישות משתנה ממחבר למחבר. לדוגמה, במחבר של מסד נתונים, הטבלאות הן הישויות, במחבר של שרת קבצים, התיקיות הן הישויות, ובמחבר של מערכת הודעות, התורים הם הישויות.
עם זאת, יכול להיות שמחבר לא תומך בישויות או שאין לו ישויות, ובמקרה כזה הרשימה
Entitiesתהיה ריקה. - פעולה: פעולה היא הפעילות שאפשר לבצע בישות. אפשר לבצע כל אחת מהפעולות הבאות בישות:
בחירה של ישות מתוך הרשימה הזמינה יוצרת רשימה של פעולות שזמינות לישות. תיאור מפורט של הפעולות זמין במאמר פעולות על ישויות של משימת המחברים. עם זאת, אם מחבר לא תומך באף אחת מהפעולות על ישויות, הפעולות הלא נתמכות האלה לא יופיעו ברשימה
Operations. - פעולה: פעולה היא פונקציה מסוג first class שזמינה לשילוב דרך ממשק המחבר. פעולה מאפשרת לבצע שינויים בישות אחת או בכמה ישויות, והיא משתנה ממתחם למתחם. בדרך כלל, לפעולה יהיו כמה פרמטרים של קלט ופרמטר של פלט. עם זאת, יכול להיות שמחבר לא תומך באף פעולה, ובמקרה כזה הרשימה
Actionsתהיה ריקה.
מגבלות המערכת
מחבר MongoDB יכול לעבד עד 70 עסקאות בשנייה, לכל צומת, ומגביל עסקאות שחורגות מהמגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.
מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.
סוגי נתונים נתמכים
אלה סוגי הנתונים הנתמכים במחבר הזה:
- BIGINT
- BINARY
- BIT
- בוליאני
- CHAR
- תאריך
- DECIMAL
- DOUBLE
- FLOAT
- מספר שלם
- LONGN VARCHAR
- LONG VARCHAR
- NCHAR
- NUMERIC
- NVARCHAR
- REAL
- SMALL INT
- שעות
- TIMESTAMP
- TINY INT
- VARBINARY
- VARCHAR
הגדרות לאשכול MongoDB Atlas
הגדרת האימות עבור אשכול MongoDB Atlas שונה מעט מהשלבים שמתוארים במסמכים הקודמים. כדי לבצע אימות מול אשכול Atlas, צריך קודם לקבל את מחרוזת החיבור של Atlas. כדי לקבל את מחרוזת החיבור של Atlas:
- בתצוגת האשכולות, לוחצים על Connect (חיבור) באשכול שאליו רוצים להתחבר.
- לוחצים על Connect Your Application (קישור האפליקציה).
- בוחרים באחת מאפשרויות הדרייבר כדי להציג מחרוזת חיבור.
כדי לבצע אימות מול אשכול Atlas, משתמשים בהגדרה הבאה:
- Auth Database: מגדירים את הערך ל-admin, כי כל המשתמשים ב-MongoDB Atlas משויכים למסד הנתונים admin.
- Use SSL (שימוש ב-SSL): מגדירים את הערך ל-true.
- Server: מגדירים את הערך ל-mongodb+srv://MongoDB INSTANCE SERVER NAME בלי לכלול את שם המשתמש והסיסמה.
פעולות
בקטע הזה מפורטות כל הפעולות שנתמכות בחיבור ל-MongoDB.
פעולה של AggregatePipeline
הפעולה הזו צוברת את השינויים בצינור באוסף.
פרמטרים של קלט לפעולה AggregatePipeline
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| פייפליין | String | כן | צינור צבירה שמכיל שלבי שדות כרשימה של מחרוזות. |
| page_size | מספר שלם | לא | מספר הפריטים שייכללו בכל דף של קבוצת התוצאות. |
| page_no | מספר שלם | לא | האינדקס של הדף שיש לאחזר מתוך קבוצת התוצאות. האינדקס מתחיל מ-0. |
דוגמה להגדרת הפעולה AggregatePipeline מופיעה במאמר דוגמאות.
פעולת CountDocuments
הפעולה הזו סופרת את כל המסמכים שעומדים בתנאי מסוים באוסף.
פרמטרים של קלט לפעולה CountDocuments
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| מסנ | String | לא | תנאי סינון שמוצג בפורמט של שאילתת MongoDB. התנאי הזה יכול להכיל שדות מוצפנים אם סכמת ההצפנה מופעלת עבור שוויון של querytype. |
פרמטרים של פלט של הפעולה CountDocuments
הפעולה הזו מחזירה את מספר כל המסמכים שעומדים בתנאי נתון.
דוגמה להגדרת הפעולה CountDocuments מופיעה במאמר דוגמאות.
הפעולה DeleteDocuments
הפעולה הזו מוחקת מסמכים באוסף.
פרמטרים של קלט בפעולה DeleteDocuments
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| מסנ | String | לא | תנאי סינון שמוצג בפורמט של שאילתת MongoDB. התנאי הזה יכול להכיל שדות מוצפנים אם סכימת ההצפנה מופעלת לשוויון מסוג שאילתה. |
פרמטרים של פלט של הפעולה DeleteDocuments
הפעולה מחזירה את מספר המסמכים שנמחקו.
דוגמה להגדרת הפעולה DeleteDocuments מופיעה במאמר דוגמאות.
הפעולה DistinctValues
הפעולה הזו מחזירה את הערכים הייחודיים של שדה באוסף.
פרמטרים של קלט לפעולה DistinctValues
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| שדה | String | כן | שם השדה שאליו מתייחסת השאילתה כדי לקבל ערכים ייחודיים. |
| מסנ | String | לא | תנאי סינון שמוצג בפורמט של שאילתת MongoDB. התנאי הזה יכול להכיל שדות מוצפנים אם סכמת ההצפנה מופעלת עבור שוויון של querytype. |
דוגמה להגדרת הפעולה DistinctValues מופיעה במאמר דוגמאות.
פעולת InsertDocument
הפעולה הזו מוסיפה מסמך לאוסף.
בטבלאות הבאות מתוארים פרמטרי הקלט והפלט של פעולת InsertDocument.
פרמטרים של קלט לפעולה InsertDocument
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| מסמך | String | לא | מסמך שיוסף לאוסף MongoDB. |
פרמטרים של פלט של הפעולה InsertDocument
הפעולה הזו מחזירה את המזהה של המסמך שהוכנס.
דוגמה להגדרת הפעולה InsertDocument מופיעה במאמר דוגמאות.
הפעולה ListDocuments
בטבלאות הבאות מתוארים פרמטרי הקלט והפלט של הפעולה ListDocuments.
פרמטרים של קלט לפעולה ListDocuments
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| מסנ | String | לא | תנאי סינון שמוצג בפורמט של שאילתת MongoDB. התנאי הזה יכול להכיל שדות מוצפנים אם סכמת ההצפנה מופעלת עבור שוויון querytype. |
| page_size | מספר שלם | לא | מספר הפריטים שייכללו בכל דף של קבוצת התוצאות. |
| page_no | מספר שלם | לא | האינדקס של הדף שיש לאחזר מתוך קבוצת התוצאות. האינדקס מתחיל מ-0. |
| היטל | String | לא | קבוצת השדות או המאפיינים שייכללו בהקרנת השאילתה בפורמט Mongo. |
| sort_by | String | לא | המפרט של סדר תוצאות השאילתה בפורמט Binary JSON (BSON) של MongoDB. |
פרמטרים של פלט של הפעולה ListDocuments
הפעולה מחזירה את רשימת המסמכים שעומדים בתנאי הסינון לפי גודל הדף. גודל הדף שמוגדר כברירת מחדל הוא 25, והגודל המקסימלי של הדף הוא 50,000.
דוגמה להגדרת הפעולה ListDocuments מופיעה במאמר דוגמאות.
פעולת UpdateDocuments
בטבלאות הבאות מתוארים פרמטרי הקלט והפלט של פעולת UpdateDocuments.
פרמטרים של קלט לפעולה UpdateDocuments
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| ערכים | String | לא | הערכים שיש לעדכן בפורמט Mongo. |
| מסנ | String | לא | תנאי סינון שמוצג בפורמט של שאילתת MongoDB. התנאי הזה יכול להכיל שדות מוצפנים אם סכימת ההצפנה מופעלת לשוויון מסוג שאילתה. |
| upsert | בוליאני | לא | האם הפעולה היא upsert או לא. |
פרמטרים של פלט של הפעולה UpdateDocuments
הפעולה מחזירה את מספר המסמכים שעודכנו.
דוגמה להגדרת הפעולה UpdateDocuments מופיעה במאמר דוגמאות.
פעולת UpdateDocumentsWithEncryption
הפעולה הזו מאפשרת למשתמש לעדכן את הערכים המוצפנים.בטבלאות הבאות מתוארים פרמטרים של קלט ופלט של הפעולה UpdateDocumentsWithEncryption.
פרמטרים של קלט בפעולה UpdateDocumentsWithEncryption
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| אוסף | String | כן | השם של אוסף MongoDB. |
| מסמך | String | לא | מסמך שמכיל ערכים שצריך לעדכן. הערכים יכולים להכיל שדות שיוצפנו באמצעות CSFLE. |
| מסנ | String | לא | תנאי סינון שמוצג בפורמט של שאילתת MongoDB. התנאי הזה יכול להכיל שדות מוצפנים אם סכמת ההצפנה מופעלת עבור שוויון של סוג השאילתה. |
| upsert | בוליאני | לא | הגדרה שקובעת אם הפעולה היא upsert. |
פרמטרים של פלט של הפעולה UpdateDocumentsWithEncryption
הפעולה מחזירה את מספר המסמכים שעודכנו.
דוגמה להגדרת הפעולה UpdateDocumentsWithEncryption מופיעה במאמר דוגמאות.
דוגמאות
בקטע הזה מוסבר איך לבצע חלק מהפעולות והפעולות על ישויות במחבר הזה.
דוגמה – שינויים מצטברים בצינור
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
AggregatePipelineולוחצים על סיום. - בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על
connectorInputPayloadואז מזינים ערך דומה לערך הבא בשדהDefault Value:{ "collection": "restaurants", "pipeline": { "stages": [ "{$addFields: { \"new_menu_item\": \"tea\"}}" ] }, "page_size": 1, "page_no": 0 }
בדוגמה הזו נוסף פריט תפריט חדש לכל המסמכים באוסף restaurant ומוחזר הדף הראשון של התוצאה.
דוגמה – ספירת מסמכים
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
CountDocumentsולוחצים על סיום. - בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על
connectorInputPayloadואז מזינים ערך דומה לערך הבא בשדהDefault Value:{ "collection":"restaurants", "filter": "{\"name\": \"CarvelIceCream1\"}" }
בדוגמה הזו מוחזרת ספירת המסמכים שתואמים לקריטריוני הסינון. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של המשימה Connectors יקבל ערך שדומה לדוגמה הבאה:
{ "results": [ { "count": 5 } ] }
דוגמה – מחיקת מסמכים
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
DeleteDocumentsולוחצים על סיום. - בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על
connectorInputPayloadומזינים את הפרטים הבאים בשדהDefault Value:{ "collection": "Insurancedocuments", "filter": "{\"insurance.provider\":\"ABC\"}"}
בדוגמה הזו נמחקים כל המסמכים שספק הביטוח שלהם הוא ABC.
דוגמה – חיפוש ערכים ייחודיים בקולקציה
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
DistinctValuesולוחצים על סיום. - בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על
connectorInputPayloadואז מזינים ערך דומה לערך הבא בשדהDefault Value:{"collection":"restaurants","field":"contact"}
בדוגמה הזו, הפונקציה מחזירה את הערכים הייחודיים באוסף restaurants. אם הפעולה מצליחה, פרמטר התגובה connectorOutputPayload של המשימה Connectors יקבל ערך שדומה לדוגמה הבאה:
{ "results": [ { "DistinctValues": [ "3217902323", "8747479023", "3492619023" ] } ] }
דוגמה – הוספת מסמך
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
InsertDocumentולוחצים על סיום. - בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על
connectorInputPayloadואז מזינים ערך דומה לערך הבא בשדהDefault Value:{ { "collection": "Insurancedocuments", "document": "{\"fname\":\"firstName\", \"lname\":\"lastName\", \"passportId\":\"ABCD1234\", \"bloodType\":\"A\", \"medicalRecords\":[{\"item\":\"name1\"},{\"item\":\"name2\"}], \"insurance\":{\"policyNumber\":\"12345\",\"provider\":\"provider2\"}}" } }
בדוגמה הזו מוסיפים מסמך לאוסף Insurancedocuments.
תוכן המסמך מצוין בשדה document. אם ההוספה תצליח, תקבלו את המזהה של המסמך שהוסף בפרמטר התגובה connectorOutputPayload של המשימה Connectors.
דוגמה – רשימת מסמכים
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
ListDocumentsולוחצים על סיום. - בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על
connectorInputPayloadואז מזינים ערך דומה לערך הבא בשדהDefault Value:{ "collection": "Insurancedocuments", "filter": "{\"insurance.provider\":\"ABC\"}", "page_size": 10 }
בדוגמה הזו מוצגים מסמכים באוסף Insurancedocuments שבהם ספק הביטוח הוא ABC. גודל הדף של קבוצת התוצאות מוגדר ל-10, ורשימת הקבצים תהיה זמינה בפורמט JSON בפרמטר התגובה connectorOutputPayload של משימת Connectors.
דוגמה – עדכון מסמכים
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
UpdateDocumentsולוחצים על סיום. - בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על
connectorInputPayloadואז מזינים ערך דומה לערך הבא בשדהDefault Value:{"collection":"Insurancedocuments", "values":" {$set: { lname:\"Smith\" }}", "filter":"{\"insurance.provider\":\"ABC\"}"}
בדוגמה הזו, שם המשפחה מתעדכן ל-Smith במסמכים שתואמים לקריטריונים של המסנן. אם העדכון יצליח, תקבלו את מספר המסמכים שעודכנו. התשובה תהיה זמינה בפרמטר התשובה connectorOutputPayload של המשימה Connectors.
דוגמה – עדכון מסמכים בהצפנה
- בתיבת הדו-שיח
Configure connector task, לוחצים עלActions. - בוחרים את הפעולה
UpdateDocumentsWithEncryptionולוחצים על סיום. - בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על
connectorInputPayloadומזינים את הפרטים הבאים בשדהDefault Value:{ {"collection":"Insurancedocuments", "document":" { \"insurance.provider\":\"XYZ\" }", "filter":"{\"insurance.provider\":\"ABC\"}"}
בדוגמה הזו, ספק הביטוח מתעדכן ל-XYZ
בכל המסמכים שבהם ספק הביטוח הוא ABC.
יצירת חיבורים באמצעות Terraform
אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.
כשיוצרים את החיבור הזה באמצעות Terraform, צריך להגדיר את המשתנים הבאים בקובץ ההגדרות של Terraform:
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| מסד נתונים | מחרוזת | נכון | השם של מסד הנתונים של MongoDB. |
| זמן קצוב לתפוגה | מספר שלם | לא נכון | הזמן הקצוב לתפוגה של החיבור בשניות. |
| enable_ssl | בוליאני | לא נכון | השדה הזה קובע אם SSL מופעל. |
| app_name | מחרוזת | לא נכון | שם אפליקציה מותאם אישית ל-MongoDB. |
| max_staleness_seconds | מספר שלם | לא נכון | משך הזמן בשניות שבו משני יכול להיות לא עדכני, לפני שהלקוח מפסיק להשתמש בו לפעולות קריאה. |
| write_concern | מחרוזת | לא נכון | אפשרות לבקש אישור לכך שפעולת הכתיבה הועברה למספר מסוים של מופעים עם תגים ספציפיים. |
| write_concern_timeout | מספר שלם | לא נכון | מציין מגבלת זמן, באלפיות השנייה, לבעיית הכתיבה. |
| write_concern_journal | בוליאני | לא נכון | בקשות אישור מ-MongoDB שפעולת הכתיבה נכתבה ביומן. |
| read_preference | ENUM | לא נכון | קריאת ההעדפות של החיבור הזה. הערכים הנתמכים הם: primary, primaryPreferred, secondary, secondaryPreferred, nearest |
| cluster_type | ENUM | לא נכון | מציין את הסוג של אשכול MongoDB. הערכים הנתמכים הם: REPLICA_SET, STANDALONE, SHARDED, UNKNOWN |
| enable_encryption | בוליאני | לא נכון | השדה הזה מגדיר אם ההצפנה מופעלת. |
| encryption_type | ENUM | לא נכון | בשדה הזה מגדירים את סוג ההצפנה שמופעלת. הערכים הנתמכים הם: local |
| encryption_schema | מחרוזת | לא נכון | מידע על סכימת ההצפנה, כולל השדות ואלגוריתם ההצפנה שבהם נעשה שימוש. |
| encryption_master_key | SECRET | לא נכון | סוד ב-Secret Manager שמכיל את מפתח המאסטר להצפנה. |
| encryption_key_vault | מחרוזת | לא נכון | הערך של Encryption Key Vault. |
| auth_database | מחרוזת | נכון | השם של מסד הנתונים של MongoDB לאימות. |
שימוש בחיבור ל-MongoDB בשילוב
אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.
- כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
- מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.