1. Introduzione
Questo codelab fornisce i passaggi per chiamare i metodi dell'API Translation V3 (avanzata) utilizzando l'SDK ABAP per Google Cloud. In questo codelab vedremo come tradurre un testo, rilevare la lingua del testo ed elencare le lingue supportate utilizzando l'API Translation V3
In questo codelab vengono utilizzati i seguenti servizi Google Cloud:
- Compute Engine
- Servizi di rete
- Cloud Shell
- API Cloud Translation V3
Prerequisiti
- Assicurati di avere accesso a un sistema SAP con l'SDK ABAP per Google Cloud installato.
- Puoi fare riferimento al codelab " Installa la versione di prova della piattaforma ABAP su Google Cloud e installa l'SDK ABAP" per configurare un nuovo sistema.
Cosa creerai
Creerai i seguenti programmi nel tuo sistema SAP utilizzando l'SDK ABAP per Google Cloud:
- Traduci il testo in più lingue utilizzando l'API Cloud Translation V3 di Google
- Rileva la lingua del testo di origine utilizzando l'API Google Cloud Translation V3
- Elenca le lingue supportate dell'API Google Cloud Translation V3
2. Requisiti
- Un browser, ad esempio Chrome o Firefox.
- Un progetto Google Cloud con fatturazione abilitata o crea un account di prova senza costi di 90 giorni per Google Cloud Platform.
- GUI SAP (Windows o Java) installata nel sistema. Se la GUI SAP è già installata sulla macchina, connettiti a SAP utilizzando l'indirizzo IP esterno della VM come IP server delle applicazioni. Se utilizzi Mac, puoi anche installare la GUI di SAP per Java disponibile in questo link.
3. Prima di iniziare
- Assicurati di avere accesso a un sistema SAP con l'SDK ABAP per Google Cloud installato.
- Puoi fare riferimento al codelab " Installa la versione di prova della piattaforma ABAP su Google Cloud e installa l'SDK ABAP" per configurare un nuovo sistema.
- Nella pagina del selettore dei progetti della console Google Cloud, seleziona o crea un progetto Google Cloud (ad esempio
abap-sdk-poc).
- Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come controllare se la fatturazione è abilitata per un progetto. Salta questo passaggio se utilizzi l'account di prova senza costi di 90 giorni.
- Utilizzerai Cloud Shell, un ambiente a riga di comando in esecuzione su Google Cloud. Dalla console Cloud, fai clic su Attiva Cloud Shell nell'angolo in alto a destra:
- Esegui questi comandi per eseguire l'autenticazione per il tuo account e imposta il progetto predefinito su
abap-sdk-poc
. La zonaus-west4-b
viene utilizzata come esempio. Se necessario, modifica il progetto e la zona nei comandi seguenti in base alle tue preferenze.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
- Devi avere accesso a un sistema SAP in cui è installato l'SDK ABAP per Google Cloud.
- Devi completare il codelab 1 (Installare la prova della piattaforma ABAP 1909 sulla piattaforma Google Cloud e installare l'SDK ABAP per Google Cloud) e il codelab 2 (Configurare l'autenticazione dell'SDK ABAP mediante token per SAP ospitato sulla VM di Compute Engine) prima di procedere con questo codelab.
- Se hai completato il codelab 1 e il codelab 2, avrai eseguito il provisioning di un sistema 1909 di prova della piattaforma ABAP su Google Cloud, insieme alla configurazione richiesta per l'autenticazione e la connettività.
- Se non hai completato il codelab 1 e il codelab 2, non avrai a disposizione l'infrastruttura e la connettività necessarie per eseguire i passaggi indicati in questo codelab. Pertanto, devi completare il codelab 1 e il codelab 2 prima di procedere con questo codelab.
4. Abilita l'API Cloud Translation V3 nel tuo progetto Google Cloud
- Esegui questo comando in Cloud Shell per abilitare l'API Cloud Translation nel tuo progetto Google Cloud:
gcloud services enable translate.googleapis.com
Una volta eseguita correttamente, dovrebbe essere visualizzato un messaggio come mostrato di seguito:
A questo punto dovresti avere abilitato l'API Cloud Translation nel tuo progetto Google Cloud
5. Crea un account di servizio con il ruolo utente Cloud Translation
Per creare un account di servizio con il ruolo richiesto, segui questi passaggi:
- Esegui questo comando nel terminale Cloud Shell:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
- Ora aggiungi i ruoli richiesti all'account di servizio creato nel passaggio precedente
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'
Il comando precedente utilizza abap-sdk-poc come nome modello per il progetto Google Cloud. Sostituiscilo con il tuo ID progetto.
- Per verificare che il ruolo sia stato aggiunto, vai alla pagina IAM. L'account di servizio che hai creato dovrebbe essere elencato insieme al ruolo che gli è stato assegnato, come mostrato di seguito:
6. Crea configurazione chiave client
Ora che hai impostato i prerequisiti per Google Cloud, possiamo procedere con la configurazione lato SAP.
Per la configurazione relativa all'autenticazione e alla connettività, l'SDK ABAP per Google Cloud utilizza la tabella /GOOG/CLIENT_KEY
Per mantenere la configurazione nella tabella /GOOG/CLIENT_KEY
, segui questi passaggi:
- Nella GUI di SAP, inserisci il codice della transazione
SPRO
. - Fai clic su IMG di riferimento SAP.
- Fai clic su SDK ABAP per Google Cloud > Impostazioni di base > Configura chiave client.
- Mantieni i seguenti valori rispetto ai campi:
Campo | Valore |
Nome chiave Google Cloud | TEST_TRANSLATION |
Nome dell'account di servizio Google Cloud |
|
Ambito Google Cloud |
|
ID progetto | abap-sdk-poc |
Classe di autorizzazione |
|
Lascia vuoti tutti gli altri campi
7. Crea uno Z-Report per chiamare l'API Cloud Translation V3 e tradurre un testo
- Accedi al sistema SAP.
- Vai al codice transazione
SE38
e crea un programma di report con il nomeZDEMO_TRANSLATE_TEXT.
- Nel popup che si apre, fornisci i dettagli indicati di seguito e fai clic su Salva.
Nel popup successivo, seleziona Oggetto locale o fornisci un nome del pacchetto a tua scelta.
- Nell'editor ABAP, aggiungi il seguente codice:
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.
- Salva e attiva il report.
- Esegui il report (F8).
Una volta eseguita correttamente, dovresti vedere l'output del report come mostrato di seguito:
8. Crea uno Z-Report per chiamare l'API Cloud Translation V3 e rilevare il linguaggio
- Accedi al sistema SAP.
- Vai al codice transazione
SE38
e crea un programma di report con il nomeZDEMO_DETECT_LANGUAGE.
- Nel popup che si apre, fornisci i dettagli riportati di seguito e fai clic su Salva:
Nel popup successivo, seleziona Oggetto locale o fornisci un nome del pacchetto a tua scelta.
- Nell'editor ABAP, aggiungi il seguente codice:
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.
- Salva e attiva il report.
- Esegui il report (F8).
Una volta eseguita correttamente, dovresti vedere l'output del report come mostrato di seguito:
9. Crea un rapporto Z per chiamare il metodo GET_SUPPORTED_LANGUAGES
- Accedi al tuo sistema SAP
- Vai al codice transazione
SE38
e crea un programma di report con il nomeZDEMO_GET_LANGUAGES.
- Nel popup che si apre, fornisci i dettagli mostrati di seguito e fai clic su Salva.
Nel popup successivo, seleziona Oggetto locale o fornisci un nome del pacchetto a tua scelta.
- Nell'editor ABAP, aggiungi il seguente codice:
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.
- Salva e attiva il report.
- Esegui il report (F8).
Una volta eseguita correttamente, dovresti vedere l'output del report come mostrato di seguito:
10. Complimenti
Complimenti! Hai completato il corso "Utilizzare l'API Translation con l'SDK ABAP per Google Cloud" codelab.
L'API Cloud Translation V3, nota anche come API Cloud Translation Advanced, offre molte funzionalità, tra cui:
- Traduzione con modelli personalizzati
- Traduci utilizzando i glossari
- Supporto della traslitterazione
- Traduzione di documenti
Ora puoi procedere con i seguenti codelab per continuare il tuo percorso di apprendimento sull'utilizzo dell'SDK ABAP per Google Cloud per accedere a vari servizi Google Cloud.
- Invia un evento a Pub/Sub
- Ricevi un evento da Cloud Pub/Sub
- carica un oggetto di grandi dimensioni in un bucket Cloud Storage utilizzando il chunking
- Utilizza l'API DLP per l'oscuramento delle PII
- Chiama BigQuery ML da ABAP
11. Esegui la pulizia
Se non vuoi continuare con i codelab aggiuntivi relativi all'SDK ABAP per Google Cloud, procedi con la pulizia.
Elimina il progetto
- Elimina il progetto Google Cloud:
gcloud projects delete abap-sdk-poc
Eliminare singole risorse
- Elimina l'istanza Compute:
gcloud compute instances delete abap-trial-docker
- Elimina le regole firewall:
gcloud compute firewall-rules delete sapmachine
- Elimina l'account di servizio:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com