Compute Engine sanal makinesinde barındırılan SAP jetonlarını kullanarak ABAP SDK kimlik doğrulamasını yapılandırma ve Adres Doğrulama API'sini yürütme

1. Giriş

Bu codelab'de, SAP sisteminiz bir Compute Engine sanal makine örneğinde barındırıldığında jeton kullanarak Google Cloud API'lerine erişmek için kimlik doğrulamayı ayarlama adımlarını göreceksiniz.

Kullanılan hizmetlerin listesi şunlardır:

  • Compute Engine
  • Ağ Hizmetleri
  • Cloud Shell

Neler oluşturacaksınız?

Aşağıdakileri gerçekleştireceksiniz:

  • SAP sisteminde yüklü ABAP SDK'sını, Google API'lerine bağlanacak şekilde yapılandırın.
  • Address Validation API'yi çağırmak için örnek bir rapor programı oluşturun.

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). Sisteminizde zaten 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

6757b2fb50ddcc2d.png

  • Gerekli tüm API'lerin (IAM Service Account Credentials API ve Address Validation API) etkinleştirildiğinden emin olun.
  • 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 projeyi ve alt 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
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b

4. Bir hizmet hesabı oluşturma ve Hizmet Hesabı Jetonu Oluşturucu rolünü ayarlama

Gerekli role sahip bir hizmet hesabı oluşturmak için aşağıdaki adımları uygulayın:

  1. Bir hizmet hesabı oluşturmak için aşağıdaki komutu çalıştırın: (Hizmet hesabı zaten mevcutsa bu adımı atlayın.)
gcloud iam service-accounts create abap-sdk-dev \
    --description="ABAP SDK Dev Account" \
    --display-name="ABAP SDK Dev Account"
  1. Hizmet Hesabı Jetonu Oluşturucu rolünü ayarlamak için aşağıdaki komutu çalıştırın:
gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
    --role=roles/iam.serviceAccountTokenCreator

5. İstemci anahtarını yapılandırın

SAP sistemine DEVELOPER kullanıcı adı ve Htods70334 şifresiyle giriş yapın ve istemci anahtarını yapılandırmak için aşağıdaki adımları uygulayın:

  1. SAP GUI'ye SPRO işlem kodunu girin.
  2. SAP Referansı IMG'yu tıklayın.
  3. Google Cloud için ABAP SDK'sı > Temel Ayarlar > İstemci Anahtarını Yapılandırın.
  4. New Entries (Yeni Girişler) seçeneğini tıklayın.
  5. Aşağıdaki alanlar için değerler girin:

Alan

Açıklama

Google Cloud Anahtarı Adı

ABAP_SDK_DEMO

Google Cloud Hizmet Hesabı Adı

abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com

Google Cloud Kapsamı

https://www.googleapis.com/auth/cloud-platform

Google Cloud Proje Tanımlayıcısı

abap-sdk-poc

Yetkilendirme Sınıfı

/GOOG/CL_AUTH_GOOGLE

Diğer alanları boş bırakın

c72e71da6fd75b29.png

6. RFC Hedefi Oluşturma

IAM kimlik bilgisi ve Address Validation API için RFC hedefi oluşturun.

RFC hedef adı

Hedef ana makine (API uç noktası)

Notlar

ZGOOG_IAMCREDENTIALS

Host: iamcredentials.googleapis.comYol: Önek: /v1/Port: 443SSL: Etkin

Bu RFC hedefi IAM API'yi hedefler.

ZGOOG_ADDRESSVALIDATION_V1

Host: addressvalidation.googleapis.comPort: 443SSL: Etkin

Bu RFC hedefi Adres Doğrulama API'sini hedefliyor

  • Teknik Ayarlar sekmesinde ZGOOG_IAMCREDENTIALS hedefi için aşağıdaki ayrıntıları girin.

e670c6a91acba40f.png

  • Technical Settings (Teknik Ayarlar) sekmesinde ZGOOG_ADDRESSMETRICATION_V1 hedefi için aşağıdaki ayrıntıları girin.

fcf92530ece612ea.png

  • SSL Sertifikası alanında her iki RFC hedefi için de VARSAYILAN SSL İstemcisi (Standart) seçeneğinin belirlendiğinden emin olun.

b6370d12bd332318.png

7. Hizmet eşlemesini yapılandırma

IAM API ve Address Validation API için hizmet eşleme tablosunu yapılandırmak üzere aşağıdaki adımları uygulayın:

  1. SAP GUI'ye SPRO işlem kodunu girin.
  2. SAP Referansı IMG'yu tıklayın.
  3. Google Cloud için ABAP SDK'sı > Temel Ayarlar > Hizmet Eşlemeyi Yapılandırma
  4. RFC hedeflerine bağlı IAM Kimlik Bilgisi ve Adres Doğrulama API'si için Yeni Girişler'i tıklayın.

e227316b0f249823.png

8. Yapılandırmayı doğrula

Kimlik doğrulama yapılandırmasını doğrulamak için aşağıdaki adımları uygulayın:

  1. SAP GUI'ye SPRO işlem kodunu girin.
  2. SAP Referansı IMG'yu tıklayın.
  3. Google Cloud için ABAP SDK'sı > Yardımcı programlar > Kimlik Doğrulama Yapılandırmasını Doğrula.
  4. İstemci anahtarı adını ABAP_SDK_DEMO olarak girin.
  5. Genel akışın başarıyla yapılandırılıp yapılandırılmadığını kontrol etmek için Yürüt'ü tıklayın.
  6. Sonuç sütunundaki yeşil onay, tüm yapılandırma adımlarının başarıyla tamamlandığını gösterir.

d7285e64e22c25b6.png

9. Adres Doğrulama hizmetini çağırmak için bir rapor programı oluşturma

  1. SAP sisteminize giriş yapın.
  2. SE38 işlem koduna gidin ve ZDEMO_ADDRESS_METRICATION adıyla bir rapor programı oluşturun.
  3. Açılan pop-up'ta aşağıda gösterilen bilgileri sağlayın ve Kaydet'i tıklayın.

d8aac0f9e0bc5f9d.png

  1. Bir sonraki pop-up'ta Yerel Nesne'yi seçin veya uygun şekilde bir paket adı girin.
  2. ABAP Editor'da aşağıdaki kodu ekleyin:
" data declarations
DATA lv_ret_code          TYPE i.
DATA lv_err_text          TYPE string.
DATA ls_input             TYPE /goog/cl_addrvaldn_v1=>ty_012.
DATA ls_output            TYPE /goog/cl_addrvaldn_v1=>ty_013.
DATA ls_err_resp          TYPE /goog/err_resp.
DATA lo_exception         TYPE REF TO /goog/cx_sdk.
DATA lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.

" instantiate api client stub
TRY.
    lo_address_validator = NEW #( iv_key_name = 'ABAP_SDK_DEV' ).

    " Pass the address to be validated and corrected.
    " Mountain misspelled as  Moutain
    " Amphitheatre misspelled as Amphithetre
    ls_input-address-region_code = 'US'.
    ls_input-address-locality    = 'Moutain View'.
    APPEND '1600, Amphithetre, Parkway' TO ls_input-address-address_lines.

    " call the api method to validate address
    lo_address_validator->validate_address( EXPORTING is_input    = ls_input
                                            IMPORTING es_output   = ls_output
                                                      ev_ret_code = lv_ret_code
                                                      ev_err_text = lv_err_text
                                                      es_err_resp = ls_err_resp ).
    IF     lo_address_validator->is_success( lv_ret_code ) = abap_true
       AND ls_output-result-verdict-address_complete       = abap_true.
      cl_demo_output=>new(
        )->begin_section( `Original Address`
        )->write_data( ls_input-address-region_code
        )->write_data( ls_input-address-locality
        )->write_data( ls_input-address-address_lines
        )->next_section( `Validated & Corrected Address`
        )->begin_section( `Elementary Object`
        )->write_data( ls_output-result-address-formatted_address
        )->display( ).
    ENDIF.

  CATCH /goog/cx_sdk INTO lo_exception.
    " write code here to handle exceptions
    cl_demo_output=>display( lo_exception->get_text( ) ).
ENDTRY.
  1. Raporu kaydedin ve etkinleştirin.
  2. Raporu çalıştırın (F8).

Yürütme işlemi başarılı olursa rapor çıktısı aşağıdaki gibi gösterilir:

8b0aed97320f4ef.png

10. Tebrikler

Tebrikler! ABAP SDK'sını Adres Doğrulama hizmetini çağıracak şekilde başarıyla yapılandırdınız.

Şimdi diğer ABAP SDK codelab'lerini inceleyerek çeşitli Google Cloud Hizmetlerine erişmek üzere Google Cloud için ABAP SDK'sını kullanma öğrenme yolculuğunuza devam edebilirsiniz.

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

  1. IMG > Google Cloud > Temel Ayarlar > İstemci Anahtarını Yapılandırın.
  2. IMG > Google Cloud > Temel Ayarlar > İstemci Anahtarını Yapılandırın.
  3. ZGOOG_IAMCREDENTIALS ve ZGOOG_ADDRESSVALIDATION_V1 RFC hedeflerini silin.
  4. Hizmet hesabını silin:
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com