1. Wprowadzenie
Dzięki temu ćwiczeniu w Codelabs dowiesz się, jak wywoływać metody interfejsu Translation API V3 (zaawansowane) za pomocą pakietu SDK ABAP dla Google Cloud. W ramach tego ćwiczenia w programie zobaczymy, jak przetłumaczyć tekst, wykryć język tekstu i wyświetlić listę obsługiwanych języków za pomocą interfejsu Translation API (wersja 3)
W tym ćwiczeniu z programowania używane są następujące usługi Google Cloud:
- Compute Engine
- Usługi sieciowe
- Cloud Shell
- Cloud Translation API wersja 3
Wymagania wstępne
- Sprawdź, czy masz dostęp do systemu SAP z zainstalowanym pakietem ABAP SDK for Google Cloud.
- Możesz skorzystać z ćwiczeń w Codelabs „ Zainstaluj wersję próbną platformy ABAP w Google Cloud Platform i zainstaluj pakiet ABAP SDK aby skonfigurować nowy system.
Co utworzysz
Przy użyciu pakietu SDK ABAP dla Google Cloud utworzysz w systemie SAP następujące programy:
- Tłumaczenie tekstu na wiele języków za pomocą interfejsu Google Cloud Translation API wersja 3
- Wykrywanie języka tekstu źródłowego za pomocą interfejsu Google Cloud Translation API wersja 3
- Lista obsługiwanych języków interfejsu Google Cloud Translation API V3
2. Wymagania
- Przeglądarka, na przykład Chrome lub Firefox.
- Projekt Google Cloud z włączonymi płatnościami lub utwórz bezpłatne konto próbne na 90 dni dla Google Cloud Platform.
- zainstalowanego w systemie SAP GUI (Windows lub Java). Jeśli SAP GUI jest już zainstalowany na Twoim komputerze, połącz się z SAP, używając zewnętrznego adresu IP maszyny wirtualnej jako adresu IP serwera aplikacji. Jeśli korzystasz z komputera Mac, możesz również zainstalować interfejs SAP GUI dla języka Java dostępny tutaj.
3. Zanim zaczniesz
- Sprawdź, czy masz dostęp do systemu SAP z zainstalowanym pakietem ABAP SDK for Google Cloud.
- Możesz skorzystać z ćwiczeń w Codelabs „ Zainstaluj wersję próbną platformy ABAP w Google Cloud Platform i zainstaluj pakiet ABAP SDK aby skonfigurować nowy system.
- W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt Google Cloud (np.
abap-sdk-poc).
). - Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności. Pomiń ten krok, jeśli używasz 90-dniowego bezpłatnego konta próbnego.
- Użyjesz Cloud Shell – środowiska wiersza poleceń działającego w Google Cloud. W konsoli Cloud kliknij Aktywuj Cloud Shell w prawym górnym rogu:
- Uruchom te polecenia, aby uwierzytelnić się na swoim koncie i ustawić projekt domyślny na
abap-sdk-poc
. Przykładem jest strefaus-west4-b
. W razie potrzeby zmień projekt i strefę w poniższych poleceniach.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
- Musisz mieć dostęp do systemu SAP z zainstalowanym pakietem ABAP SDK dla Google Cloud.
- Zanim przejdziesz do tego ćwiczenia z programowania, musisz wykonać ćwiczenia w Codelabs 1 (Instalowanie wersji próbnej platformy ABAP Platform w Google Cloud Platform i zainstalowanie pakietu SDK ABAP dla Google Cloud) oraz ćwiczenia z Codelabs 2 (Konfigurowanie uwierzytelniania ABAP SDK za pomocą tokenów dla maszyny wirtualnej SAP hostowanej w Compute Engine).
- Jeśli udało Ci się ukończyć ćwiczenia z programowania 1 i ćwiczenie z programowania 2, otrzymasz system ABAP Platform w wersji próbnej 1909 w Google Cloud wraz z wymaganą konfiguracją uwierzytelniania i łączności.
- Jeśli nie masz ukończonych ćwiczeń z programowania 1 i 2, nie będziesz mieć całej wymaganej infrastruktury i połączeń, aby wykonać czynności opisane w tym ćwiczeniu. Dlatego najpierw musisz wykonać ćwiczenie z programowania 1 i 2.
4. Włączanie Cloud Translation API wersji 3 w projekcie Google Cloud
- Wykonaj poniższe polecenie w Cloud Shell. Spowoduje to włączenie interfejsu Cloud Translation API w Twoim projekcie Google Cloud:
gcloud services enable translate.googleapis.com
Po pomyślnym wykonaniu powinien wyświetlić się następujący komunikat:
Interfejs Cloud Translation API powinien być teraz włączony w Twoim projekcie Google Cloud
5. Utwórz konto usługi z rolą użytkownika Cloud Translation
Aby utworzyć konto usługi z wymaganą rolą, wykonaj te czynności:
- Uruchom w terminalu Cloud Shell to polecenie:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
- Teraz dodaj wymagane role do konta usługi utworzonego w kroku powyżej
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'
W powyższym poleceniu nazwa szablonu projektu Google Cloud to abap-sdk-poc. Zastąp go identyfikatorem projektu.
- Aby sprawdzić, czy rola została dodana, otwórz stronę IAM. Utworzone konto usługi powinno być widoczne na liście wraz z przypisaną do niego rolą, jak pokazano poniżej:
6. Utwórz konfigurację klucza klienta
Po skonfigurowaniu wymagań wstępnych po stronie Google Cloud możemy przejść do konfiguracji po stronie SAP.
Do konfiguracji związanych z uwierzytelnianiem i połączeniami pakiet ABAP SDK dla Google Cloud używa tabeli /GOOG/CLIENT_KEY
Aby zachować konfigurację w tabeli /GOOG/CLIENT_KEY
, wykonaj te czynności:
- W GUI SAP wpisz kod transakcji
SPRO
. - Kliknij Plik referencyjny usługi SAP.
- Kliknij ABAP SDK for Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
- W polach pozostaw te wartości:
Pole | Wartość |
Nazwa klucza Google Cloud | TEST_TRANSLATION |
Nazwa konta usługi Google Cloud |
|
Zakres Google Cloud |
|
Identyfikator projektu | abap-sdk-poc |
Klasa autoryzacji |
|
Zostaw wszystkie inne pola puste
7. Utwórz raport Z, aby wywołać interfejs Cloud Translation API (wersja 3) i przetłumaczyć tekst
- Zaloguj się w systemie SAP.
- Przejdź do kodu transakcji
SE38
i utwórz program raportów o nazwieZDEMO_TRANSLATE_TEXT.
. - W wyskakującym okienku podaj szczegóły zgodnie z poniższymi instrukcjami i kliknij Zapisz.
W następnym wyskakującym okienku wybierz Obiekt lokalny lub podaj nazwę pakietu.
- W edytorze ABAP dodaj ten kod:
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.
- Zapisz i aktywuj raport.
- Uruchom raport (F8).
Po pomyślnym wykonaniu raportu powinny pojawić się następujące dane wyjściowe raportu:
8. Utwórz raport Z, aby wywołać interfejs Cloud Translation API V3 i wykryć język
- Zaloguj się w systemie SAP.
- Przejdź do kodu transakcji
SE38
i utwórz program raportów o nazwieZDEMO_DETECT_LANGUAGE.
. - W wyskakującym okienku podaj szczegóły zgodnie z poniższymi instrukcjami i kliknij Zapisz:
W następnym wyskakującym okienku wybierz Obiekt lokalny lub podaj nazwę pakietu.
- W edytorze ABAP dodaj ten kod:
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.
- Zapisz i aktywuj raport.
- Uruchom raport (F8).
Po pomyślnym wykonaniu raportu powinny pojawić się następujące dane wyjściowe raportu:
9. Utwórz raport Z, aby wywołać metodę GET_SUPPORTED_LANGUAGES
- Zaloguj się w systemie SAP.
- Przejdź do kodu transakcji
SE38
i utwórz program raportów o nazwieZDEMO_GET_LANGUAGES.
. - W wyskakującym okienku podaj szczegóły opisane poniżej i kliknij Zapisz.
W następnym wyskakującym okienku wybierz Obiekt lokalny lub podaj nazwę pakietu.
- W edytorze ABAP dodaj ten kod:
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.
- Zapisz i aktywuj raport.
- Uruchom raport (F8).
Po pomyślnym wykonaniu raportu powinny pojawić się następujące dane wyjściowe raportu:
10. Gratulacje
Gratulacje! Udało Ci się ukończyć „Korzystanie z interfejsu Translation API z pakietem SDK ABAP dla Google Cloud” ćwiczenie w Codelabs.
Interfejs Cloud Translation API V3, znany również jako Cloud Translation API Advanced, oferuje wiele funkcji, w tym:
- Przetłumacz z użyciem modeli niestandardowych
- Tłumaczenie za pomocą glosariuszy
- Obsługa transliteracji
- Tłumaczenie dokumentów
Jeśli chcesz kontynuować naukę korzystania z pakietu SDK ABAP w Google Cloud w celu uzyskiwania dostępu do różnych usług Google Cloud, możesz kontynuować poniższe ćwiczenia z programowania.
- Wyślij zdarzenie do Pub/Sub
- Odbieraj zdarzenie z Cloud Pub/Sub
- Przesyłanie dużego obiektu do zasobnika Cloud Storage przy użyciu podziału na fragmenty
- Używanie interfejsu DLP API do pomijania informacji umożliwiających identyfikację osób
- Wywoływanie BigQuery ML z ABAP
11. Czyszczenie danych
Jeśli nie chcesz wykonywać dodatkowych ćwiczeń z programowania związanych z pakietem SDK ABAP dla Google Cloud, możesz kontynuować czyszczenie.
Usuwanie projektu
- Usuń projekt Google Cloud:
gcloud projects delete abap-sdk-poc
Usuwanie poszczególnych zasobów
- Usuń instancję obliczeniową:
gcloud compute instances delete abap-trial-docker
- Usuń reguły zapory sieciowej:
gcloud compute firewall-rules delete sapmachine
- Usuń konto usługi:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com