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

1. परिचय

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

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

  • Compute Engine
  • नेटवर्क सेवाएं
  • Cloud Shell
  • Cloud Translation 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 के लिए, टोकन का इस्तेमाल करके ABAP SDK की पुष्टि करने की सुविधा कॉन्फ़िगर करना) पूरा करना होगा.
  • अगर आपने पहला और दूसरा कोडलैब पूरा कर लिया है, तो आपको Google Cloud पर ABAP Platform Trial 1909 सिस्टम के साथ-साथ, पुष्टि और कनेक्टिविटी के लिए ज़रूरी सेटअप भी मिल जाएगा.
  • अगर आपने पहला और दूसरा कोडलैब पूरा नहीं किया है, तो इस कोडलैब में दिए गए चरणों को पूरा करने के लिए, आपके पास ज़रूरी इन्फ़्रास्ट्रक्चर और कनेक्टिविटी नहीं होगी. इसलिए, इस कोडलैब को शुरू करने से पहले, आपको कोडलैब 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 प्रोजेक्ट के टेंप्लेट के तौर पर abap-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 रेफ़रंस IMG पर क्लिक करें.
  3. Google Cloud के लिए ABAP SDK टूल > बुनियादी सेटिंग > क्लाइंट पासकोड कॉन्फ़िगर करें पर क्लिक करें.
  4. फ़ील्ड के लिए ये वैल्यू बनाए रखें:

फ़ील्ड

मान

Google Cloud की कुंजी का नाम

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. नाम से रिपोर्ट प्रोग्राम बनाएं
  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. Cloud Translation API V3 को कॉल करने और भाषा का पता लगाने के लिए, Z-Report बनाएं

  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. GET_SUPPORTED_LANGUAGES तरीके को कॉल करने के लिए Z-रिपोर्ट बनाना

  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. बधाई हो

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

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

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

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

  • Pub/Sub को इवेंट भेजना
  • Cloud Pub/Sub से इवेंट पाना
  • एक बड़े ऑब्जेक्ट को चंक में बांटकर, Cloud Storage की बकेट में अपलोड करना
  • निजी पहचान से जुड़ी जानकारी हटाने के लिए, DLP API का इस्तेमाल करना
  • ABAP से 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