‫SAP HANA

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

גרסאות נתמכות

‫SAP HANA גרסה 2.0 SPS04 ואילך

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

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

  • בפרויקט שלכם ב-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)

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

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

מידע על יצירת מסד נתונים של SAP HANA זמין במאמר תחילת העבודה עם SAP HANA. מידע נוסף על SAP HANA זמין במאמר סקירה כללית של פלטפורמת SAP HANA.

הגדרת המחבר

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

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

    כניסה לדף Connections

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

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

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

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

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

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

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

    8. ‫Database: השם של מסד הנתונים SAP HANA.
    9. ‫BrowsableSchemas: המאפיין הזה מגביל את הסכימות שמדווחות לקבוצת משנה של הסכימות הזמינות. לדוגמה, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
    10. Include System Objects (הכללת אובייקטים במערכת): מגדירים את IncludeSystemObjects כ-True כדי לאחזר את הסכימה והטבלאות של מערכת Hana.
    11. Include Table Types: אם המדיניות מוגדרת כ-true, הספק ידווח על הסוגים של טבלאות ותצוגות בודדות.
    12. ‫Session Variables: רשימה מופרדת בפסיקים של משתני סשן להגדרה בחיבור הנוכחי.
    13. אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
    14. לוחצים על הבא.
  5. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
    1. סוג היעד: בוחרים סוג יעד.
      • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
      • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

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

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

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

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

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

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

הגדרת אימות

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

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

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

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

שם השדה פרטים
מיקום us-central1
מחבר ‫SAP HANA
גרסת המחבר 1
שם החיבור sap-hana-db-conn
הפעלת Cloud Logging כן
חשבון השירות SERVICE_ACCOUNT_NAME@serviceaccount
מסד נתונים S19
BrowsableSchemas GOOGLEUSER
הוספת סוג טבלה כן
הפעלת רישום מפורט (verbose) ביומן 5
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
סוג היעד כתובת המארח
מארח 1 192.0.2.0/24
port 1 31015
שם משתמש שם משתמש
סיסמה סיסמה
גרסה של סוד 1

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

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

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

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

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

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

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

פעולות

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

פעולת EMPLOYEE_PROCEDURE_HANA

הפעולה הזו מחזירה נתונים של מזהה.

פרמטרים של קלט לפעולה EMPLOYEE_PROCEDURE_HANA

שם הפרמטר סוג הנתונים חובה תיאור
מזהה מספר שלם נכון מזינים את מזהה הסוג שצריך להעביר בהליך

דוגמה להגדרת הפעולה EMPLOYEE_PROCEDURE_HANA מופיעה במאמר דוגמאות.

פעולת ExecuteCustomQuery

הפעולה הזו מאפשרת לכם לבצע משימות ספציפיות. לדוגמה, ב-HANADB אפשר להריץ שאילתת SQL מותאמת אישית.

פרמטרים של קלט לפעולה ExecuteCustomQuery

שם הפרמטר סוג הנתונים חובה תיאור
שאילתה String נכון מחרוזת השאילתה שצריך להריץ.
queryParameters ‫Array, ‏ Null נכון פרמטרים של שאילתה שיועברו לפי הסדר.
maxRows מספר, Null לא נכון מספר השורות המקסימלי שיוחזרו.
זמן קצוב לתפוגה מספר, Null לא נכון מספר השניות להמתנה להרצת השאילתה.

דוגמה להגדרת הפעולה ExecuteCustomQuery מופיעה במאמר דוגמאות.

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

דוגמה – EMPLOYEE_PROCEDURE_HANA

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה EMPLOYEE_PROCEDURE_HANA ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "ID":1
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה EMPLOYEE_PROCEDURE_HANA של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     [{
    "EMP_ID": 1.0,
    "NAME": "Komal",
    "CITY": "UP",
    "SALARY": 7500.0,
    "DEPARTMENT": "IT" 
    }]
    

דוגמה – הפעלת שאילתת Join_GroupBy מותאמת אישית

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT CUSTOMER.COMPANY, SUM(ORDERS.AMOUNT) AS Total
    FROM ORDERS
    INNER JOIN CUSTOMER
    ON ORDERS.CUSTOMER_ID = CUSTOMER.ID
    GROUP BY CUSTOMER.COMPANY"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    "COMPANY": "google India",
    "TOTAL": 1560.0
    },{
    "COMPANY": "IBM India",
    "TOTAL": 4500.0
    }]
    

דוגמה – ExecuteCustomQuery Join

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT ID, NAME, AGE, AMOUNT FROM CUSTOMERS JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID"
      }]
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
      "ID": 3.0,
      "NAME": "Kaushik",
      "AGE": 23.0,
      "AMOUNT": 3000.0
    }, {
      "ID": 3.0,
      "NAME": "Kaushik",
      "AGE": 23.0,
      "AMOUNT": 1500.0
    }, {
      "ID": 2.0,
      "NAME": "Khilan",
      "AGE": 25.0,
      "AMOUNT": 1560.0
    }, {
      "ID": 4.0,
      "NAME": "Chaitali",
      "AGE": 25.0,
      "AMOUNT": 2060.0
    }]
    

דוגמה – ExecuteCustomQuery Groupby_Having_Count

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT COUNT(ID), CITY FROM GCP_HANA_CUSTOM GROUP BY CITY HAVING COUNT(ID) > 1"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     [{
      "COUNT(ID)": 2.0,
      "CITY": "Delhi"
    }] 
    

דוגמה – ExecuteCustomQuery GroupBy

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT COUNT(ID), CITY FROM GCP_HANA_CUSTOM GROUP BY CITY"
    }
    
  4. בדוגמה הזו, הרשומות של ExecuteCustomQuery יעודכנו. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
      "COUNT(ID)": 1.0,
      "CITY": "Kolkata"
    }, {
      "COUNT(ID)": 1.0,
      "CITY": "Katihar"
    }, {
      "COUNT(ID)": 1.0,
      "CITY": "Bangalore"
    }, {
      "COUNT(ID)": 2.0,
      "CITY": "Delhi"
    }]
    

דוגמה – ExecuteCustomQuery GroupBy_OrderBy

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT COUNT(ID), CITY FROM GCP_HANA_CUSTOM GROUP BY CITY ORDER BY COUNT(ID) DESC"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
      "COUNT(ID)": 2.0,
      "CITY": "Delhi"
    }, {
      "COUNT(ID)": 1.0,
      "CITY": "Kolkata"
    }, {
      "COUNT(ID)": 1.0,
      "CITY": "Bangalore"
    }, {
      "COUNT(ID)": 1.0,
      "CITY": "Katihar"
    }]
    

דוגמה – ExecuteCustomQuery Insert_Table

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "INSERT INTO CUSTOMER VALUES (3, 'IBM India')"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – הפעלת שאילתה מותאמת אישית SUM_AggFunc

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT SUM(SALARY) FROM CUSTOMERS"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     [{
    "SUM(SALARY)": 12000.0
    }] 
    

דוגמה – ExecuteCustomQuery AVG_AggFunc

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT AVG(SALARY) FROM CUSTOMERS"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    "AVG(SALARY)": 3000.0
    }] 
    

דוגמה – ExecuteCustomQuery MAX_AggFunc

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT MAX(SALARY) FROM CUSTOMERS"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     [{
    "MAX(SALARY)": 6500.0
    }] 
    

דוגמה – ExecuteCustomQuery MIN_AggFunc

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT MIN(SALARY) FROM CUSTOMERS"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    "MIN_SALARY": 1500.0
    }]
    

דוגמה – הפעלת שאילתה מותאמת אישית COUNT_AggFunc

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT COUNT(*) FROM CUSTOMERS"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    "COUNT(*)": 4.0
    }]
    

דוגמה – ExecuteCustomQuery CreateTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "CREATE TABLE CUSTOMER (ID INT NOT NULL,COMPANY VARCHAR (20))"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – ExecuteCustomQuery AlterTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "ALTER TABLE GCP_HANA_CUSTOM ADD CONSTRAINT test PRIMARY KEY (ID)"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – ExecuteCustomQuery TruncateTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "TRUNCATE TABLE GCP_HANA_RENAME"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – ExecuteCustomQuery DropTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "DROP TABLE GCP_HANA_DROP"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – ExecuteCustomQuery RenameTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "RENAME TABLE GCP_HANA_CUSTOM1 TO GCP_HANA_RENAME"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – ExecuteCustomQuery UpdateTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "UPDATE CUSTOMERS SET ADDRESS = 'Pune' WHERE ID = 3"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – הפעלת שאילתת SELECT_DATA_Table של ExecuteCustomQuery

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "SELECT * FROM CUSTOMERS"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
      "ID": 1.0,
      "NAME": "Ramesh",
      "AGE": 32.0,
      "ADDRESS": "Ahmedabad",
      "SALARY": 2000.0
    }, {
      "ID": 2.0,
      "NAME": "Khilan",
      "AGE": 25.0,
      "ADDRESS": "Delhi",
      "SALARY": 1500.0
    }, {
      "ID": 4.0,
      "NAME": "Chaitali",
      "AGE": 25.0,
      "ADDRESS": "Mumbai",
      "SALARY": 6500.0
    }]
    

דוגמה – הפעלת שאילתה מותאמת אישית DeleteTable

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה ExecuteCustomQuery ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "query": "DELETE FROM CUSTOMERS WHERE ID = 3"
    }
    
  4. אם הפעולה מצליחה, לפרמטר התגובה ExecuteCustomQuery של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{
    }]
    

דוגמה – הוספת מערך JSON למסד נתונים

כדי להוסיף נתונים ממערך JSON לטבלת מסד נתונים של SAP HANA, אפשר להשתמש באחת מהשיטות הבאות:

שימוש באילתא מותאמת אישית עם טבלת JSON

משתמשים בתכונה Execute Custom Query (הפעלת שאילתה בהתאמה אישית) בשילוב עם פונקציה של SAP HANA JSON_TABLE. השיטה הזו משתמשת בשאילתה אחת כדי לנתח מערך JSON ולהוסיף את כל הרשומות בו-זמנית.

כדי לבצע הוספה בכמות גדולה באמצעות שאילתה בהתאמה אישית:

  1. הופכים את נתוני המקור למחרוזת JSON אחת. לדוגמה:
    '[ {"id": 701, "name": "Laptop", "email": "EMAIL_ADDRESS"},{"id": 702, "name": "Keyboard", "email": "EMAIL_ADDRESS"}]'
  2. בוחרים בפעולה Execute Custom Query (הפעלת שאילתה בהתאמה אישית).
  3. משתמשים בהצהרת INSERT שמשתמשת בפונקציה JSON_TABLE כדי לנתח את מחרוזת הקלט. לדוגמה:
    INSERT INTO YOUR_TABLE_NAME (ID, NAME, EMAIL)
    SELECT
        ID,
        NAME,
        EMAIL
    FROM
    JSON_TABLE(?, '$[*]'
        COLUMNS (
            ID INT PATH '$.id',
            NAME NVARCHAR(100) PATH '$.name',
            EMAIL NVARCHAR(100) PATH '$.email'
        )
    ) AS jt;
    
  4. ממפים את משתנה השילוב שמכיל את מחרוזת ה-JSON לפרמטר היחיד של הקישור ?.
  5. מריצים את השאילתה ומוודאים שהפעולה הצליחה.

שימוש במשימה For Each Loop

בשיטה הזו נעשה שימוש ב-Application Integration כדי ליצור לולאה במערך JSON. לכל אובייקט JSON במערך, המערכת קוראת לשילוב משני שמבצע פעולת INSERT אחת. האיטרציה מתרחשת בתוך השילוב עצמו.

  1. עוברים אל Integration ויוצרים משימה מסוג For Each Loop.
  2. מאתרים את השדה List to iterate (רשימה לביצוע איטרציה) ומקצים למשתנה הזה את משתנה מערך ה-JSON של הקלט. הלולאה תבצע עכשיו איטרציה על כל אובייקט במערך הזה.
  3. בקטע Sub-integration details (פרטי שילוב משני), מציינים את Sub-integration name (שם השילוב המשני) ואת API trigger ID (מזהה טריגר ה-API) של השילוב המשני שרוצים להפעיל בכל איטרציה.
  4. בקטע Execution Task, מציינים Sub-integration variable name.
  5. בשילוב המשנה, משתמשים בהפעלת שאילתה בהתאמה אישית או בהגדרת ישות שהוגדרה מראש כדי לבצע את הפעולה INSERT באמצעות הנתונים מאובייקט ה-JSON הנכנס.

שימוש בתהליך מאוחסן

בשיטה הזו נעשה שימוש במסד הנתונים כדי לטפל בלולאות ובהוספה. צריך ליצור ב-SAP HANA פרוצדורה מאוחסנת שיכולה לנתח מערך JSON ולהוסיף את הנתונים, ואז אפשר להשתמש במשימת מחברים ב-Application Integration כדי להפעיל את הפרוצדורה ולהעביר אליה את כל מערך ה-JSON.

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

  1. יוצרים פרוצדורה מאוחסנת במסד הנתונים של SAP HANA שיכולה לנתח מערך JSON ולהוסיף את הנתונים.
          {
            CREATE PROCEDURE "YOUR_SCHEMA"."SP_INSERT_FROM_JSON" (
                IN JSON_STRING CLOB
            )
            LANGUAGE SQLSCRIPT
            SQL SECURITY INVOKER
            DEFAULT SCHEMA "YOUR_SCHEMA"
            AS
            BEGIN
    
                -- Parse JSON string using JSON_TABLE and insert directly into target table
                INSERT INTO "YOUR_SCHEMA"."YOUR_TABLE" (ID, NAME, GRADE)
                SELECT ID, NAME, GRADE
                FROM JSON_TABLE(:JSON_STRING, '$[*]'
                    COLUMNS (
                        ID   INT PATH '$.ID',
                        NAME NVARCHAR(100) PATH '$.NAME',
                        GRADE FLOAT PATH '$.GRADE'
                    )
                );
    
            END;
            }
        
  2. משתמשים במשימה Connectors ב-Application Integration כדי לקרוא לפרוצדורה ולהעביר אליה את מערך ה-JSON כולו. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  3. בוחרים את ההליך שנוצר ולוחצים על סיום.
  4. בקטע Task Input (קלט משימה) של משימת Connectors (מחברים), לוחצים על connectorInputPayload (מטען ייעודי של קלט המחבר) ואז מזינים ערך נתונים בפורמט JSON שדומה לזה בשדה Default Value:
          [
            { "ID": 1, "NAME": "Alice", "GRADE": 11.11 },
            { "ID": 2, "NAME": "Bob", "GRADE": 22.22 }
          ]
        
  5. אם הפעולה תצליח, הנתונים יוכנסו למסד הנתונים עם קוד התגובה 200.

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

בקטע הזה מוסבר איך לבצע חלק מהפעולות על ישויות במחבר הזה.

דוגמה – רשימת כל העובדים

בדוגמה הזו מוצגת רשימה של כל העובדים בישות Employee.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Employee מהרשימה Entity.
  3. בוחרים את הפעולה List ולוחצים על סיום.
  4. אופציונלי: בקטע Task Input (קלט משימה) במשימה Connectors (מחברים), אפשר לסנן את קבוצת התוצאות על ידי ציון filter clause (סעיף מסנן). תמיד מציינים את הערך של סעיף הסינון בתוך גרשיים בודדים ('). לדוגמה, City='Bangalore'. אפשר גם לציין כמה תנאי סינון באמצעות אופרטורים לוגיים. לדוגמה, City='Bangalore' and region='asia-south2'.

דוגמה – קבלת רשומה

בדוגמה הזו מאחזרים רשומה עם המזהה שצוין מהישות Employee.

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

    כאן, 12294 הוא ערך של מפתח ראשי בישות Employee.

דוגמה – יצירת רשומה ב-Hana_unicode

בדוגמה הזו נוצרת רשומה בישות Hana_unicode.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Hana_unicode מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "ID": 2.0,
    "UNICODEDATA": "Unicode データ型はグローバル化されたデータの保存に使用されます",
    "TEST": "Test7"
    }

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

    {
    "ID": 2.0,
    "UNICODEDATA": "Unicode データ型はグローバル化されたデータの保存に使用されます",
    "TEST": "Test7"
    }

דוגמה – יצירת רשומה ב-Languages

בדוגמה הזו נוצרת רשומה בישות Languages.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות Languages מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "ID": 5,
    "ARABICTEXT": "مرحبا",
    "GERMANTEXT": "Günther",
    "HINDITEXT": "नमस्ते",
    "ENGLISHTEST": "Test1"
    }

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

    {
    "ID": 5.0,
    "ARABICTEXT": "مرحبا",
    "GERMANTEXT": "Günther",
    "HINDITEXT": "नमस्ते",
    "ENGLISHTEST": "Test1"
    }

דוגמה – עדכון רשומה

בדוגמה הזו מעדכנים רשומה בישות Employee.

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

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

    {
    "SALARY": 9000.0
    }

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

בדוגמה הזו נמחק הרשומה עם המזהה שצוין בישות Employee.

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

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

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

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

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

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

שם הפרמטר סוג נתונים חובה תיאור
מסד נתונים מחרוזת לא נכון השם של מסד הנתונים SAP HANA.
browsable_schemas מחרוזת לא נכון המאפיין הזה מגביל את הסכימות שמדווחות לקבוצת משנה של הסכימות הזמינות. לדוגמה, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
include_system_objects בוליאני לא נכון מגדירים את IncludeSystemObjects ל-True כדי לאחזר את הסכימה והטבלאות של מערכת Hana.
include_table_types בוליאני לא נכון אם המדיניות מוגדרת כ-true, הספק ידווח על הסוגים של טבלאות ותצוגות נפרדות.
session_variables מחרוזת לא נכון רשימה מופרדת בפסיקים של משתני סשן להגדרה בחיבור הנוכחי.
enable_logging ENUM לא נכון הגדרה שמאפשרת להגדיר את רמת הפירוט של הרישום ביומן במהלך חיבור, על ידי בחירת רמה בין 1 (הכי פחות מפורט) ל-5 (הכי מפורט). התכונה הזו יכולה לעזור לפתור בעיות שקשורות להודעות שגיאה או להתנהגות לא צפויה אחרת. עם זאת, חשוב לדעת שהאפשרות הזו תתעד את כל פרטי התקשורת, כולל בקשות, תגובות ואישורי SSL, בין המחבר לבין העורף. לכן לא מומלץ להשתמש בפונקציה הזו בסביבת ייצור פעילה. הערכים הנתמכים הם: 1, ‏ 2, ‏ 3, ‏ 4, ‏ 5

שימוש בחיבור SAP Hana בשילוב

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

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

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

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

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