1. Wprowadzenie
Ten projekt Codelab zawiera instrukcje wywoływania metod interfejsu Translation API w wersji 3 (zaawansowanej) za pomocą pakietu ABAP SDK dla Google Cloud. W tym laboratorium kodu dowiesz się, jak tłumaczyć tekst, wykrywać język tekstu i wyświetlać listę obsługiwanych języków za pomocą interfejsu Translation API v3.
W tym samouczku są używane te usługi Google Cloud:
- Compute Engine
- Usługi sieciowe
- Cloud Shell
- Cloud Translation API w wersji 3
Wymagania wstępne
- Upewnij się, że masz dostęp do systemu SAP z zainstalowanym ABAP SDK for Google Cloud.
- Aby skonfigurować nowy system, możesz skorzystać z laboratorium kodu „Install ABAP Platform Trial on Google Cloud Platform and Install ABAP SDK”.
Co utworzysz
W systemie SAP utworzysz te programy za pomocą pakietu ABAP SDK dla Google Cloud:
- Tłumaczenie tekstu na wiele języków za pomocą interfejsu Cloud Translation API w wersji 3 od Google
- Wykrywanie języka tekstu źródłowego za pomocą interfejsu Google Cloud Translation API w wersji 3
- Lista obsługiwanych języków w Google Cloud Translation API w wersji 3
2. Wymagania
- przeglądarkę, np. Chrome lub Firefox;
- Projekt Google Cloud z włączonymi płatnościami lub utwórz konto na 90-dniowy okres próbny w Google Cloud Platform.
- interfejs graficzny SAP (wersja na system Windows lub Java) zainstalowany w systemie; Jeśli interfejs SAP GUI jest już zainstalowany na komputerze, połącz się z SAP, używając zewnętrznego adresu IP maszyny wirtualnej jako adresu IP serwera aplikacji. Jeśli używasz komputera Mac, możesz też zainstalować interfejs SAP dla Javy, który jest dostępny pod tym linkiem.
3. Zanim zaczniesz
- Upewnij się, że masz dostęp do systemu SAP z zainstalowanym ABAP SDK for Google Cloud.
- Aby skonfigurować nowy system, możesz skorzystać z laboratorium kodu „Install ABAP Platform Trial on Google Cloud Platform and Install ABAP SDK”.
- W konsoli Google Cloud na stronie selektora projektu wybierz lub utwórz projekt Google Cloud (na przykład:
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 korzystasz z konta w ramach 90-dniowego okresu próbnego.
- Użyjesz Cloud Shell, czyli środowiska wiersza poleceń działającego w Google Cloud. W Cloud Console w prawym górnym rogu kliknij Aktywuj Cloud Shell:
- Uruchom te polecenia, aby uwierzytelnić swoje konto i ustawić projekt domyślny jako
abap-sdk-poc
. W tym przykładzie użyto strefyus-west4-b
. W razie potrzeby zmień projekt i strefę w poniższych poleceniach zgodnie ze swoimi preferencjami.
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 for Google Cloud.
- Zanim przejdziesz do tego ćwiczenia, musisz ukończyć ćwiczenie 1 (Zainstaluj wersję próbną platformy ABAP 1909 w Google Cloud Platform i zainstaluj pakiet ABAP SDK dla Google Cloud) oraz ćwiczenie 2 (Skonfiguruj uwierzytelnianie pakietu ABAP SDK za pomocą tokenów dla SAP hostowanego w maszynie wirtualnej Compute Engine).
- Jeśli wykonasz ćwiczenia 1 i 2, w Google Cloud zostanie utworzony system ABAP Platform Trial 1909 wraz z wymaganą konfiguracją uwierzytelniania i łączności.
- Jeśli nie ukończysz ćwiczeń 1 i 2, nie będziesz mieć całej wymaganej infrastruktury ani połączeń, aby wykonać czynności opisane w tym ćwiczeniu. Dlatego zanim przejdziesz do tego ćwiczenia, musisz ukończyć ćwiczenia 1 i 2.
4. Włączanie interfejsu Cloud Translation API w wersji 3 w projekcie Google Cloud
- Uruchom to polecenie w Cloud Shell, aby włączyć interfejs Cloud Translation API w projekcie Google Cloud:
gcloud services enable translate.googleapis.com
Po pomyślnym wykonaniu polecenia powinien wyświetlić się komunikat podobny do tego:
Interfejs Cloud Translation API powinien być teraz włączony w projekcie Google Cloud.
5. Tworzenie konta 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 poprzednim kroku.
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 jako nazwa szablonu projektu Google Cloud jest używana nazwa abap-sdk-poc. Zastąp go identyfikatorem projektu.
- Aby sprawdzić, czy dodano rolę, otwórz stronę IAM. Utworzone konto usługi powinno być widoczne wraz z przypisaną do niego rolą, jak pokazano poniżej:
6. Tworzenie konfiguracji klucza klienta
Ponieważ masz już skonfigurowane wymagania wstępne po stronie Google Cloud, możemy przejść do konfiguracji po stronie SAP.
W przypadku konfiguracji związanej z uwierzytelnianiem i łącznością pakiet ABAP SDK for Google Cloud używa tabeli /GOOG/CLIENT_KEY
Aby zachować konfigurację w tabeli /GOOG/CLIENT_KEY
, wykonaj te czynności:
- W interfejsie graficznym SAP wpisz kod transakcji
SPRO
. - Kliknij SAP Reference IMG (Referencyjny obraz SAP).
- Kliknij ABAP SDK for Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
- Zachowaj te wartości w polach:
Pole | Wartość |
Nazwa klucza Google Cloud | TEST_TRANSLATION |
Nazwa konta usługi Google Cloud |
|
Zakres Google Cloud |
|
Identyfikator projektu | abap-sdk-poc |
Klasa autoryzacji |
|
Pozostaw wszystkie pozostałe pola puste.
7. Tworzenie raportu Z-Report w celu wywołania interfejsu Cloud Translation API w wersji 3 i tłumaczenia tekstu
- Zaloguj się w systemie SAP.
- Otwórz kod transakcji
SE38
i utwórz program raportowania o nazwieZDEMO_TRANSLATE_TEXT.
. - W otwartym oknie podaj informacje widoczne 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.
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.
- Wykonaj raport (F8).
Po pomyślnym wykonaniu powinieneś zobaczyć dane wyjściowe raportu, jak pokazano poniżej:
8. Tworzenie raportu Z-Report do wywoływania Cloud Translation API w wersji 3 i wykrywania języka
- Zaloguj się w systemie SAP.
- Otwórz kod transakcji
SE38
i utwórz program raportowania o nazwieZDEMO_DETECT_LANGUAGE.
. - W wyskakującym okienku podaj informacje widoczne 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.
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.
- Wykonaj raport (F8).
Po pomyślnym wykonaniu powinieneś zobaczyć dane wyjściowe raportu, jak pokazano poniżej:
9. Tworzenie raportu Z-Report do wywołania metody GET_SUPPORTED_LANGUAGES
- Logowanie się w systemie SAP
- Otwórz kod transakcji
SE38
i utwórz program raportowania o nazwieZDEMO_GET_LANGUAGES.
. - W wyświetlonym okienku podaj informacje, jak pokazano 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.
- Wykonaj raport (F8).
Po pomyślnym wykonaniu powinieneś zobaczyć dane wyjściowe raportu, jak pokazano poniżej:
10. Gratulacje
Gratulacje! Udało Ci się ukończyć Codelab „Korzystanie z interfejsu Translation API za pomocą pakietu ABAP SDK w Google Cloud”.
Interfejs Cloud Translation API w wersji 3, zwany też Cloud Translation API Advanced, ma wiele funkcji, takich jak:
- Tłumaczenie za pomocą modeli niestandardowych
- Tłumaczenie za pomocą glosariuszy
- Pomoc dotycząca transliteracji
- Tłumaczenie dokumentów
Aby dowiedzieć się więcej o korzystaniu z pakietu ABAP SDK w Google Cloud do uzyskiwania dostępu do różnych usług Google Cloud, możesz teraz przejść do tych ćwiczeń z programowania.
- Wysyłanie zdarzenia do Pub/Sub
- Odbieranie zdarzenia z Cloud Pub/Sub
- Przesyłanie dużego obiektu do zasobnika Cloud Storage za pomocą dzielenia na części
- Używanie interfejsu DLP API do pomijania informacji umożliwiających identyfikację
- Wywoływanie BigQuery ML z ABAP
11. Czyszczenie danych
Jeśli nie chcesz kontynuować dodatkowych samouczków związanych z pakietem ABAP SDK dla Google Cloud, przejdź do czyszczenia.
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