1. מבוא
בקודלאב הזה מוסבר איך לקרוא לשיטות של Translation API V3 (מתקדם) באמצעות ABAP SDK ל-Google Cloud. בסדנת הקוד הזו תלמדו איך לתרגם טקסט, לזהות את השפה של הטקסט ולפרט את השפות הנתמכות באמצעות Translation API V3.
בקודלאב הזה נעשה שימוש בשירותי Google Cloud הבאים:
- Compute Engine
- שירותי רשת
- Cloud Shell
- Cloud Translation API V3
דרישות מוקדמות
- עליכם לוודא שיש לכם גישה למערכת SAP עם ABAP SDK ל-Google Cloud מותקן.
- אפשר להיעזר בקודלאב התקנת גרסת הניסיון של ABAP Platform ב-Google Cloud Platform והתקנת ABAP SDK כדי להגדיר מערכת חדשה.
מה תפַתחו
יוצרים את התוכניות הבאות במערכת SAP באמצעות ABAP SDK for Google Cloud:
- תרגום טקסט לכמה שפות באמצעות Cloud Translation API V3 של Google
- זיהוי השפה של טקסט המקור באמצעות Google Cloud Translation API V3
- רשימת השפות הנתמכות ב-Google Cloud Translation API V3
2. דרישות
- דפדפן, כמו Chrome או Firefox.
- פרויקט ב-Google Cloud שבו החיוב מופעל, או יצירת חשבון לתקופת ניסיון בחינם של 90 יום ב-Google Cloud Platform.
- SAP GUI (Windows או Java) מותקן במערכת. אם SAP GUI כבר מותקן במחשב, מתחברים ל-SAP באמצעות כתובת ה-IP החיצונית של ה-VM ככתובת ה-IP של שרת האפליקציות. אם אתם משתמשים ב-Mac, תוכלו גם להתקין את SAP GUI for Java שזמין בקישור הזה.
3. לפני שמתחילים
- עליכם לוודא שיש לכם גישה למערכת SAP עם ABAP SDK ל-Google Cloud מותקן.
- אפשר להיעזר בקודלאב התקנת גרסת הניסיון של ABAP Platform ב-Google Cloud Platform והתקנת ABAP SDK כדי להגדיר מערכת חדשה.
- במסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud (לדוגמה:
abap-sdk-poc).
- הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט אם אתם משתמשים בחשבון לתקופת ניסיון בחינם של 90 יום, אפשר לדלג על השלב הזה.
- תשתמשו ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud. במסוף Cloud, לוחצים על Activate Cloud Shell בפינה הימנית העליונה:
- מריצים את הפקודות הבאות כדי לבצע אימות לחשבון ולהגדיר את פרויקט ברירת המחדל כ-
abap-sdk-poc
. הדוגמה היא לתחוםus-west4-b
. אם צריך, משנים את הפרויקט ואת האזור בפקודות הבאות בהתאם להעדפות שלכם.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
- צריכה להיות לכם גישה למערכת SAP עם ערכת ה-SDK של ABAP ל-Google Cloud.
- לפני שממשיכים בקודלאב הזה, צריך להשלים את הקודלאב 1 (התקנת ABAP Platform Trial 1909 ב-Google Cloud Platform והתקנת ABAP SDK ל-Google Cloud) ואת הקודלאב 2 (הגדרת אימות ABAP SDK באמצעות אסימונים ל-SAP Hosted ב-Compute Engine VM).
- אם השלמתם את Codelab 1 ואת Codelab 2, המערכת של ABAP Platform Trial 1909 ב-Google Cloud הוקצה לכם, יחד עם ההגדרות הנדרשות לאימות ולקישוריות.
- אם לא השלמתם את הקודלאב 1 ואת הקודלאב 2, לא תהיה לכם את כל התשתית והקישוריות הנדרשים כדי לבצע את השלבים שמפורטים בקודלאב הזה. לכן, עליכם להשלים את Codelab 1 ואת Codelab 2 לפני שתמשיכו ב-Codelab הזה.
4. הפעלת Cloud Translation API V3 בפרויקט ב-Google Cloud
- מריצים את הפקודה הבאה ב-Cloud Shell כדי להפעיל את Cloud Translation API בפרויקט ב-Google Cloud:
gcloud services enable translate.googleapis.com
אם הפעולה בוצעה בהצלחה, אמורה להופיע הודעה כמו זו שבהמשך:
עכשיו Cloud Translation API אמור לפעול בפרויקט שלכם ב-Google Cloud.
5. יצירת חשבון שירות עם התפקיד 'משתמש ב-Cloud Translation'
כדי ליצור חשבון שירות עם התפקיד הנדרש, מבצעים את השלבים הבאים:
- מריצים את הפקודה הבאה במסוף Cloud Shell:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
- עכשיו מוסיפים את התפקידים הנדרשים לחשבון השירות שנוצר בשלב הקודם
gcloud projects add-iam-policy-binding abap-sdk-poc\
--member='serviceAccount:abap-sdk-translation-tester@abap-sdk-poc.iam.gserviceaccount.com' \
--role='roles/cloudtranslate.user'
בפקודה שלמעלה, השם abap-sdk-poc משמש בתור שם התבנית של פרויקט Google Cloud. מחליפים אותו במזהה הפרויקט.
- כדי לוודא שהתפקיד נוסף, עוברים לדף IAM. חשבון השירות שיצרתם אמור להופיע יחד עם התפקיד שהוקצה לו, כפי שמוצג בהמשך:
6. יצירת הגדרת מפתח לקוח
עכשיו, אחרי שהגדרת את הדרישות המוקדמות בצד של Google Cloud, נוכל להמשיך בהגדרה בצד של SAP.
להגדרות שקשורות לאימות ולקישוריות, ערכת ה-SDK של ABAP ל-Google Cloud משתמשת בטבלה /GOOG/CLIENT_KEY
כדי לשמור את ההגדרות בטבלה /GOOG/CLIENT_KEY
:
- בממשק המשתמש של SAP, מזינים את קוד העסקה
SPRO
. - לוחצים על SAP Reference IMG.
- לוחצים על ABAP SDK for Google Cloud > Basic Settings > Configure Client Key.
- שומרים את הערכים הבאים בשדות:
שדה | ערך |
שם המפתח ב-Google Cloud | TEST_TRANSLATION |
שם חשבון השירות ב-Google Cloud |
|
היקף Google Cloud |
|
מזהה פרויקט | abap-sdk-poc |
Authorization Class |
|
משאירים את כל שאר השדות ריקים.
7. יצירת דוח Z כדי לקרוא ל-Cloud Translation API V3 ולתרגם טקסט
- מתחברים למערכת SAP.
- עוברים לקוד העסקה
SE38
ויוצרים תוכנית דוחות בשםZDEMO_TRANSLATE_TEXT.
. - בחלון הקופץ שנפתח, מזינים את הפרטים כפי שמתואר בהמשך ולוחצים על שמירה.
בחלון הקופץ הבא, בוחרים באפשרות Local Object (אובייקט מקומי) או Provide a package name (ציון שם חבילה) לפי הצורך.
- בעורך ABAP, מוסיפים את הקוד הבא:
DATA lo_translate TYPE REF TO /goog/cl_translation_v3.
DATA ls_input TYPE /goog/cl_translation_v3=>ty_050.
TRY.
lo_translate = NEW #( iv_key_name = 'TEST_TRANSLATION').
ls_input = VALUE #( mime_type = 'text/plain'
source_language_code = 'en-US'
target_language_code = 'es-ES'
contents = VALUE #( ( |Sun is our nearest star| ) ) ).
lo_translate->translate_text_projects(
EXPORTING
iv_p_projects_id = CONV #( lo_translate->gv_project_id )
is_input = ls_input
IMPORTING
es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text)
es_err_resp = DATA(lv_err_resp)
).
IF lo_translate->is_success( lv_ret_code ) = abap_true.
cl_demo_output=>new(
)->begin_section( 'API Call Successful:'
)->write_text( 'Translated Text:'
)->write_data( ls_output-translations[ 1 ]-translated_text
)->display( ).
ELSE.
cl_demo_output=>new(
)->begin_section( 'API Call Unsuccessful:'
)->write_text( 'Error Message:'
)->write_text( lv_err_text
)->display( ).
ENDIF.
CATCH /goog/cx_sdk INTO DATA(lo_sdk_excp).
DATA(lv_error) = lo_sdk_excp->get_text( ).
cl_demo_output=>new(
)->begin_section( 'Exception Occured:'
)->write_text( lv_error
)->display( ).
ENDTRY.
- שומרים ומפעילים את הדוח.
- מפעילים את הדוח (F8).
אם הפקודה תתבצע בהצלחה, הפלט של הדוח אמור להיראות כך:
8. יצירת דוח Z כדי לקרוא ל-Cloud Translation API V3 ולזהות את השפה
- מתחברים למערכת SAP.
- עוברים לקוד העסקה
SE38
ויוצרים תוכנית דוחות בשםZDEMO_DETECT_LANGUAGE.
. - בחלון הקופץ שנפתח, מזינים את הפרטים כפי שמתואר בהמשך ולוחצים על שמירה:
בחלון הקופץ הבא, בוחרים באפשרות Local Object (אובייקט מקומי) או באפשרות Provide a package name (ציון שם חבילה) לפי הבחירה שלכם.
- בעורך ABAP, מוסיפים את הקוד הבא:
DATA lo_translate TYPE REF TO /goog/cl_translation_v3.
DATA ls_input TYPE /goog/cl_translation_v3=>ty_009.
TRY.
lo_translate = NEW #( iv_key_name = 'TEST_TRANSLATION').
ls_input = VALUE #( mime_type = |text/plain|
content = |La luce viaggia più veloce del suono| ).
lo_translate->detect_language_projects(
EXPORTING
iv_p_projects_id = CONV #( lo_translate->gv_project_id )
is_input = ls_input
IMPORTING
es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text)
es_err_resp = DATA(lv_err_resp)
).
IF lo_translate->is_success( lv_ret_code ) = abap_true.
cl_demo_output=>new(
)->begin_section( 'API Call Successful:'
)->write_text( 'Detected Language:'
)->write_data( ls_output-languages[ 1 ]-language_code
)->display( ).
ELSE.
cl_demo_output=>new(
)->begin_section( 'API Call Unsuccessful:'
)->write_text( 'Error Message:'
)->write_text( lv_err_text
)->display( ).
ENDIF.
CATCH /goog/cx_sdk INTO DATA(lo_sdk_excp).
DATA(lv_error) = lo_sdk_excp->get_text( ).
cl_demo_output=>new(
)->begin_section( 'Exception Occured:'
)->write_text( lv_error
)->display( ).
ENDTRY.
- שומרים ומפעילים את הדוח.
- מפעילים את הדוח (F8).
אם הפקודה תתבצע בהצלחה, הפלט של הדוח אמור להיראות כך:
9. יצירת דוח Z כדי לקרוא לשיטה GET_SUPPORTED_LANGUAGES
- התחברות למערכת SAP
- עוברים לקוד העסקה
SE38
ויוצרים תוכנית דוחות בשםZDEMO_GET_LANGUAGES.
. - בחלון הקופץ שנפתח, מזינים את הפרטים כפי שמתואר בהמשך ולוחצים על שמירה.
בחלון הקופץ הבא, בוחרים באפשרות Local Object (אובייקט מקומי) או Provide a package name (ציון שם חבילה) לפי הצורך.
- בעורך ABAP, מוסיפים את הקוד הבא:
DATA lo_translate TYPE REF TO /goog/cl_translation_v3.
TRY.
lo_translate = NEW #( iv_key_name = 'TEST_TRANSLATION').
lo_translate->get_supported_languages_pro(
EXPORTING
iv_q_displaylanguagecode = 'en-US'
iv_p_projects_id = CONV #( lo_translate->gv_project_id )
IMPORTING
es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text)
es_err_resp = DATA(lv_err_resp)
).
IF lo_translate->is_success( lv_ret_code ) = abap_true.
cl_demo_output=>new(
)->begin_section( 'API Call Successful:'
)->write_text( 'Supported Languages:'
)->write_data( ls_output-languages
)->display( ).
ELSE.
cl_demo_output=>new(
)->begin_section( 'API Call Unsuccessful:'
)->write_text( 'Error Message:'
)->write_text( lv_err_text
)->display( ).
ENDIF.
CATCH /goog/cx_sdk INTO DATA(lo_sdk_excp).
DATA(lv_error) = lo_sdk_excp->get_text( ).
cl_demo_output=>new(
)->begin_section( 'Exception Occured:'
)->write_text( lv_error
)->display( ).
ENDTRY.
- שומרים ומפעילים את הדוח.
- מפעילים את הדוח (F8).
אם הפקודה תתבצע בהצלחה, הפלט של הדוח אמור להיראות כך:
10. מזל טוב
מעולה! סיימתם את הקודלהב 'שימוש ב-Translation API עם ABAP SDK ל-Google Cloud'.
ל-Cloud Translation API V3, שנקרא גם Cloud Translation API Advanced, יש הרבה תכונות, כולל:
- תרגום באמצעות מודלים מותאמים אישית
- תרגום באמצעות מילונים
- תמיכה בתעתיק
- תרגום מסמכים
עכשיו אפשר להמשיך בקורסי Codelab הבאים כדי להמשיך את תהליך הלמידה של השימוש ב-ABAP SDK ל-Google Cloud כדי לגשת לשירותים שונים של Google Cloud.
- שליחת אירוע ל-Pub/Sub
- קבלת אירוע מ-Cloud Pub/Sub
- העלאת אובייקט גדול לקטגוריה של Cloud Storage באמצעות חלוקה למקטעים
- שימוש ב-DLP API לצנזור מידע אישי מזהה
- קריאה ל-BigQuery ML מ-ABAP
11. הסרת המשאבים
אם אתם לא רוצים להמשיך בקודלאבים הנוספים שקשורים ל-ABAP SDK ל-Google Cloud, תוכלו להמשיך לניקוי.
מחיקת הפרויקט
- מוחקים את הפרויקט ב-Google Cloud:
gcloud projects delete abap-sdk-poc
מחיקת משאבים ספציפיים
- מוחקים את מכונה לעיבוד נתונים:
gcloud compute instances delete abap-trial-docker
- מוחקים את firewall-rules:
gcloud compute firewall-rules delete sapmachine
- מוחקים את חשבון השירות:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com