استخدام واجهة برمجة التطبيقات Translation API مع حزمة تطوير البرامج (SDK) ABAP في Google Cloud

1. مقدمة

يوفّر هذا الدرس التطبيقي حول الترميز خطوات لاستدعاء طرق الاتصال بالإصدار 3 (المتقدّم) من واجهة برمجة التطبيقات Translation API باستخدام حزمة تطوير البرامج (SDK) ABAP في Google Cloud. سنتعرَّف في هذا الدرس التطبيقي على كيفية ترجمة نص، والتعرّف على لغة النص، وإدراج اللغات المتاحة باستخدام الإصدار Translation API V3.

يتم استخدام خدمات Google Cloud التالية في هذا الدرس التطبيقي حول الترميز:

  • Compute Engine
  • خدمات الشبكة
  • Cloud Shell
  • الإصدار 3 من Cloud Translation API

المتطلبات الأساسية

ما الذي ستقوم ببنائه

ستنشئ البرامج التالية في نظام 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 على جهازك، يمكنك الاتصال بـ SAP باستخدام عنوان IP الخارجي للجهاز الافتراضي (VM) كعنوان IP لخادم التطبيقات. وإذا كنت تستخدم نظام التشغيل Mac، يمكنك أيضًا تثبيت واجهة المستخدم الرسومية SAP GUI لـ Java المتوفرة في هذا الرابط.

3- قبل البدء

6757b2fb50ddcc2d.png

  • شغِّل الأوامر التالية لمصادقة حسابك وضبط المشروع التلقائي على 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

  1. نفِّذ الأمر التالي في Cloud Shell، وسيؤدي ذلك إلى تفعيل Cloud Translation API في مشروع Google Cloud الخاص بك:
gcloud services enable translate.googleapis.com

عند التنفيذ بنجاح، يجب أن تظهر رسالة كما هو موضّح أدناه:

b5f52859df2c2f56.png

من المفترض أن تكون واجهة برمجة التطبيقات Cloud Translation API مفعَّلة في مشروع Google Cloud.

5- إنشاء حساب خدمة بدور مستخدم Cloud Translation

لإنشاء حساب خدمة بالدور المطلوب، عليك اتّباع الخطوات التالية:

  1. شغِّل الأمر التالي في الوحدة الطرفية في Cloud Shell:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
  1. عليك الآن إضافة الأدوار المطلوبة إلى حساب الخدمة الذي تم إنشاؤه في الخطوة أعلاه.
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. استبدله برقم تعريف مشروعك.

  1. للتأكّد من أنّه تمت إضافة الدور، انتقِل إلى صفحة إدارة الهوية وإمكانية الوصول. يجب إدراج حساب الخدمة الذي أنشأته إلى جانب الدور الذي تم إسناده إليه كما هو موضّح أدناه:

6af77a519ed3e357.png

6- إنشاء إعداد مفتاح العميل

الآن وبعد أن أعددت المتطلبات الأساسية من جانب Google Cloud، يمكننا المضي قدمًا في عملية الإعداد من جانب SAP.

بالنسبة إلى الإعدادات المرتبطة بالمصادقة والاتصال، تستخدم حزمة تطوير البرامج (SDK) ABAP في Google Cloud الجدول /GOOG/CLIENT_KEY

للحفاظ على الإعدادات في الجدول /GOOG/CLIENT_KEY، عليك تنفيذ الخطوات التالية:

  1. في واجهة المستخدم الرسومية (GUI) في SAP، أدخِل رمز المعاملة SPRO.
  2. انقر على SAP Reference IMG.
  3. انقر على ABAP SDK for Google Cloud > الإعدادات الأساسية > اضبط مفتاح العميل.
  4. حافظ على القيم التالية مقابل الحقول:

الحقل

القيمة

اسم Google Cloud Key

TEST_TRANSLATION

اسم حساب خدمة Google Cloud

abap-sdk-translation-tester@abap-sdk-poc.iam.gserviceaccount.com

نطاق Google Cloud

https://www.googleapis.com/auth/cloud-platform

رقم تعريف المشروع

abap-sdk-poc

فئة التفويض

/GOOG/CL_AUTH_GOOGLE

اترك جميع الحقول الأخرى فارغة

7. إنشاء تقرير Z لاستدعاء الإصدار 3 من Cloud Translation API وترجمة نص

  1. سجِّل الدخول إلى نظام SAP.
  2. انتقل إلى رمز المعاملة SE38 وأنشئ "برنامج تقارير" بالاسم ZDEMO_TRANSLATE_TEXT..
  3. في النافذة المنبثقة التي تظهر، أدخِل التفاصيل كما هو موضّح أدناه، ثم انقر على حفظ.

6ba124f9187d1fc0.png

في النافذة المنبثقة التالية، اختَر "الكائن المحلي" أو أدخِل اسم الحزمة وفقًا لاختيارك.

  1. في "محرِّر 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.
  1. احفظ التقرير وفعِّله.
  2. نفِّذ التقرير (F8).

عند التنفيذ بنجاح، من المفترض أن تظهر نتائج التقرير كما هو موضّح أدناه:

2dd3bf270d2b1477.png

8. إنشاء تقرير Z لاستدعاء الإصدار 3 من Cloud Translation API ورصد اللغة

  1. سجِّل الدخول إلى نظام SAP.
  2. انتقل إلى رمز المعاملة SE38 وأنشئ "برنامج تقارير" بالاسم ZDEMO_DETECT_LANGUAGE..
  3. في النافذة المنبثقة التي تظهر، أدخِل التفاصيل كما هو موضّح أدناه، ثم انقر على حفظ:

64c2eb0e0173ae51.png

في النافذة المنبثقة التالية، اختَر "الكائن المحلي" أو أدخِل اسم الحزمة وفقًا لاختيارك.

  1. في "محرِّر 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.
  1. احفظ التقرير وفعِّله.
  2. نفِّذ التقرير (F8).

عند التنفيذ بنجاح، من المفترض أن تظهر نتائج التقرير كما هو موضّح أدناه:

a36e48bded53e62d.png

9. إنشاء تقرير Z لطلب طريقة GET_SUPPORTED_LANGUAGES

  1. تسجيل الدخول إلى نظام SAP
  2. انتقل إلى رمز المعاملة SE38 وأنشئ "برنامج تقارير" بالاسم ZDEMO_GET_LANGUAGES..
  3. في النافذة المنبثقة التي تظهر، أدخِل التفاصيل كما هو موضّح أدناه، ثم انقر على حفظ.

3819fc355cf2cd4d.png

في النافذة المنبثقة التالية، اختَر "الكائن المحلي" أو أدخِل اسم الحزمة وفقًا لاختيارك.

  1. في "محرِّر 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.
  1. احفظ التقرير وفعِّله.
  2. نفِّذ التقرير (F8).

عند التنفيذ بنجاح، من المفترض أن تظهر نتائج التقرير كما هو موضّح أدناه:

78199926919e7801.png

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

حذف موارد فردية

  1. حذف مثيل الحوسبة:
gcloud compute instances delete abap-trial-docker
  1. احذف قواعد جدار الحماية:
gcloud compute firewall-rules delete sapmachine
  1. حذف حساب الخدمة:
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com