Apache CouchDB

מחבר Apache CouchDB מאפשר לבצע פעולות של הוספה, מחיקה, עדכון וקריאה במסד נתונים של CouchDB.

לפני שמתחילים

לפני שמשתמשים במחבר Apache CouchDB, צריך לבצע את המשימות הבאות:

  • בפרויקט שלכם ב-Google Cloud:
    • מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
    • נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM‏ roles/connectors.admin.
    • מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs. אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט. מידע נוסף זמין במאמר בנושא יצירת חשבון שירות.

    • מפעילים את השירותים הבאים:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (Connectors API)

      במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.

    אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.

הגדרת המחבר

החיבור הוא ספציפי למקור נתונים. אם יש לכם הרבה מקורות נתונים, תצטרכו ליצור חיבור נפרד לכל אחד מהם. כדי ליצור קישור:

  1. במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.

    כניסה לדף Connections

  2. לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
  3. בקטע מיקום, בוחרים את המיקום של החיבור.
    1. אזור: בוחרים מיקום מהרשימה הנפתחת.

      רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

    2. לוחצים על הבא.
  4. בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
    1. מחבר: בוחרים באפשרות Apache CouchDB מהרשימה הנפתחת של המחברים הזמינים.
    2. גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
    3. בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.

      השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:

      • שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
      • האותיות צריכות להיות קטנות.
      • שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
      • שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
    4. אופציונלי: מזינים תיאור למופע החיבור.
    5. אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-Error.
    6. חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
    7. אופציונלי: מגדירים את ההגדרות של צומת החיבור:

      • מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
      • מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.

      צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.

    8. סכימה גמישה: מגדירים את FlexibleSchema כ-true כדי לסרוק מטא-נתונים נוספים בקבוצת התוצאות של השאילתה. אחרת, המטא-נתונים יישארו ללא שינוי.
    9. (אופציונלי) בקטע הגדרות מתקדמות, מסמנים את התיבה שימוש ב-proxy כדי להגדיר שרת proxy לחיבור, ומגדירים את הערכים הבאים:
      • סכימת אימות של שרת proxy: בוחרים את סוג האימות לאימות מול שרת ה-proxy. אלה סוגי האימות שנתמכים:
        • בסיסי: אימות HTTP בסיסי.
        • Digest: אימות HTTP מסוג Digest.
      • משתמש proxy: שם משתמש שישמש לאימות בשרת ה-proxy.
      • סיסמת ה-Proxy: הסוד במנהל הסודות של סיסמת המשתמש.
      • סוג ה-SSL של ה-Proxy: סוג ה-SSL שבו יש להשתמש כשמתחברים לשרת ה-Proxy. אלה סוגי האימות שנתמכים:
        • אוטומטי: הגדרת ברירת המחדל. אם כתובת ה-URL היא כתובת HTTPS, נעשה שימוש באפשרות Tunnel. אם כתובת ה-URL היא כתובת HTTP, נעשה שימוש באפשרות NEVER.
        • תמיד: החיבור תמיד מופעל באמצעות SSL.
        • לעולם לא: החיבור לא מופעל באמצעות SSL.
        • מנהור: החיבור הוא דרך שרת proxy למנהור. שרת ה-proxy פותח חיבור למארח המרוחק, והתנועה זורמת הלוך ושוב דרך ה-proxy.
      • בקטע שרת Proxy, מזינים את פרטי שרת ה-Proxy.
        1. לוחצים על + הוספת יעד.
        2. בוחרים סוג יעד.
          • כתובת המארח: מציינים את שם המארח או את כתובת ה-IP של היעד.

            כדי ליצור חיבור פרטי למערכת העורפית, פועלים לפי השלבים הבאים:

    10. אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
    11. לוחצים על הבא.
  5. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
    1. סוג היעד: בוחרים סוג יעד.
      • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
      • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

      אם רוצים ליצור חיבור ציבורי למערכות העורפיות עם אבטחה נוספת, אפשר להגדיר כתובות IP סטטיות יוצאות לחיבורים, ואז להגדיר את כללי חומת האש כך שרק כתובות ה-IP הסטטיות הספציפיות יופיעו ברשימת ההיתרים.

      כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.

    2. לוחצים על הבא.
  6. בקטע אימות, מזינים את פרטי האימות.
    1. בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.

      החיבור ל-Apache CouchDB תומך בסוגי האימות הבאים:

      • שם משתמש וסיסמה
    2. כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.

    3. לוחצים על הבא.
  7. בדיקה: בודקים את פרטי החיבור והאימות.
  8. לוחצים על יצירה.

הגדרת אימות

מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.

  • שם משתמש וסיסמה
    • שם משתמש: שם המשתמש של המחבר
    • סיסמה: סוד ב-Secret Manager שמכיל את הסיסמה שמשויכת למחבר.

דוגמאות להגדרת חיבור

בקטע הזה מפורטים ערכי הדוגמה לשדות השונים שאתם מגדירים כשאתם יוצרים את החיבור ל-Apcache CouchDB.

מוודאים שיש לכם תפקיד אדמין כדי לבצע אימות ב-Apache CouchDB.

מידע על Apache CouchDB זמין במאמר מדריך למתחילים בנושא Apache CouchDB. מידע נוסף על פלטפורמת Apache CouchDB זמין במאמר סקירה כללית על פלטפורמת Apache CouchDB. מידע על הגדרת SSL ב-Apache CouchDB זמין במאמר Apache CouchDB 3.5.2. אפשרויות HTTPS‏ (SSL/TLS) ואיך מגדירים SSL‏ (HTTPS) ב-Apache CouchDB?.

סוג החיבור לאימות בסיסי

שם השדה פרטים
מיקום us-central1
מחבר Apache CouchDB
גרסת המחבר 1
שם החיבור couchdb-vm-connection
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
תצוגות רשימה כן
סכימה גמישה כן
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
סוג היעד(שרת) כתובת המארח
כתובת המארח http://198.51.100.0
שם משתמש שם משתמש
סיסמה PASSWORD
גרסה של סוד 1

סוג החיבור לשרת proxy

שם השדה פרטים
מיקום us-central1
מחבר Apache CouchDB
גרסת המחבר 1
שם החיבור couchdb-proxy-conn
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
תצוגות רשימה לא
סכימה גמישה לא
בשם אחרים שימוש בשרת proxy
סכימת אימות של שרת Proxy תקציר
משתמש Proxy PROXY_USER
סיסמת שרת Proxy PROXY_PASSWORD
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
סוג היעד(שרת) כתובת המארח
כתובת המארח http://198.51.100.0
שם משתמש שם משתמש
סיסמה PASSWORD
גרסה של סוד 1

סוג החיבור SSL (לא מאובטח)

שם השדה פרטים
מיקום us-central1
מחבר Apache CouchDB
גרסת המחבר 1
שם החיבור couchdb-ssl-conn
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
תצוגות רשימה לא
סכימה גמישה לא
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
מאגר אישורים (בחירה של מודל האמון) חיבור לא מאובטח
סוג היעד(שרת) כתובת המארח
כתובת המארח http://198.51.100.0
שם משתמש שם משתמש
סיסמה PASSWORD
גרסה של סוד 1

סוג החיבור SSL (פרטי)

שם השדה פרטים
מיקום us-central1
מחבר Apache CouchDB
גרסת המחבר 1
שם החיבור couchdb-proxy-conn
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
תצוגות רשימה לא
סכימה גמישה לא
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
מאגר אישורים (בחירה של מודל האמון) פרטי
מאגר אישורים בהתאמה אישית אישור עם חתימה עצמית.
Secret Version 1
סוג היעד(שרת) כתובת המארח
כתובת המארח https://198.51.100.0
שם משתמש שם משתמש
סיסמה PASSWORD
גרסה של סוד 1

סוג החיבור לאימות JWT

שם השדה פרטים
מיקום us-central1
מחבר Apache CouchDB
גרסת המחבר 1
שם החיבור couchdb-vm-jwt-conn
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
תצוגות רשימה לא
סכימה גמישה לא
בשם אחרים לא
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
סוג היעד(שרת) כתובת המארח
כתובת המארח http://203.0.113.0
נושא JWT admin
אלגוריתם JWT HS256
סוג מפתח JWT סימטרי
מפתח JWT JWT_KEY
גרסה של סוד 1

ישויות, פעולות ופעולות

כל Integration Connectors מספקים שכבת הפשטה לאובייקטים של האפליקציה המחוברת. אפשר לגשת לאובייקטים של אפליקציה רק דרך ההפשטה הזו. ההפשטה מוצגת לכם כישויות, פעולות ופעולות.

  • ישות: ישות היא אובייקט או אוסף של מאפיינים באפליקציה או בשירות המקושרים. ההגדרה של ישות משתנה ממחבר למחבר. לדוגמה, במחבר של מסד נתונים, הטבלאות הן הישויות, במחבר של שרת קבצים, התיקיות הן הישויות, ובמחבר של מערכת הודעות, התורים הם הישויות.

    עם זאת, יכול להיות שמחבר לא תומך בישויות או שאין לו ישויות, ובמקרה כזה הרשימה Entities תהיה ריקה.

  • פעולה: פעולה היא הפעילות שאפשר לבצע בישות. אפשר לבצע כל אחת מהפעולות הבאות בישות:

    בחירה של ישות מתוך הרשימה הזמינה יוצרת רשימה של פעולות שזמינות לישות. תיאור מפורט של הפעולות זמין במאמר פעולות על ישויות של משימת המחברים. עם זאת, אם מחבר לא תומך באף אחת מהפעולות על ישויות, הפעולות הלא נתמכות האלה לא יופיעו ברשימה Operations.

  • פעולה: פעולה היא פונקציה מסוג first class שזמינה לשילוב דרך ממשק המחבר. פעולה מאפשרת לבצע שינויים בישות אחת או בכמה ישויות, והיא משתנה ממתחם למתחם. בדרך כלל, לפעולה יהיו כמה פרמטרים של קלט ופרמטר של פלט. עם זאת, יכול להיות שמחבר לא תומך באף פעולה, ובמקרה כזה הרשימה Actions תהיה ריקה.

מגבלות המערכת

מחבר Apache CouchDB יכול לעבד עד 5 עסקאות בשנייה, לכל צומת, ומגביל עסקאות שחורגות מהמגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.

מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.

דוגמאות לפעולות על ישויות

דוגמה – הצגת כל רשומות הלקוחות

בדוגמה הזו מוצגת רשימה של כל רשומות הלקוחות בישות Customer.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Customer מהרשימה Entity.
  3. בוחרים את הפעולה LIST ולוחצים על סיום.
  4. אופציונלי, אפשר להזין ערכים ב-filterClause כדי לסנן את קבוצת התוצאות.

דוגמה – שליפת רשומת לקוח

בדוגמה הזו מאחזרים רשומה ספציפית של לקוח מהישות Customers.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Customers מהרשימה Entity.
  3. בוחרים את הפעולה GET ולוחצים על סיום.
  4. בקטע Task Input (קלט של משימה) במשימה Connectors (מחברים), לוחצים על EntityId (מזהה ישות) ואז מזינים cust-2 בשדה Default Value (ערך ברירת מחדל).

    כאן, cust-2 הוא ערך המפתח הראשי של הישות Customers.

דוגמה – הוספת לקוח

בדוגמה הזו נוצרת רשומת לקוח בישות Customers.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Customers מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "name": "John",
    "_id": "cust-3"
    }

    אם השילוב יצליח, בשדה connectorOutputPayload של משימת המחבר יופיע ערך דומה לזה:

    {
    "_id": cust-3
    }

דוגמה – עדכון רשומת לקוח

בדוגמה הזו מעדכנים את רשומת הלקוח שצוינה בישות Customers.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Customers מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך שדומה לערך הבא בשדה Default Value:
    {
          "name": "Jason",
        }
        
  5. לוחצים על entityId ואז מזינים cust-5 בשדה ערך ברירת מחדל.

    לחלופין, במקום לציין את entityId, אפשר גם להגדיר את filterClause ל-cust-5.

    אם השילוב יצליח, בשדה connectorOutputPayload של משימת המחבר יופיע ערך דומה לזה:

    {
    "_id": cust-5
    }
        

דוגמה – מחיקה של רשומת לקוח

בדוגמה הזו, רשומת הלקוח שצוינה נמחקת מהישות Customers.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Customers מהרשימה Entity.
  3. בוחרים את הפעולה Delete ולוחצים על סיום.
  4. בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על entityId ואז מזינים cust-6 בשדה Default Value (ערך ברירת מחדל).

יצירת חיבורים באמצעות Terraform

אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.

כשיוצרים את החיבור הזה באמצעות Terraform, צריך להגדיר את המשתנים הבאים בקובץ ההגדרות של Terraform:

שם הפרמטר סוג נתונים חובה תיאור
flexible_schema בוליאני לא נכון מגדירים את FlexibleSchema כ-true כדי לסרוק מטא-נתונים נוספים בערכת התוצאות של השאילתה. אחרת, המטא-נתונים יישארו ללא שינוי.
proxy_enabled בוליאני לא נכון מסמנים את תיבת הסימון הזו כדי להגדיר שרת Proxy לחיבור.
proxy_auth_scheme ENUM לא נכון סוג האימות שבו יש להשתמש כדי לבצע אימות לשרת ה-proxy‏ ProxyServer. הערכים הנתמכים הם: BASIC, ‏ DIGEST, ‏ NONE
proxy_user מחרוזת לא נכון שם משתמש שישמש לאימות בשרת ה-proxy ‏ProxyServer.
proxy_password SECRET לא נכון סיסמה שתשמש לאימות בשרת ה-proxy‏ ProxyServer.
proxy_ssltype ENUM לא נכון סוג ה-SSL שבו צריך להשתמש כשמתחברים לשרת ה-proxy של ProxyServer. הערכים הנתמכים הם: AUTO, ‏ ALWAYS, ‏ NEVER, ‏ TUNNEL

שימוש בחיבור Apache CouchDB בשילוב

אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.

  • כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
  • מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.

קבלת עזרה מקהילת Google Cloud

אתם יכולים לפרסם את השאלות שלכם ולדון במחבר הזה בקהילת Google Cloud בפורומים של Cloud.

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