1. Giriş
Bu kod laboratuvarında, Google Cloud için ABAP SDK'sını kullanarak Translation API V3 (İleri) yöntemlerini çağırma adımları sağlanmaktadır. Bu codelab'de, Translation API V3'ü kullanarak bir metnin nasıl çevrileceğini, metnin dilinin nasıl tespit edileceğini ve desteklenen dillerin nasıl listeleneceğini göreceğiz.
Bu kod laboratuvarında aşağıdaki Google Cloud hizmetleri kullanılmaktadır:
- Compute Engine
- Ağ Hizmetleri
- Cloud Shell
- Cloud Translation API v3
Ö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.
- Yeni bir sistem oluşturmak için "Google Cloud Platform'a ABAP Platform Deneme Sürümü'nü ve ABAP SDK'sını Yükleme" kod laboratuvarına başvurabilirsiniz.
Ne oluşturacaksınız?
Google Cloud için ABAP SDK'sını kullanarak SAP sisteminizde aşağıdaki programları oluşturursunuz:
- Google'ın Cloud Translation API V3'ünü kullanarak metinleri birden fazla dile çevirme
- Google Cloud Translation API v3'ü kullanarak kaynak metnin dilini algılama
- Google Cloud Translation API V3'ün desteklediği dilleri listeleme
2. Şartlar
- Chrome veya Firefox gibi bir tarayıcı.
- Faturalandırmanın etkin olduğu bir Google Cloud projesi veya Google Cloud Platform için 90 Günlük Ücretsiz Deneme hesabı oluşturun.
- Sisteminizde SAP GUI (Windows veya Java) yüklü olmalıdır. SAP GUI makinenizde zaten yüklüyse uygulama sunucusu IP'si olarak sanal makinenin harici IP adresini kullanarak SAP'e bağlanın. Mac kullanıyorsanız bu bağlantıda bulunan 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.
- Yeni bir sistem oluşturmak için "Google Cloud Platform'a ABAP Platform Deneme Sürümü'nü ve ABAP SDK'sını Yükleme" kod laboratuvarına başvurabilirsiniz.
- Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun (örneğin:
abap-sdk-poc).
- Cloud projenizde faturalandırmanın etkinleştirildiğinden emin olun. Projede faturalandırmanın etkin olup olmadığını nasıl kontrol edeceğinizi öğrenin. 90 Günlük Ücretsiz Deneme Hesabı 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 ve varsayılan projeyi
abap-sdk-poc
olarak ayarlamak için aşağıdaki komutları çalıştırın. Örnek olarakus-west4-b
bölgesi kullanılmıştır. Gerekirse lütfen aşağıdaki komutlardaki projeyi ve bölgeyi tercihinize göre 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 1. codelab'i (Google Cloud Platform'a ABAP Platform Trial 1909'u ve Google Cloud için ABAP SDK'sını yükleme) ve 2. codelab'i (Compute Engine sanal makinesinde barındırılan SAP için jetonları kullanarak ABAP SDK kimlik doğrulamasını yapılandırma) tamamlamanız gerekir.
- 1. ve 2. codelab'i tamamladıysanız kimlik doğrulama ve bağlantı için gerekli kurulumla birlikte Google Cloud'da bir ABAP Platform Trial 1909 sistemi sağlanmış olur.
- 1. ve 2. codelab'i tamamlamadıysanız bu codelab'de verilen adımları gerçekleştirmek için gerekli tüm altyapıya ve bağlantıya sahip olmazsınız. Bu nedenle, bu codelab'e devam etmeden önce 1. ve 2. codelab'i tamamlamanız gerekir.
4. Google Cloud projenizde Cloud Translation API V3'ü etkinleştirme
- Cloud Shell'de aşağıdaki komutu çalıştırın. Bu komut, Google Cloud projenizde Cloud Translation API'yi etkinleştirir:
gcloud services enable translate.googleapis.com
Başarılı bir yürütme işleminde aşağıdaki gibi bir mesaj görürsünüz:
Artık Google Cloud projenizde Cloud Translation API'yi etkinleştirmiş olmanız gerekir.
5. Cloud Translation Kullanıcı Rolüne Sahip Bir 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 komutta, Google Cloud projesi için şablon adı olarak abap-sdk-poc kullanılmaktadır. Bu değeri proje kimliğinizle değiştirin.
- Rolün eklendiğini doğrulamak için IAM sayfasına gidin. Oluşturduğunuz hizmet hesabı, aşağıda gösterildiği gibi kendisine atanan rolle birlikte listelenir:
6. İstemci Anahtar Yapılandırması Oluşturma
Google Cloud tarafındaki ön koşulları ayarladığınıza göre SAP tarafında yapılandırma işlemine 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'de
SPRO
işlem kodunu girin. - SAP Reference IMG'yi (SAP Referans IMG'si) tıklayın.
- Google Cloud için ABAP SDK'sı > Temel Ayarlar > İstemci Anahtarını Yapılandır'ı tıklayı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.
adlı bir rapor programı oluşturun- Açılan pop-up'ta aşağıda gösterildiği gibi ayrıntıları girin ve Kaydet'i tıklayın.
Sonraki pop-up'ta Yerel Nesne'yi seçin veya tercihinize göre bir paket adı girin.
- ABAP Düzenleyici'ye 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 kaydedip etkinleştirin.
- Raporu çalıştırın (F8).
Başarılı bir yürütme işleminde, rapor çıkışını aşağıdaki gibi görürsünüz:
8. Cloud Translation API v3'ü çağırmak ve dili algılamak için Z raporu oluşturma
- SAP sisteminize giriş yapın.
SE38
işlem koduna gidin veZDEMO_DETECT_LANGUAGE.
adlı bir rapor programı oluşturun- Açılan pop-up'ta aşağıda gösterildiği gibi ayrıntıları girin ve Kaydet'i tıklayın:
Sonraki pop-up'ta Yerel Nesne'yi seçin veya tercihinize göre bir paket adı girin.
- ABAP Düzenleyici'ye 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 kaydedip etkinleştirin.
- Raporu çalıştırın (F8).
Başarılı bir yürütme işleminde, rapor çıkışını aşağıdaki gibi görürsünüz:
9. GET_SUPPORTED_LANGUAGES Yöntemini Çağırmak İçin Z Raporu Oluşturma
- SAP sisteminize giriş yapın
SE38
işlem koduna gidin veZDEMO_GET_LANGUAGES.
adlı bir rapor programı oluşturun- Açılan pop-up'ta aşağıdaki gibi ayrıntıları sağlayın ve Kaydet'i tıklayın.
Sonraki pop-up'ta Yerel Nesne'yi seçin veya tercihinize göre bir paket adı girin.
- ABAP Düzenleyici'ye 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 kaydedip etkinleştirin.
- Raporu çalıştırın (F8).
Başarılı bir yürütme işleminde, rapor çıkışını aşağıdaki gibi görürsünüz:
10. Tebrikler
Tebrikler! "Google Cloud için ABAP SDK'sı ile Translation API'yi kullanma" kod laboratuvarını başarıyla tamamladınız.
Cloud Translation API Advanced olarak da bilinen Cloud Translation API V3'ün birçok özelliği vardır:
- Özel modellerle çeviri
- Sözlükleri kullanarak çeviri yapma
- Harf Çevirisi Desteği
- Doküman Çevirisi
Artık çeşitli Google Cloud hizmetlerine erişmek için Google Cloud için ABAP SDK'sını kullanmayla ilgili öğrenme yolculuğunuza devam etmek üzere aşağıdaki codelab'lere geçebilirsiniz.
- Pub/Sub'a etkinlik gönderme
- Cloud Pub/Sub'dan etkinlik alma
- Parçalara ayırma özelliğini kullanarak büyük bir nesneyi Cloud Storage paketine yükleme
- Kimliği tanımlayabilecek bilgileri çıkarmak için DLP API'yi kullanma
- ABAP'den BigQuery ML'yi çağırma
11. Temizleme
Google Cloud için ABAP SDK'sıyla ilgili ek kod laboratuvarlarına devam etmek 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
- Hesaplama ö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