1. מבוא
בשיעור ה-Codelab הזה מבצעים את השלבים להגדרת אימות לצורך גישה לממשקי ה-API של Google Cloud באמצעות אסימונים כשמערכת SAP מתארחת במכונה וירטואלית של Compute Engine.
רשימת השירותים שבהם נעשה שימוש:
- Compute Engine
- שירותי רשת
- Cloud Shell
מה תפַתחו
הפעולה הזו תבצע את הפעולות הבאות:
- הגדרת ABAP SDK שמותקן במערכת SAP להתחברות ל-Google APIs.
- אפשר ליצור תוכנית דוחות לדוגמה כדי להפעיל את Address Validation API.
2. דרישות
- דפדפן כמו Chrome או Firefox.
- פרויקט ב-Google Cloud שהחיוב בו מופעל, או יצירת חשבון לתקופת ניסיון בחינם למשך 90 יום ל-Google Cloud Platform.
- SAP GUI (Windows או Java) מותקן במערכת. אם SAP GUI כבר מותקן במערכת שלך, מתחברים ל-SAP באמצעות כתובת ה-IP החיצונית של VM בתור כתובת ה-IP של שרת האפליקציות. אם אתם משתמשים ב-Mac, תוכלו גם להתקין את SAP GUI ל-Java שזמין בקישור הזה.
3. לפני שמתחילים
- במסוף Google Cloud, בדף בורר הפרויקטים, בוחרים או יוצרים פרויקט ב-Google Cloud (לדוגמה,
abap-sdk-poc).
- הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. איך בודקים אם החיוב מופעל בפרויקט אפשר לדלג על השלב הזה אם משתמשים בחשבון לתקופת ניסיון בחינם למשך 90 יום.
- תשתמשו ב-Cloud Shell, סביבת שורת הפקודה שפועלת ב-Google Cloud. לוחצים על Activate Cloud Shell בפינה הימנית העליונה ב-Cloud Console:
- חשוב לוודא שכל ממשקי ה-API הנדרשים (IAM Service Account Credentials API ו-Address Validation API) מופעלים.
- מריצים את הפקודות הבאות כדי לאמת את החשבון ולהגדיר את פרויקט ברירת המחדל כ-
abap-sdk-poc
. התחוםus-west4-b
משמש כדוגמה. במקרה הצורך, אפשר לשנות את הפרויקט והאזור בפקודות שבהמשך בהתאם להעדפות שלך.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b
- מוודאים שיש גישה למערכת SAP עם התקנה של ABAP SDK ל-Google Cloud.
- אפשר להיעזר ב-Codelab " התקנת תקופת ניסיון של פלטפורמת ABAP לשנת 2022 ב-Google Cloud Platform והתקנת ABAP SDK" כדי להגדיר מערכת חדשה.
4. יצירת חשבון שירות והגדרת התפקיד 'יצירת אסימונים בחשבון שירות'
כדי ליצור חשבון שירות עם התפקיד הנדרש, מבצעים את השלבים הבאים:
- מריצים את הפקודה הבאה כדי ליצור חשבון שירות: (אם כבר קיים חשבון שירות, צריך לדלג על השלב הזה)
gcloud iam service-accounts create abap-sdk-dev \
--description="ABAP SDK Dev Account" \
--display-name="ABAP SDK Dev Account"
- מריצים את הפקודה הבאה כדי להגדיר את התפקיד יצירת אסימונים בחשבון שירות:
gcloud projects add-iam-policy-binding $PROJECT_NAME \
--member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
--role=roles/iam.serviceAccountTokenCreator
5. הגדרת מפתח לקוח
מתחברים למערכת SAP עם שם המשתמש DEVELOPER
והסיסמה Htods70334
ופועלים לפי השלבים הבאים כדי להגדיר את מפתח הלקוח:
- ב-SAP GUI, מזינים את קוד העסקה SPRO.
- לוחצים על SAP Reference JPG.
- לוחצים על ABAP SDK for Google Cloud > הגדרות בסיסיות > הגדרת מפתח לקוח
- לוחצים על רשומות חדשות.
- צריך להזין ערכים בשדות הבאים:
שדה | תיאור |
שם המפתח ב-Google Cloud | ABAP_SDK_DEMO |
שם חשבון השירות ב-Google Cloud | abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com |
היקף ההרשאות של Google Cloud | https://www.googleapis.com/auth/cloud-platform |
מזהה הפרויקט ב-Google Cloud | abap-sdk-poc |
רמת הרשאה | /GOOG/CL_AUTH_GOOGLE. |
משאירים את שאר השדות ריקים
6. יצירת יעד RFC
יצירת יעד RFC עבור ממשק ה-API של פרטי כניסה ואימות כתובת ב-IAM.
שם יעד RFC | מארח היעד (נקודת קצה ל-API) | הערות |
ZGOOG_IAMCREDENTIALS | Host (מארח): iamcredentials.googleapis.comPath: Prefix: /v1/Port: 443SSL: פעיל | יעד ה-RFC הזה מטרגט ל-API של IAM. |
ZGOOG_ADDRESSVALIDATION_V1 | Host (מארח): address verification.googleapis.comPort (יציאה): 443SSL: Active | יעד ה-RFC הזה משתמש בממשק ה-API לאימות כתובת |
- בכרטיסייה הגדרות טכניות, מזינים את הפרטים הבאים עבור היעד ZGOOG_IAMCREDENTIALS.
- בכרטיסייה הגדרות טכניות, מזינים את הפרטים הבאים עבור היעד ZGOOG_ADDRESSווהATION_V1.
- בשדה אישור SSL, צריך לוודא שהאפשרות DEFAULT SSL (Standard) מסומנת בשני יעדי ה-RFC.
7. הגדרה של מיפוי שירותים
כדי להגדיר את טבלת מיפוי השירותים עבור IAM API ו- Address Validation API, מבצעים את השלבים הבאים:
- ב-SAP GUI, מזינים את קוד העסקה SPRO.
- לוחצים על SAP Reference JPG.
- לוחצים על ABAP SDK for Google Cloud > הגדרות בסיסיות > הגדרת מיפוי שירותים.
- לוחצים על רשומות חדשות בממשק ה-API לאימות של פרטי כניסה וכתובת ב-IAM שמקושר ליעדי ה-RFC.
8. אימות ההגדרות האישיות
כדי לבדוק את הגדרות האימות, מבצעים את השלבים הבאים:
- ב-SAP GUI, מזינים את קוד העסקה SPRO.
- לוחצים על SAP Reference JPG.
- לוחצים על ABAP SDK for Google Cloud > כלי ניהול > מאמתים את הגדרות האימות.
- צריך להזין את שם מפתח הלקוח בתור
ABAP_SDK_DEMO
. - לוחצים על Execute כדי לבדוק אם התהליך הכולל הוגדר בהצלחה.
- סימן וי ירוק בעמודה 'תוצאות' מציין שכל שלבי ההגדרה הושלמו בהצלחה.
9. יצירת תוכנית דיווח כדי להפעיל את השירות לאימות כתובת
- מתחברים למערכת SAP.
- עוברים אל קוד העסקה SE38 ויוצרים תוכנית דיווח בשם ZDEMO_ADDRESS_INVALIDATION.
- בחלון הקופץ שנפתח, מזינים את הפרטים כפי שמוצג למטה ולוחצים על שמירה.
- בחלון הקופץ הבא, בוחרים באפשרות אובייקט מקומי או מספקים שם חבילה מתאים.
- בעורך ABAP מוסיפים את הקוד הבא:
" data declarations
DATA lv_ret_code TYPE i.
DATA lv_err_text TYPE string.
DATA ls_input TYPE /goog/cl_addrvaldn_v1=>ty_012.
DATA ls_output TYPE /goog/cl_addrvaldn_v1=>ty_013.
DATA ls_err_resp TYPE /goog/err_resp.
DATA lo_exception TYPE REF TO /goog/cx_sdk.
DATA lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.
" instantiate api client stub
TRY.
lo_address_validator = NEW #( iv_key_name = 'ABAP_SDK_DEV' ).
" Pass the address to be validated and corrected.
" Mountain misspelled as Moutain
" Amphitheatre misspelled as Amphithetre
ls_input-address-region_code = 'US'.
ls_input-address-locality = 'Moutain View'.
APPEND '1600, Amphithetre, Parkway' TO ls_input-address-address_lines.
" call the api method to validate address
lo_address_validator->validate_address( EXPORTING is_input = ls_input
IMPORTING es_output = ls_output
ev_ret_code = lv_ret_code
ev_err_text = lv_err_text
es_err_resp = ls_err_resp ).
IF lo_address_validator->is_success( lv_ret_code ) = abap_true
AND ls_output-result-verdict-address_complete = abap_true.
cl_demo_output=>new(
)->begin_section( `Original Address`
)->write_data( ls_input-address-region_code
)->write_data( ls_input-address-locality
)->write_data( ls_input-address-address_lines
)->next_section( `Validated & Corrected Address`
)->begin_section( `Elementary Object`
)->write_data( ls_output-result-address-formatted_address
)->display( ).
ENDIF.
CATCH /goog/cx_sdk INTO lo_exception.
" write code here to handle exceptions
cl_demo_output=>display( lo_exception->get_text( ) ).
ENDTRY.
- שומרים את הדוח ומפעילים אותו.
- הרצת הדוח (F8).
לאחר ביצוע מוצלח, פלט הדוח אמור להופיע באופן הבא:
10. מזל טוב
מעולה! הגדרת בהצלחה את ABAP SDK להפעיל את שירות אימות הכתובת.
עכשיו תוכלו להתחיל לעבוד עם מעבדות הקוד של ABAP SDK האחרות כדי להמשיך בתהליך הלמידה של השימוש ב-ABAP SDK ל-Google Cloud ולקבל גישה לשירותים שונים של Google Cloud.
11. הסרת המשאבים
לא רוצה להמשיך עם ה-Codelabs הנוספים שקשורים ל-ABAP SDK ל-Google Cloud? אפשר להמשיך בניקוי.
מחיקת הפרויקט
- מוחקים את הפרויקט ב-Google Cloud:
gcloud projects delete abap-sdk-poc
איך מוחקים משאבים ספציפיים
- כדי למחוק את הרשומות של תצורת מפתח הלקוח, נכנסים אל JPG > Google Cloud > הגדרות בסיסיות > הגדרת מפתח לקוח.
- כדי למחוק את רשומות התצורה של מיפוי השירות, נכנסים אל JPG > Google Cloud > הגדרות בסיסיות > הגדרת מפתח לקוח.
- מוחקים את יעדי RFC ZGOOG_IAMCREDENTIALS ו-ZGOOG_ADDRESS כספיםATION_V1.
- מוחקים את חשבון השירות:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com