1. مقدمة
يوفّر هذا الدرس التطبيقي حول الترميز خطوات لاستدعاء طرق الاتصال بالإصدار 3 (المتقدّم) من واجهة برمجة التطبيقات Translation API باستخدام حزمة تطوير البرامج (SDK) ABAP في Google Cloud. سنتعرَّف في هذا الدرس التطبيقي على كيفية ترجمة نص، والتعرّف على لغة النص، وإدراج اللغات المتاحة باستخدام الإصدار Translation API V3.
يتم استخدام خدمات Google Cloud التالية في هذا الدرس التطبيقي حول الترميز:
- Compute Engine
- خدمات الشبكة
- Cloud Shell
- الإصدار 3 من Cloud Translation API
المتطلبات الأساسية
- تأكَّد من إمكانية وصولك إلى نظام SAP مع تثبيت حزمة ABAP SDK for Google Cloud.
- يمكنك الرجوع إلى درس تطبيقي حول الترميز " تثبيت الإصدار التجريبي من ABAP Platform على Google Cloud Platform وتثبيت حزمة ABAP SDK" لإعداد نظام جديد.
ما الذي ستقوم ببنائه
ستنشئ البرامج التالية في نظام SAP باستخدام حزمة تطوير البرامج (SDK) ABAP لخدمة Google Cloud:
- ترجمة النص إلى لغات متعددة باستخدام الإصدار 3 من Cloud Translation API من Google
- التعرّف على لغة النص المصدر باستخدام الإصدار 3 من Google Cloud Translation API
- إدراج اللغات المتاحة في الإصدار الثالث من Google Cloud Translation API
2. المتطلبات
- متصفح، مثل Chrome أو Firefox
- يجب أن يكون لديك مشروع على Google Cloud مع تفعيل الفوترة أو إنشاء حساب تجريبي مجاني لمدة 90 يومًا لخدمة Google Cloud Platform.
- تثبيت SAP GUI (في نظام التشغيل Windows أو Java) في نظامك. إذا سبق أن تم تثبيت SAP GUI على جهازك، يمكنك الاتصال بـ SAP باستخدام عنوان IP الخارجي للجهاز الافتراضي كعنوان IP لخادم التطبيق. وإذا كنت تستخدم نظام التشغيل Mac، يمكنك أيضًا تثبيت واجهة المستخدم الرسومية SAP GUI لـ Java المتوفرة في هذا الرابط.
3- قبل البدء
- تأكَّد من إمكانية وصولك إلى نظام SAP مع تثبيت حزمة ABAP SDK for Google Cloud.
- يمكنك الرجوع إلى درس تطبيقي حول الترميز " تثبيت الإصدار التجريبي من ABAP Platform على Google Cloud Platform وتثبيت حزمة ABAP SDK" لإعداد نظام جديد.
- في Google Cloud Console، ضمن صفحة أداة اختيار المشاريع، اختَر مشروعًا على Google Cloud أو أنشئه (على سبيل المثال:
abap-sdk-poc).
- تأكَّد من تفعيل الفوترة لمشروعك على السحابة الإلكترونية. تعرَّف على كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع. يمكنك تخطّي هذه الخطوة إذا كنت تستخدم حساب الفترة التجريبية المجانية لمدة 90 يومًا.
- ستستخدم Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في Google Cloud. من Cloud Console، انقر على تفعيل 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 مع تثبيت حزمة ABAP SDK for Google Cloud.
- عليك إكمال الدرس التطبيقي 1 حول الترميز (تثبيت الإصدار التجريبي من ABAP Platform لعام 1909 على Google Cloud Platform وتثبيت حزمة تطوير البرامج ABAP لخدمة Google Cloud) والدرس التطبيقي حول الترميز 2 (إعداد مصادقة ABAP SDK باستخدام الرموز المميّزة لـ SAP المستضافة على Compute Engine VM) قبل مواصلة هذا الدرس التطبيقي حول الترميز.
- إذا أكملت التمرين التطبيقي عن الترميز 1 والدرس التطبيقي حول الترميز، كان من الممكن أن يمنحك ذلك نظام ABAP Platform التجريبي 1909 على Google Cloud، إلى جانب الإعداد المطلوب للمصادقة والاتصال.
- إذا لم تكن قد أكملت الدرسَين التطبيقيَين حول الترميز 1 والدرسَين التطبيقيَين حول الترميز، لن تتوفّر لديك كل البنية الأساسية وإمكانية الاتصال المطلوبة لتنفيذ الخطوات الواردة في هذا الدرس التطبيقي حول الترميز. لذلك، عليك إكمال الدرس التطبيقي حول الترميز 1 والدرس التطبيقي حول الترميز قبل مواصلة هذا الدرس التطبيقي حول الترميز.
4. تفعيل الإصدار 3 من Cloud Translation API في مشروع 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'
يستخدم الأمر أعلاه amap-sdk-poc كاسم نموذج لمشروع Google Cloud. استبدله برقم تعريف مشروعك.
- للتأكّد من أنّه تمت إضافة الدور، انتقِل إلى صفحة IAM. يجب إدراج حساب الخدمة الذي أنشأته إلى جانب الدور الذي تم إسناده إليه كما هو موضّح أدناه:
6- إنشاء إعداد مفتاح العميل
الآن وبعد أن أعددت المتطلبات الأساسية من جانب Google Cloud، يمكننا المضي قدمًا في عملية الإعداد من جانب SAP.
بالنسبة إلى الإعدادات المرتبطة بالمصادقة والاتصال، تستخدم حزمة تطوير البرامج (SDK) ABAP في Google Cloud الجدول /GOOG/CLIENT_KEY
للحفاظ على الإعدادات في الجدول /GOOG/CLIENT_KEY
، عليك تنفيذ الخطوات التالية:
- في SAP GUI، أدخِل رمز المعاملة
SPRO
. - انقر على SAP Reference IMG.
- انقر على ABAP SDK for Google Cloud > الإعدادات الأساسية > اضبط مفتاح العميل.
- الاحتفاظ بالقيم التالية مقابل الحقول:
الحقل | القيمة |
اسم Google Cloud Key | TEST_TRANSLATION |
اسم حساب خدمة Google Cloud |
|
نطاق Google Cloud |
|
رقم تعريف المشروع | abap-sdk-poc |
فئة التفويض |
|
اترك جميع الحقول الأخرى فارغة
7. إنشاء تقرير Z لاستدعاء الإصدار 3 من Cloud Translation API وترجمة نص
- سجِّل الدخول إلى نظام SAP.
- انتقل إلى رمز المعاملة
SE38
وأنشئ "برنامج تقارير" بالاسمZDEMO_TRANSLATE_TEXT.
. - في النافذة المنبثقة التي تظهر، أدخِل التفاصيل كما هو موضّح أدناه، ثم انقر على حفظ.
في النافذة المنبثقة التالية، اختَر "الكائن المحلي" أو أدخِل اسم الحزمة وفقًا لاختيارك.
- في "محرِّر 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 لاستدعاء الإصدار 3 من Cloud Translation API ورصد اللغة
- سجِّل الدخول إلى نظام SAP.
- انتقل إلى رمز المعاملة
SE38
وأنشئ "برنامج تقارير" بالاسمZDEMO_DETECT_LANGUAGE.
. - في النافذة المنبثقة التي تفتح، أدخِل التفاصيل كما هو موضّح أدناه، ثم انقر على حفظ:
في النافذة المنبثقة التالية، اختَر "الكائن المحلي" أو أدخِل اسم الحزمة وفقًا لاختيارك.
- في "محرِّر 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.
. - في النافذة المنبثقة التي تظهر، أدخِل التفاصيل كما هو موضّح أدناه، ثم انقر على حفظ.
في النافذة المنبثقة التالية، اختَر "الكائن المحلي" أو أدخِل اسم الحزمة وفقًا لاختيارك.
- في "محرِّر 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. تهانينا
تهانينا! لقد أكملت بنجاح "استخدام واجهة برمجة التطبيقات للترجمة مع حزمة تطوير البرامج (SDK) ABAP في Google Cloud". درس تطبيقي حول الترميز.
يشمل الإصدار 3 من Cloud Translation API والمعروف أيضًا باسم Cloud Translation API Advanced العديد من الميزات، بما في ذلك:
- الترجمة باستخدام النماذج المخصّصة
- الترجمة باستخدام مسارد المصطلحات
- دعم التحويل الصوتي
- ترجمة المستندات
يمكنك الآن مواصلة الدروس التطبيقية التالية حول الترميز لمواصلة تعلُّم استخدام حزمة ABAP SDK في Google Cloud للوصول إلى مختلف خدمات Google Cloud.
- إرسال حدث إلى خدمة Pub/Sub
- تلقّي حدث من خلال خدمة Cloud Pub/Sub
- تحميل عنصر كبير إلى حزمة Cloud Storage باستخدام التقسيم
- استخدام واجهة برمجة التطبيقات DLP API لإخفاء معلومات تحديد الهوية الشخصية
- طلب خدمة BigQuery ML من ABAP
11. تَنظيم
إذا أردت التوقف عن استخدام الدروس التطبيقية الإضافية حول الترميز ذات الصلة بحزمة تطوير البرامج (SDK) ABAP في Google Cloud، يُرجى متابعة عملية التنظيف.
حذف المشروع
- حذف مشروع Google Cloud:
gcloud projects delete abap-sdk-poc
حذف موارد فردية
- حذف مثيل الحوسبة:
gcloud compute instances delete abap-trial-docker
- احذف قواعد جدار الحماية:
gcloud compute firewall-rules delete sapmachine
- حذف حساب الخدمة:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com