1. Giriş
Bu codelab'de, Google Cloud için ABAP SDK'sını kullanarak Translation API V3 (Gelişmiş) yöntemlerini çağırmaya yönelik adımlar açıklanmaktadır. Bu codelab'de, Translation API V3'ü kullanarak bir metni nasıl çevireceğinizi, metin dilini nasıl tespit edeceğinizi ve desteklenen dilleri nasıl listeleyeceğinizi ele alacağız
Bu codelab'de aşağıdaki Google Cloud hizmetleri kullanılır:
- Compute Engine
- Ağ Hizmetleri
- Cloud Shell
- Cloud Translation API Sürüm 3
Ön koşullar
- Google Cloud için ABAP SDK'sının yüklü olduğu bir SAP sistemine erişiminiz olduğundan emin olun.
- Codelab'e bakabilirsiniz. " ABAP Platform Denemesini Google Cloud Platform'a Yükleyin ve ABAP SDK'sını Yükleyin" yeni bir sistem kurun.
Neler oluşturacaksınız?
Google Cloud için ABAP SDK'sını kullanarak SAP sisteminizde aşağıdaki programları oluşturacaksınız:
- Google Cloud Translation API V3'ü kullanarak metinleri birden çok dile çevirin
- Google Cloud Translation API V3'ü kullanarak kaynak metnin dilini algılama
- Google Cloud Translation API V3'ün desteklenen dillerini listeleme
2. Şartlar
- Chrome veya Firefox gibi bir tarayıcı.
- Faturalandırmanın etkinleştirilmiş olduğu bir Google Cloud projesi veya Google Cloud Platform için 90 günlük ücretsiz deneme hesabı oluşturun.
- Sisteminizde yüklü SAP GUI (Windows veya Java). Makinenizde SAP GUI yüklüyse Uygulama Sunucusu IP adresi olarak sanal makine harici IP adresini kullanarak SAP'ye bağlanın. Mac kullanıyorsanız bu bağlantıdan Java için SAP GUI'yi de yükleyebilirsiniz.
3. Başlamadan önce
- Google Cloud için ABAP SDK'sının yüklü olduğu bir SAP sistemine erişiminiz olduğundan emin olun.
- Codelab'e bakabilirsiniz. " ABAP Platform Denemesini Google Cloud Platform'a Yükleyin ve ABAP SDK'sını Yükleyin" yeni bir sistem kurun.
- Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun (Örneğin:
abap-sdk-poc).
- Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Bir projede faturalandırmanın etkin olup olmadığını nasıl kontrol edeceğinizi öğrenin. 90 günlük ücretsiz deneme hesabını kullanıyorsanız bu adımı atlayın.
- Google Cloud'da çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız. Cloud Console'da, sağ üst köşedeki Cloud Shell'i etkinleştir'i tıklayın:
- Hesabınızın kimliğini doğrulamak için aşağıdaki komutları çalıştırın ve varsayılan projeyi
abap-sdk-poc
olarak ayarlayın.us-west4-b
alt bölgesi örnek olarak kullanılmıştır. Gerekirse lütfen aşağıdaki komutlarda tercihinize göre projeyi ve alt bölgeyi değiştirin.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
- Google Cloud için ABAP SDK'sının yüklü olduğu bir SAP sistemine erişiminiz olmalıdır.
- Bu codelab'e devam etmeden önce codelab 1'i (Google Cloud Platform'a ABAP Platform Denemesi 1909'u yükleme ve Google Cloud için ABAP SDK'sını yükleme) ve codelab 2'yi (Compute Engine sanal makinesinde SAP Barındırılan SAP'ye yönelik jetonları kullanarak ABAP SDK kimlik doğrulamasını yapılandırma) tamamlamanız gerekir.
- codelab 1 ve codelab 2'yi tamamladıysanız bu işlem size Google Cloud'da ABAP Platform Deneme 1909 Sistemi ile kimlik doğrulama ve bağlantı için gerekli kuruluma sahip olmanızı sağlamıştır.
- codelab 1 ve codelab 2'yi tamamlamadıysanız bu codelab'de belirtilen adımları gerçekleştirmek için gereken tüm altyapı ve bağlantıya sahip olmayabilirsiniz. Bu nedenle, bu codelab'e geçmeden önce codelab 1 ve codelab 2'yi tamamlamanız gerekir.
4. Google Cloud projenizde Cloud Translation API V3'ü etkinleştirme
- Cloud Shell'de aşağıdaki komutu yürütün. Bu işlem, Google Cloud projenizde Cloud Translation API'yi etkinleştirir:
gcloud services enable translate.googleapis.com
Yürütme işlemi başarılı olursa aşağıdaki gibi bir mesaj gösterilir:
Artık Google Cloud Projenizde Cloud Translation API'yi etkinleştirmiş olmanız gerekir
5. Cloud Translation Kullanıcı Rolü ile Hizmet Hesabı Oluşturma
Gerekli role sahip bir hizmet hesabı oluşturmak için aşağıdaki adımları uygulayın:
- Cloud Shell terminalinde aşağıdaki komutu çalıştırın:
gcloud iam service-accounts create abap-sdk-translation-tester \
--display-name="Service Account for Translation"
- Şimdi, yukarıdaki adımda oluşturulan hizmet hesabına gerekli rolleri ekleyin.
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'
Yukarıdaki komut, Google Cloud projesi için şablon adı olarak abap-sdk-poc'u kullanır. Bu kimliği proje kimliğinizle değiştirin.
- Rolün eklendiğini doğrulamak için IAM sayfasına gidin. Oluşturduğunuz hizmet hesabı, kendisine atanan rolle birlikte aşağıda gösterildiği gibi listelenmelidir:
6. İstemci Anahtarı Yapılandırması Oluşturma
Google Cloud tarafındaki ön koşulları ayarladığınıza göre şimdi SAP tarafındaki yapılandırmaya geçebiliriz.
Google Cloud için ABAP SDK'sı, kimlik doğrulama ve bağlantıyla ilgili yapılandırma için /GOOG/CLIENT_KEY
tablosunu kullanır.
/GOOG/CLIENT_KEY
tablosundaki yapılandırmayı korumak için aşağıdaki adımları uygulayın:
- SAP GUI'ye işlem kodunu
SPRO
girin. - SAP Referansı IMG'yu tıklayın.
- Google Cloud için ABAP SDK'sı > Temel Ayarlar > İstemci Anahtarını Yapılandırın.
- Alanlarda aşağıdaki değerleri koruyun:
Alan | Değer |
Google Cloud Anahtarı Adı | TEST_TRANSLATION |
Google Cloud Hizmet Hesabı Adı |
|
Google Cloud Kapsamı |
|
Proje kimliği | abap-sdk-poc |
Yetkilendirme Sınıfı |
|
Diğer tüm alanları boş bırakın
7. Cloud Translation API V3'ü çağırmak ve bir metni çevirmek için Z raporu oluşturma
- SAP sisteminize giriş yapın.
SE38
işlem koduna gidin veZDEMO_TRANSLATE_TEXT.
adıyla bir Rapor Programı oluşturun- Açılan pop-up'ta aşağıda gösterilen bilgileri sağlayın ve Kaydet'i tıklayın.
Bir sonraki pop-up'ta Yerel Nesne'yi veya Tercihinize göre bir paket adı sağlayın'ı seçin.
- ABAP Editor'da aşağıdaki kodu ekleyin:
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.
- Raporu kaydedin ve etkinleştirin.
- Raporu çalıştırın (F8).
Yürütme işlemi başarılı olursa rapor çıktısı aşağıdaki gibi gösterilir:
8. Cloud Translation API V3'ü çağırmak ve dili algılamak için bir Z raporu oluşturun
- SAP sisteminize giriş yapın.
SE38
işlem koduna gidin veZDEMO_DETECT_LANGUAGE.
adıyla bir Rapor Programı oluşturun- Açılan pop-up'ta aşağıda gösterilen bilgileri sağlayın ve Kaydet'i tıklayın:
Bir sonraki pop-up'ta Yerel Nesne'yi veya Tercihinize göre bir paket adı sağlayın'ı seçin.
- ABAP Editor'da aşağıdaki kodu ekleyin:
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.
- Raporu kaydedin ve etkinleştirin.
- Raporu çalıştırın (F8).
Yürütme işlemi başarılı olursa rapor çıktısı aşağıdaki gibi gösterilir:
9. GET_SUPPORTED_LANGUAGES yöntemini çağırmak için bir Z raporu oluşturun
- SAP sisteminize giriş yapın
SE38
işlem koduna gidin veZDEMO_GET_LANGUAGES.
adıyla bir Rapor Programı oluşturun- Açılan pop-up'ta aşağıda gösterilen bilgileri sağlayın ve Kaydet'i tıklayın.
Bir sonraki pop-up'ta Yerel Nesne'yi veya Tercihinize göre bir paket adı sağlayın'ı seçin.
- ABAP Editor'da aşağıdaki kodu ekleyin:
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.
- Raporu kaydedin ve etkinleştirin.
- Raporu çalıştırın (F8).
Yürütme işlemi başarılı olursa rapor çıktısı aşağıdaki gibi gösterilir:
10. Tebrikler
Tebrikler! "Using Translation API with ABAP SDK for Google Cloud" (Google Cloud için ABAP SDK'sı ile Translation API'yi kullanma) kursunu başarıyla tamamladınız. codelab'e göz atın.
Cloud Translation API Advanced olarak da bilinen Cloud Translation API V3'ün birçok özelliği vardır. Örneğin:
- Özel Modellerle Çeviri
- Sözlükleri kullanarak çevirme
- Harf Çevirisi Desteği
- Doküman Çevirisi
Artık aşağıdaki codelab'leri inceleyerek çeşitli Google Cloud Hizmetlerine erişmek için Google Cloud için ABAP SDK'sını kullanma öğrenme yolculuğunuza devam edebilirsiniz.
- Pub/Sub'a etkinlik gönderme
- Cloud Pub/Sub'dan etkinlik alma
- Parçalama kullanarak Cloud Storage paketine büyük bir nesne yükleme
- Kimliği tanımlayabilecek bilgileri (PII) çıkartma için DLP API kullanma
- ABAP'den BigQuery ML'yi çağırma
11. Temizleme
Google Cloud için ABAP SDK'sı ile ilgili ek codelab'lere geçmek istemiyorsanız lütfen temizleme işlemine devam edin.
Projeyi silme
- Google Cloud projesini silin:
gcloud projects delete abap-sdk-poc
Kaynakları tek tek silme
- Compute örneğini silin:
gcloud compute instances delete abap-trial-docker
- Güvenlik duvarı kurallarını silin:
gcloud compute firewall-rules delete sapmachine
- Hizmet hesabını silin:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com