הפעלה של SAP Gateway
הטריגר SAP Gateway הוא טריגר של אירוע מחבר. מחבר SAP Gateway מאפשר לבצע פעולות של הוספה, מחיקה, עדכון וקריאה של נתונים ב-SAP Gateway.
לפני שמתחילים
- אם אתם מתכננים ליצור או להגדיר חיבור חדש לטריגר SAP Gateway, ודאו שיש לכם את תפקיד ה-IAM הבא בפרויקט:
- אדמין של מחבר (
roles/connectors.admin)
מידע על הקצאת תפקידים מופיע במאמר ניהול הגישה.
- אדמין של מחבר (
- מקצים לחשבון השירות שרוצים להשתמש בו בשביל הטריגר של SAP Gateway את תפקידי ה-IAM הבאים:
- Application Integration Invoker (
roles/integrations.integrationInvoker)
במאמר ניהול הגישה לחשבונות שירות מוסבר איך נותנים לחשבון שירות תפקיד.
- Application Integration Invoker (
- נכנסים לדף Application Integration במסוף Google Cloud .
- בתפריט הניווט, לוחצים על Integrations (שילובים).
מוצגת רשימה של כל השילובים שזמינים בפרויקט Google Cloud בדף Integrations List.
- בוחרים שילוב קיים או לוחצים על יצירת שילוב כדי ליצור שילוב חדש.
אם יוצרים שילוב חדש:
- מזינים שם ותיאור בחלונית יצירת שילוב.
- בוחרים אזור לשילוב.
- בוחרים חשבון שירות לאינטגרציה. אפשר לשנות או לעדכן את פרטי חשבון השירות של שילוב בכל שלב מחלונית סיכום השילוב בסרגל הכלים של השילוב.
- לוחצים על יצירה.
השילוב החדש שנוצר ייפתח בכלי השילובים.
- בסרגל הניווט של כלי העריכה של השילוב, לוחצים על טריגרים כדי לראות את רשימת הטריגרים הזמינים.
- לוחצים על הרכיב SAP Gateway trigger (טריגר של SAP Gateway) וממקמים אותו בכלי לעריכת שילובים.
- לוחצים על הרכיב SAP Gateway trigger (טריגר של SAP Gateway) בכלי לעריכת שילובים כדי לפתוח את חלונית הגדרת הטריגר.
- לוחצים על Configure trigger (הגדרת הטריגר).
- בדף Connector Event Trigger Editor (עורך טריגרים של אירועים של מחבר), מזינים את פרטי ההגדרה הבאים:
- אזור: בוחרים את האזור של חיבור SAP Gateway.
- חיבור: בוחרים את חיבור SAP Gateway שרוצים להשתמש בו.
ב-Application Integration מוצגים רק חיבורים ל-SAP Gateway שהם פעילים ושהופעל בהם מינוי לאירועים.
- מזינים את שם השדה של סוג האירוע. בשדה הזה מצוין סוג האירוע
שמשויך לבקשת האירוע הנכנסת.
{ "event_type": "user.created", ... // other request fields ... }
- חשבון שירות: בוחרים חשבון שירות עם תפקידי ה-IAM הנדרשים להפעלת הטריגר של SAP Gateway.
- לוחצים על סיום כדי להשלים את הגדרת הטריגר ולסגור את הדף.
- לוחצים על הרכיב SAP Gateway trigger (טריגר של SAP Gateway) בכלי לעריכת שילובים כדי לפתוח את חלונית הגדרת הטריגר.
- לוחצים על Configure trigger (הגדרת הטריגר).
- מדלגים על השדה אזור.
- לוחצים על Connection (חיבור) ובוחרים באפשרות Create Connection (יצירת חיבור) מהתפריט הנפתח.
- בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
- מחבר: בוחרים באפשרות SAP Gateway מהרשימה הנפתחת של המחברים הזמינים.
- גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
- בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.
השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:
- שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
- האותיות צריכות להיות קטנות.
- שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
- שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
- במחברים שתומכים בהרשמה לאירועים, שמות החיבורים לא יכולים להתחיל בקידומת goog.
- אופציונלי: מזינים תיאור למופע החיבור.
- חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
- כדי להשתמש בחיבור למינויים לאירועים, בוחרים באפשרות הפעלת מינוי לאירועים. אם בוחרים באפשרות הזו, מוצגות האפשרויות הבאות:
- הפעלת הרשמה לאירועים עם ישות ופעולות: בוחרים באפשרות הזו כדי להשתמש בחיבור גם להרשמה לאירועים וגם לפעולות של מחבר (יחידות ופעולות).
- הפעלה של מינוי לאירועים בלבד: בוחרים באפשרות הזו כדי להשתמש בחיבור רק למינוי לאירועים. אם בוחרים באפשרות הזו, לוחצים על הבא ואז מגדירים מינוי לאירועים.
- מרחב שמות: מציינים את מרחב השמות של השירות שממנו רוצים לאחזר נתונים. המאפיין הזה נדרש אם השירות לא מצוין בכתובת ה-URL.
- שירות: מציינים את השירות שממנו רוצים לאחזר נתונים. המאפיין הזה נדרש אם השירות לא מצוין בכתובת ה-URL.
- CustomUrlParams: מציינים פרמטרים מותאמים אישית של מחרוזת שאילתה שנכללים בבקשת ה-HTTP. צריך לקודד את הפרמטרים כמחרוזת שאילתה בפורמט הבא:
field1=value1&field2=value2. הערכים במחרוזת השאילתה חייבים להיות מקודדים בכתובת ה-URL. - פורמט נתונים: פורמט הנתונים שרוצים לאחזר. בוחרים XML או JSON.
- שימוש בשמות לתצוגה: ערך בוליאני שקובע אם להשתמש בתוויות של SAP.
- אופציונלי: מגדירים את ההגדרות של צומת החיבור:
- מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
- מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.
צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.
- אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
- לוחצים על הבא.
- בקטע יעדים, מגדירים את כתובת ה-URL של סביבת SAP Gateway או את כתובת ה-URL המלאה של שירות OData. לדוגמה, הפורמט הוא
${ENVIRONMENT_URL}/sap/opu/odata/${NAMESPACE}/${SERVICE}/וכתובת ה-URL לדוגמה היאhttps://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/. מוסיפים מאפיינים נוספים באמצעות המאפיין CustomUrlParams.- סוג היעד: בוחרים סוג יעד.
- כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
- כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.
אם רוצים ליצור חיבור ציבורי למערכות העורפיות עם אבטחה נוספת, אפשר להגדיר כתובות IP סטטיות יוצאות לחיבורים, ואז להגדיר את כללי חומת האש כך שרק כתובות ה-IP הסטטיות הספציפיות יופיעו ברשימת ההיתרים.
כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.
- לוחצים על הבא.
- סוג היעד: בוחרים סוג יעד.
-
בקטע אימות, מזינים את פרטי האימות.
- בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.
סוגי האימות הבאים נתמכים בחיבור SAP Gateway:
- שם משתמש וסיסמה
- אנונימי
- תהליך קוד הרשאה OAuth 2.0
- SAP BTP (OAuth 2.0 – פרטי כניסה של לקוח)
- לוחצים על הבא.
כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.
- בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.
- בדיקה: בודקים את פרטי החיבור והאימות.
- לוחצים על יצירה.
-
שם משתמש וסיסמה
- שם משתמש: שם המשתמש של המחבר
- סיסמה: סוד ב-Secret Manager שמכיל את הסיסמה שמשויכת למחבר.
-
אנונימי
אם רוצים להשתמש בכניסה אנונימית, בוחרים באפשרות לא זמין.
- מפתח API: מפתח ה-API של המשתמש שאומת כרגע.
-
תהליך קוד הרשאה של OAuth 2.0
- Client ID: מזינים את מזהה הלקוח שהתקבל מדף לקוח ה-API.
- היקפים: מזינים רשימה מופרדת בפסיקים של ההיקפים הרצויים.
- סוד לקוח: מזינים את סוד הלקוח שהתקבל מדף לקוח ה-API.
- Secret version (גרסת סוד): מזינים את גרסת הסוד של Client Secret (סוד לקוח) שנבחר.
- כתובת URL לאישור: מזינים את כתובת ה-URL לאישור שנוצרה כשיוצרים לקוח OAuth במופע SAP Gateway.
- הפעלת ביטול של אימות: בוחרים באפשרות הזו כדי לאפשר לחיבור לקבל אימות שונה באופן דינמי במהלך זמן הריצה.
-
SAP BTP (OAuth 2.0 – פרטי כניסה של לקוח)
- Client ID: מזינים את מזהה הלקוח שהתקבל מדף לקוח ה-API.
- סוד לקוח: מזינים את סוד הלקוח שהתקבל מדף לקוח ה-API.
- גרסה של סוד: מזינים את הגרסה של הסוד שנבחר למעלה.
- OAuthAccessTokenURL: מזינים את כתובת ה-URL של אסימון הגישה ל-OAuth.
- שם היעד: מזינים את השם של היעד ב-SAP BTP.
- כתובת היעד: מזינים את כתובת היעד של SAP BTP.
- הפעלת עקיפת אימות: בוחרים באפשרות הזו כדי לאפשר לחיבור לקבל אימות שונה באופן דינמי במהלך זמן הריצה.
- בוחרים אחד מסוגי האימות הבאים עבור רכיב event listener.
- אימות של Google. אם מפעילים את האפשרות הזו, צריך לפעול לפי השלבים במאמר אימות באמצעות אסימוני אינטרנט מסוג JSON כדי להגדיר את האימות עבור ABAP SDK. בנוסף, חשוב לוודא שלחשבון השירות יש את התפקיד roles/connectors.listener שאסימון הגישה שלו משמש לאימות.
- אימות באמצעות מפתח API. אם בוחרים באפשרות הזו, צריך ליצור מפתח API ואז לשמור אותו כסוד ב-Secret Manager. מידע נוסף מופיע במאמר יצירת מפתח API.
- מזינים את שם השדה של סוג האירוע. בשדה הזה מצוין סוג האירוע שמשויך לבקשת האירוע הנכנסת.
{ "event_type": "user.created", ... // other request fields ... }
- בוחרים באפשרות הפעלת קישוריות פרטית כדי ליצור קישוריות מאובטחת בין אפליקציית הקצה העורפי לבין החיבור. אם בוחרים באפשרות הזו, צריך לבצע שלבי הגדרה נוספים אחרי יצירת הקישור. מידע נוסף זמין במאמר בנושא קישוריות פרטית למינוי לאירועים.
- מזינים את ההגדרה של תור ההודעות המתות. אם מגדירים תיבת דואר להודעות שלא נמסרו, החיבור כותב את האירועים שלא עברו עיבוד אל נושא Pub/Sub שצוין. ממלאים את הפרטים הבאים:
- מזהה פרויקט של הודעות שלא ניתן למסור: מזהה הפרויקט ב-Google Cloud שבו הגדרתם את נושא ה-Pub/Sub של הודעות שלא ניתן למסור.
- נושא להודעות ללא מוצא: נושא Pub/Sub שבו רוצים לכתוב את הפרטים של האירוע שלא עבר עיבוד.
הוספת הטריגר SAP Gateway
כדי להוסיף טריגר של SAP Gateway לשילוב, מבצעים את השלבים הבאים:
כדי להגדיר את הטריגר של SAP Gateway, אפשר להשתמש בחיבור קיים של SAP Gateway שזמין ב-Integration Connectors, או ליצור חיבור חדש של SAP Gateway באמצעות האפשרות ליצירת חיבור מוטבע.
הגדרת טריגר של SAP Gateway באמצעות חיבור קיים
הטריגר SAP Gateway הוא טריגר של אירוע מחבר, ולכן אפשר להשתמש בחיבור SAP Gateway רק אם מופעלת בו הרשמה לאירועים כדי להגדיר את הטריגר.
מידע על הגדרת טריגר SAP Gateway באמצעות חיבור חדש ל-SAP Gateway זמין במאמר הגדרת טריגר SAP Gateway באמצעות חיבור חדש
כדי להגדיר טריגר של SAP Gateway באמצעות חיבור קיים ל-SAP Gateway, מבצעים את השלבים הבאים:
הגדרה של טריגר SAP Gateway באמצעות חיבור חדש
הגדרת אימות
מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.
הגדרת מינוי לאירועים
אם הפעלתם את המינוי לאירועים, מזינים את הערכים הבאים בקטע פרטי המינוי לאירועים:
הגדרת אימות ב-SAP
מגדירים את האימות ב-SAP לפי ההוראות במדריך סקירה כללית על אימות למהדורה מקומית או למהדורה בענן של ABAP SDK for Google Cloud.
אימות הטריגר
כדי לאמת את הטריגר, אפשר ליצור תוכנית ABAP. הדוגמה הבאה היא של תוכנית ABAP שאפשר להשתמש בה כהפניה. השדה ls_event_payload משתנה בהתאם לדרישות שלכם:
*&---------------------------------------------------------------------* *& Report ZR_TEST_INT_CONNECTOR *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT zr_test_int_connector. PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X', p_apik TYPE char1 RADIOBUTTON GROUP rbg1. DATA: lv_p_projects_id TYPE string, lv_p_locations_id TYPE string, lv_p_connections_id TYPE string, ls_input TYPE /goog/cl_connectors_v1=>ty_103. TYPES: BEGIN OF event_payload, event_type TYPE string, event_id TYPE string, name TYPE string, org_id TYPE string, END OF event_payload. DATA: ls_event_payload TYPE event_payload. ls_event_payload = VALUE #( event_type = 'create-entity' event_id = '1' name = 'demo-org' org_id = 'SAP' ). TRY. IF p_Auth = abap_true. DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'. lv_p_connections_id = 'conn-event-triggers-from-sap-gateway'. ELSE. lv_client_key = 'IC_DEMO_GOOGLE_APIK'. lv_p_connections_id = 'conn-event-triggers-from-sap-gateway-apik'. ENDIF. * Open HTTP Connection DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ). * Populate relevant parameters lv_p_projects_id = lo_client->gv_project_id. lv_p_locations_id = 'us-central1'. GET REFERENCE OF ls_event_payload INTO ls_input-payload . * Call API method: connectors.projects.locations.connections.listenEvent CALL METHOD lo_client->listen_event_connections EXPORTING iv_p_projects_id = lv_p_projects_id iv_p_locations_id = lv_p_locations_id iv_p_connections_id = lv_p_connections_id is_input = ls_input IMPORTING * es_raw = es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) es_err_resp = DATA(ls_err_resp). IF lo_client->is_success( lv_ret_code ). MESSAGE 'Success' TYPE 'S'. ELSE. MESSAGE lv_err_text TYPE 'E'. ENDIF. * Close HTTP Connection lo_client->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). MESSAGE lo_exception->get_text( ) TYPE 'E'. ENDTRY.
מכסות ומגבלות
מידע על מכסות ומגבלות זמין במאמר מכסות ומגבלות.