Google Cloud के लिए ABAP SDK टूल के साथ Translation API का इस्तेमाल करना

1. परिचय

यह कोडलैब, Google Cloud के लिए ABAP SDK टूल की मदद से, Translation API V3 (ऐडवांस सेटिंग) को कॉल करने के तरीके की जानकारी देता है. इस कोडलैब में हम टेक्स्ट का अनुवाद करने, टेक्स्ट की भाषा का पता लगाने, और Translation API V3 का इस्तेमाल करके काम करने वाली भाषाओं की सूची बनाने का तरीका जानेंगे.

इस कोडलैब में, Google Cloud की इन सेवाओं का इस्तेमाल किया जाता है:

  • Compute Engine
  • नेटवर्क सेवाएं
  • Cloud Shell
  • क्लाउड अनुवाद API V3

ज़रूरी शर्तें

आपको क्या बनाना होगा

Google Cloud के लिए ABAP SDK टूल का इस्तेमाल करके, SAP सिस्टम में ये प्रोग्राम बनाए जा सकते हैं:

  • Google के Cloud Translation API V3 का इस्तेमाल करके, टेक्स्ट का अनुवाद कई भाषाओं में करें
  • Google Cloud Translation API V3 का इस्तेमाल करके, सोर्स टेक्स्ट की भाषा का पता लगाएं
  • Google Cloud Translation API V3 में इस्तेमाल की जा सकने वाली भाषाओं की सूची बनाएं

2. ज़रूरी शर्तें

  • Chrome या Firefox जैसा ब्राउज़र.
  • आपके पास ऐसा Google Cloud प्रोजेक्ट होना चाहिए जिसमें बिलिंग की सुविधा चालू हो या Google Cloud Platform के लिए, 90 दिनों तक मुफ़्त में आज़माने की सुविधा वाला खाता बनाएं.
  • आपके सिस्टम में SAP GUI (Windows या Java) इंस्टॉल किया गया है. अगर आपकी मशीन पर SAP GUI पहले से इंस्टॉल है, तो ऐप्लिकेशन सर्वर आईपी के तौर पर वीएम के बाहरी आईपी पते का इस्तेमाल करके SAP से कनेक्ट करें. अगर आप Mac पर हैं, तो इस लिंक में उपलब्ध Java के लिए SAP GUI को भी इंस्टॉल किया जा सकता है.

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 सिस्टम का ऐक्सेस होना चाहिए जिसमें Google Cloud के लिए, ABAP SDK टूल इंस्टॉल किया गया हो.
  • इस कोडलैब का इस्तेमाल करने से पहले, आपको कोडलैब 1 (Google Cloud Platform पर ABAP Platform Trial 1909 इंस्टॉल करना और Google Cloud के लिए ABAP SDK इंस्टॉल करना) और कोडलैब 2 (Compute Engine VM पर SAP होस्ट किए गए SAP होस्ट किए गए टोकन का इस्तेमाल करके, ABAP SDK टूल की मदद से पुष्टि करने की सुविधा कॉन्फ़िगर करना) को पूरा करना होगा.
  • अगर आपने कोडलैब 1 और कोडलैब 2 को पूरा कर लिया है, तो इससे आपके लिए Google Cloud पर ABAP प्लैटफ़ॉर्म ट्रायल 1909 सिस्टम उपलब्ध होगा. साथ ही, पुष्टि और कनेक्टिविटी के लिए ज़रूरी सेटअप भी हो जाएगा.
  • अगर आपने कोडलैब 1 और कोडलैब 2 को पूरा नहीं किया है, तो आपके पास इस कोडलैब में दिए गए चरणों को पूरा करने के लिए सभी ज़रूरी इंफ़्रास्ट्रक्चर और कनेक्टिविटी उपलब्ध नहीं होंगी. इसलिए, इस कोडलैब का इस्तेमाल करने से पहले आपको कोडलैब 1 और कोडलैब 2 को पूरा करना होगा.

4. अपने Google Cloud प्रोजेक्ट में Cloud Translation API V3 चालू करना

  1. Cloud Shell में नीचे दिए गए कमांड का इस्तेमाल करें. इससे आपके Google Cloud प्रोजेक्ट में Cloud Translation API चालू हो जाएगा:
gcloud services enable translate.googleapis.com

कोड लागू करने के बाद, आपको एक मैसेज दिखेगा, जो इस तरह दिखता है:

b5f52859df2c2f56.png

अब आपके Google Cloud प्रोजेक्ट में Cloud Translation API चालू होना चाहिए

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'

ऊपर दिया गया निर्देश, Google Cloud प्रोजेक्ट के लिए टेंप्लेट के नाम के तौर पर basp-sdk-poc का इस्तेमाल करता है. इसकी जगह अपना प्रोजेक्ट आईडी डालें.

  1. यह पुष्टि करने के लिए कि भूमिका जोड़ दी गई है, IAM पेज पर जाएं. आपके बनाए गए सेवा खाते को, असाइन की गई भूमिका के साथ सूची में शामिल किया जाना चाहिए. इसका उदाहरण नीचे दिया गया है:

6af77a519ed3e357.png

6. क्लाइंट कुंजी कॉन्फ़िगरेशन बनाएं

अब आपने Google Cloud पर ज़रूरी शर्तें सेट अप कर ली हैं. इसलिए, अब हम SAP की ओर से कॉन्फ़िगरेशन को आगे बढ़ा सकते हैं.

पुष्टि और कनेक्टिविटी से जुड़े कॉन्फ़िगरेशन के लिए, Google Cloud के लिए ABAP SDK टूल, /GOOG/CLIENT_KEY टेबल का इस्तेमाल करता है

टेबल /GOOG/CLIENT_KEY टेबल में कॉन्फ़िगरेशन बनाए रखने के लिए, यह तरीका अपनाएं:

  1. SAP GUI में, लेन-देन कोड SPRO डालें.
  2. SAP रेफ़रंस FCM पर क्लिक करें.
  3. Google Cloud के लिए ABAP SDK टूल > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
  4. फ़ील्ड के हिसाब से ये वैल्यू बनाए रखें:

फ़ील्ड

मान

Google क्लाउड कुंजी का नाम

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. Cloud Translation API V3 को कॉल करने और किसी टेक्स्ट का अनुवाद करने के लिए, Z-रिपोर्ट बनाएं

  1. अपने SAP सिस्टम में लॉग इन करें.
  2. ट्रांज़ैक्शन कोड SE38 पर जाएं और ZDEMO_TRANSLATE_TEXT. नाम से Report Program बनाएं
  3. स्क्रीन पर खुलने वाले पॉप-अप में नीचे बताई गई जानकारी डालें. इसके बाद, सेव करें पर क्लिक करें.

6ba124f9187d1fc0.png

अगले पॉप-अप में, लोकल ऑब्जेक्ट चुनें या अपनी पसंद के मुताबिक पैकेज का नाम डालें.

  1. एबीएपी एडिटर में, यह कोड जोड़ें:
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. Cloud Translation API V3 को कॉल करने और भाषा का पता लगाने के लिए Z-रिपोर्ट बनाएं

  1. अपने SAP सिस्टम में लॉग इन करें.
  2. ट्रांज़ैक्शन कोड SE38 पर जाएं और ZDEMO_DETECT_LANGUAGE. नाम से Report Program बनाएं
  3. स्क्रीन पर खुलने वाले पॉप-अप में नीचे बताई गई जानकारी डालें. इसके बाद, सेव करें पर क्लिक करें:

64c2eb0e0173ae51.png

अगले पॉप-अप में, लोकल ऑब्जेक्ट चुनें या अपनी पसंद के मुताबिक पैकेज का नाम डालें.

  1. एबीएपी एडिटर में, यह कोड जोड़ें:
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. GET_SUPPORTED_भाषाएं कॉल करने के तरीके के हिसाब से Z-रिपोर्ट बनाएं

  1. अपने SAP सिस्टम में लॉग इन करें
  2. ट्रांज़ैक्शन कोड SE38 पर जाएं और ZDEMO_GET_LANGUAGES. नाम से Report Program बनाएं
  3. स्क्रीन पर खुलने वाले पॉप-अप में नीचे बताई गई जानकारी डालें. इसके बाद, सेव करें पर क्लिक करें.

3819fc355cf2cd4d.png

अगले पॉप-अप में, लोकल ऑब्जेक्ट चुनें या अपनी पसंद के मुताबिक पैकेज का नाम डालें.

  1. एबीएपी एडिटर में, यह कोड जोड़ें:
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. बधाई हो

बधाई हो! आपने "Google Cloud के लिए ABAP SDK टूल के साथ Translation API का इस्तेमाल करना" पूरा कर लिया है कोडलैब (कोड बनाना सीखना) शुरू करना.

Cloud Translation API V3 को Cloud Translation API Advanced के नाम से भी जाना जाता है. इसमें कई सुविधाएं हैं. जैसे:

  • अपने कस्टम मॉडल की मदद से अनुवाद करें
  • शब्दावलियों का इस्तेमाल करके अनुवाद करना
  • ट्रांसलिट्रेशन की सुविधा
  • दस्तावेज़ का अनुवाद

अब Google Cloud की अलग-अलग सेवाओं को ऐक्सेस करने के लिए, ABAP SDK टूल का इस्तेमाल करके सीखने के सफ़र को जारी रखने के लिए, यहां दिए गए कोडलैब का इस्तेमाल करें.

  • Pub/Sub को इवेंट भेजता है
  • Cloud Pub/Sub से इवेंट पाना
  • चंकिंग का इस्तेमाल करके, किसी बड़े ऑब्जेक्ट को Cloud Storage बकेट में अपलोड करना
  • व्यक्तिगत पहचान से जुड़ी जानकारी हटाने के लिए, डीएलपी API का इस्तेमाल करें
  • एबीएपी से BigQuery ML को कॉल करना

11. व्यवस्थित करें

अगर आपको Google Cloud के लिए, ABAP SDK टूल से जुड़े अतिरिक्त कोडलैब का इस्तेमाल नहीं करना है, तो कृपया क्लीनअप की प्रोसेस पूरी करें.

प्रोजेक्ट मिटाएं

  • 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