1. Introduzione
Questo codelab fornisce i passaggi per chiamare i metodi dell'API Translation v3 (Advanced) 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.
- Per configurare un nuovo sistema, puoi consultare il codelab "Install ABAP Platform Trial on Google Cloud Platform and Install ABAP SDK".
Cosa creerai
Creerai i seguenti programmi nel sistema SAP utilizzando l'SDK ABAP per Google Cloud:
- Tradurre il testo in più lingue utilizzando l'API Cloud Translation v3 di Google
- Rileva la lingua del testo di origine utilizzando la versione 3 dell'API Google Cloud Translation
- Elenca le lingue supportate dell'API Google Cloud Translation v3
2. Requisiti
- Un browser, ad esempio Chrome o Firefox.
- Un progetto Google Cloud con la fatturazione abilitata o crea un account di prova senza costi di 90 giorni per la piattaforma Google Cloud.
- SAP GUI (Windows o Java) installato nel sistema. Se SAP GUI è già installato sulla tua macchina, connettiti a SAP utilizzando l'indirizzo IP esterno della VM come indirizzo IP del server di applicazioni. Se utilizzi un Mac, puoi anche installare SAP GUI 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.
- Per configurare un nuovo sistema, puoi consultare il codelab "Install ABAP Platform Trial on Google Cloud Platform and Install ABAP SDK".
- Nella console Google Cloud, nella pagina di selezione del progetto, 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 verificare se la fatturazione è attivata per un progetto. Ignora questo passaggio se utilizzi l'account per la prova senza costi di 90 giorni.
- Utilizzerai Cloud Shell, un ambiente a riga di comando in esecuzione in Google Cloud. In Cloud Console, fai clic su Attiva Cloud Shell nell'angolo in alto a destra:
- Esegui i seguenti comandi per autenticarti per il tuo account e impostare 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 con l'SDK ABAP per Google Cloud installato.
- Prima di procedere con questo codelab, devi completare il codelab 1 (Install ABAP Platform Trial 1909 on Google Cloud Platform and Install ABAP SDK for Google Cloud) e il codelab 2 (Configure ABAP SDK Authentication using tokens for SAP Hosted on Compute Engine VM).
- Se hai completato i codelab 1 e 2, avrai eseguito il provisioning di un sistema ABAP Platform Trial 1909 su Google Cloud, insieme alla configurazione richiesta per l'autenticazione e la connettività.
- Se non hai completato i codelab 1 e 2, non avrai tutta l'infrastruttura e la connettività necessarie per eseguire i passaggi descritti in questo codelab. Pertanto, devi completare i codelab 1 e 2 prima di procedere con questo.
4. Abilita la versione 3 dell'API Cloud Translation nel tuo progetto Google Cloud
- Esegui il comando seguente in Cloud Shell per attivare l'API Cloud Translation nel tuo progetto Google Cloud:
gcloud services enable translate.googleapis.com
Al termine dell'esecuzione, dovresti visualizzare un messaggio come mostrato di seguito:
Ora l'API Cloud Translation dovrebbe essere abilitata 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, svolgi i seguenti 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 riportato sopra utilizza abap-sdk-poc come nome del modello per il progetto Google Cloud. Sostituiscilo con l'ID del tuo 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 della chiave client
Ora che hai configurato i prerequisiti lato 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:
- In SAP GUI, inserisci il codice transazione
SPRO
. - Fai clic su SAP Reference IMG (Immagine di riferimento SAP).
- Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura chiave client.
- Mantieni i seguenti valori per i campi:
Campo | Valore |
Nome della 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 un report Z per chiamare l'API Cloud Translation v3 e tradurre un testo
- Accedi al sistema SAP.
- Vai al codice transazione
SE38
e crea un programma report con il nomeZDEMO_TRANSLATE_TEXT.
- Nella finestra popup visualizzata, fornisci i dettagli come mostrato di seguito e fai clic su Salva.
Nel popup successivo, seleziona Oggetto locale o Fornisci un nome del pacchetto in base alla 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).
Al termine dell'esecuzione, dovresti vedere l'output del report come mostrato di seguito:
8. Crea un report Z per chiamare l'API Cloud Translation v3 e rilevare la lingua
- Accedi al sistema SAP.
- Vai al codice transazione
SE38
e crea un programma report con il nomeZDEMO_DETECT_LANGUAGE.
- Nella finestra popup visualizzata, fornisci i dettagli come mostrato di seguito e fai clic su Salva:
Nel popup successivo, seleziona Oggetto locale o Fornisci un nome del pacchetto in base alla 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).
Al termine dell'esecuzione, dovresti vedere l'output del report come mostrato di seguito:
9. Crea un report Z per chiamare il metodo GET_SUPPORTED_LANGUAGES
- Accedi al sistema SAP
- Vai al codice transazione
SE38
e crea un programma report con il nomeZDEMO_GET_LANGUAGES.
- Nella finestra popup visualizzata, fornisci i dettagli come mostrato di seguito e fai clic su Salva.
Nel popup successivo, seleziona Oggetto locale o Fornisci un nome del pacchetto in base alla 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).
Al termine dell'esecuzione, dovresti vedere l'output del report come mostrato di seguito:
10. Complimenti
Complimenti! Hai completato correttamente il codelab "Utilizzo dell'API Translation con l'SDK ABAP per Google Cloud".
L'API Cloud Translation v3, nota anche come API Cloud Translation Advanced, offre molte funzionalità, tra cui:
- Tradurre con modelli personalizzati
- Tradurre 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.
- Inviare un evento a Pub/Sub
- Ricevere un evento da Cloud Pub/Sub
- Caricare un oggetto di grandi dimensioni in un bucket Cloud Storage utilizzando il chunking
- Utilizzare l'API DLP per l'oscuramento delle PII
- Chiamare 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 di calcolo:
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