กำหนดค่าการตรวจสอบสิทธิ์ ABAP SDK โดยใช้โทเค็นสำหรับ SAP ที่โฮสต์บน Compute Engine VM และเรียกใช้ API การตรวจสอบที่อยู่

1. บทนำ

ใน Codelab นี้ คุณจะต้องทำตามขั้นตอนในการตั้งค่าการตรวจสอบสิทธิ์เพื่อเข้าถึง Google Cloud API โดยใช้โทเค็นเมื่อระบบโฮสต์ระบบ SAP บนอินสแตนซ์ VM ของ Compute Engine

บริการที่ใช้มีดังนี้

  • Compute Engine
  • บริการเครือข่าย
  • Cloud Shell

สิ่งที่คุณจะสร้าง

คุณจะดำเนินการต่อไปนี้

  • กำหนดค่า ABAP SDK ที่ติดตั้งในระบบ SAP เพื่อเชื่อมต่อกับ Google APIs
  • สร้างโปรแกรมรายงานตัวอย่างเพื่อเรียกใช้ API การตรวจสอบที่อยู่

2. ข้อกำหนด

  • เบราว์เซอร์ เช่น Chrome หรือ Firefox
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงินหรือสร้างบัญชีทดลองใช้ฟรี 90 วันสำหรับ Google Cloud Platform
  • ติดตั้ง SAP GUI (Windows หรือ Java) ในระบบแล้ว หากติดตั้ง SAP GUI ไว้ในระบบแล้ว ให้เชื่อมต่อกับ SAP โดยใช้ที่อยู่ IP ภายนอกของ VM เป็น IP ของแอปพลิเคชัน หากคุณใช้ Mac คุณสามารถติดตั้ง SAP GUI สำหรับ Java ที่มีอยู่ในลิงก์นี้

3. ก่อนเริ่มต้น

6757b2fb50ddcc2d.png

  • ตรวจสอบว่าเปิดใช้ API ที่จำเป็นทั้งหมด (API ข้อมูลเข้าสู่ระบบของบัญชีบริการ IAM และ API การตรวจสอบที่อยู่) แล้ว
  • เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบสิทธิ์สำหรับบัญชีของคุณและตั้งค่าโปรเจ็กต์เริ่มต้นเป็น abap-sdk-poc ระบบใช้โซน us-west4-b เป็นตัวอย่าง หากจำเป็น โปรดเปลี่ยนโปรเจ็กต์และโซนในคำสั่งด้านล่างตามความต้องการ
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. สร้างบัญชีบริการและกำหนดบทบาทผู้สร้างโทเค็นบัญชีบริการ

หากต้องการสร้างบัญชีบริการที่มีบทบาทที่จำเป็น ให้ทำตามขั้นตอนต่อไปนี้

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างบัญชีบริการ (โปรดข้ามขั้นตอนนี้หากมีบัญชีบริการอยู่แล้ว)
gcloud iam service-accounts create abap-sdk-dev \
    --description="ABAP SDK Dev Account" \
    --display-name="ABAP SDK Dev Account"
  1. เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดบทบาทผู้สร้างโทเค็นบัญชีบริการ
gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
    --role=roles/iam.serviceAccountTokenCreator

5. กำหนดค่าคีย์ไคลเอ็นต์

เข้าสู่ระบบระบบ SAP ด้วยชื่อผู้ใช้ DEVELOPER และรหัสผ่าน Htods70334 และทำตามขั้นตอนเหล่านี้เพื่อกำหนดค่าคีย์ไคลเอ็นต์

  1. ใน SAP GUI ให้ป้อนรหัสธุรกรรม SPRO
  2. คลิก SAP หมายเลขอ้างอิง IMG
  3. คลิก ABAP SDK สําหรับ Google Cloud > การตั้งค่าพื้นฐาน > กำหนดค่าคีย์ไคลเอ็นต์
  4. คลิกข้อมูลใหม่
  5. ป้อนค่าในช่องต่อไปนี้

ช่อง

คำอธิบาย

ชื่อคีย์ Google Cloud

ABAP_SDK_DEMO

ชื่อบัญชีบริการ Google Cloud

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

ขอบเขตของ Google Cloud

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

ตัวระบุโปรเจ็กต์ Google Cloud

abap-sdk-poc

คลาสการให้สิทธิ์

/GOOG/CL_AUTH_GOOGLE

เว้นช่องอื่นๆ ว่างไว้

c72e71da6fd75b29.png

6. สร้างปลายทาง RFC

สร้างปลายทาง RFC สำหรับข้อมูลเข้าสู่ระบบ IAM และ Address Validation API

ชื่อปลายทาง RFC

โฮสต์เป้าหมาย (ปลายทาง API)

หมายเหตุ

ZGOOG_IAMCREDENTIALS

โฮสต์: iamcredentials.googleapis.comเส้นทาง: คำนำหน้า: /v1/Port: 443SSL: ใช้งานอยู่

ปลายทาง RFC นี้กำหนดเป้าหมาย IAM API

ZGOOG_ADDRESSVALIDATION_V1

โฮสต์: addressValidation.googleapis.comPort: 443SSL: ใช้งานอยู่

ปลายทาง RFC นี้กำหนดเป้าหมาย API การตรวจสอบที่อยู่

  • ในแท็บการตั้งค่าทางเทคนิค ให้ป้อนรายละเอียดต่อไปนี้สำหรับปลายทาง ZGOOG_IAMCREDENTIALS

e670c6a91acba40f.png

  • ในแท็บการตั้งค่าทางเทคนิค ให้ป้อนรายละเอียดต่อไปนี้สำหรับปลายทาง ZGOOG_ADDRESSVALIDATION_V1

fcf92530ece612ea.png

  • สำหรับช่องใบรับรอง SSL โปรดตรวจสอบว่าได้เลือกตัวเลือกไคลเอ็นต์ SSL เริ่มต้น (มาตรฐาน) สำหรับทั้งปลายทาง RFC

b6370d12bd332318.png

7. กำหนดค่าการแมปบริการ

ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่าตารางการแมปบริการสำหรับ IAM API และ Address Validation API

  1. ใน SAP GUI ให้ป้อนรหัสธุรกรรม SPRO
  2. คลิก SAP หมายเลขอ้างอิง IMG
  3. คลิก ABAP SDK สําหรับ Google Cloud > การตั้งค่าพื้นฐาน > กำหนดค่าการจับคู่บริการ
  4. คลิกข้อมูลใหม่สำหรับ API การตรวจสอบข้อมูลเข้าสู่ระบบ IAM และที่อยู่ที่ลิงก์กับปลายทาง RFC

e227316b0f249823.png

8. ตรวจสอบการกำหนดค่า

โปรดทำตามขั้นตอนต่อไปนี้เพื่อตรวจสอบการกำหนดค่าการตรวจสอบสิทธิ์

  1. ใน SAP GUI ให้ป้อนรหัสธุรกรรม SPRO
  2. คลิก SAP หมายเลขอ้างอิง IMG
  3. คลิก ABAP SDK สําหรับ Google Cloud > ยูทิลิตี > ตรวจสอบการกำหนดค่าการตรวจสอบสิทธิ์
  4. ป้อนชื่อคีย์ไคลเอ็นต์เป็น ABAP_SDK_DEMO
  5. คลิกดำเนินการเพื่อตรวจสอบว่ากำหนดค่าขั้นตอนโดยรวมสำเร็จแล้วหรือไม่
  6. เครื่องหมายถูกสีเขียวในคอลัมน์ "ผลลัพธ์" แสดงว่าขั้นตอนการกำหนดค่าทั้งหมดเสร็จสมบูรณ์แล้ว

d7285e64e22c25b6.png

9. สร้างโปรแกรมรายงานเพื่อเรียกใช้บริการตรวจสอบที่อยู่

  1. ลงชื่อเข้าสู่ระบบ SAP
  2. ไปที่รหัสธุรกรรม SE38 และสร้างโปรแกรมรายงานชื่อ ZDEMO_ADDRESS_VALIDATION
  3. ในป๊อปอัปที่เปิดขึ้น ให้ระบุรายละเอียดดังที่แสดงด้านล่าง แล้วคลิกบันทึก

d8aac0f9e0bc5f9d.png

  1. ในป๊อปอัปถัดไป ให้เลือก Local Object หรือระบุชื่อแพ็กเกจตามความเหมาะสม
  2. ในตัวแก้ไข ABAP ให้เพิ่มโค้ดต่อไปนี้
" 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. บันทึกและเปิดใช้งานรายงาน
  2. เรียกใช้รายงาน (F8)

เมื่อดําเนินการสำเร็จ คุณควรเห็นผลลัพธ์รายงานดังที่แสดงด้านล่าง

8b0aed97320f4ef.png

10. ขอแสดงความยินดี

ยินดีด้วย คุณกำหนดค่า ABAP SDK เพื่อเรียกใช้บริการการตรวจสอบที่อยู่เรียบร้อยแล้ว

คุณสามารถศึกษาเพิ่มเติมเกี่ยวกับ ABAP SDK Codelab เพื่อศึกษาเส้นทางการเรียนรู้ในการใช้ ABAP SDK สำหรับ Google Cloud เพื่อเข้าถึงบริการต่างๆ ของ Google Cloud ต่อไปได้

11. ล้างข้อมูล

หากไม่ต้องการใช้งาน Codelab เพิ่มเติมที่เกี่ยวข้องกับ ABAP SDK สำหรับ Google Cloud ต่อ โปรดทําการล้างข้อมูลต่อ

ลบโปรเจ็กต์

  • ลบโปรเจ็กต์ Google Cloud โดยทำดังนี้
gcloud projects delete abap-sdk-poc

ลบทรัพยากรแต่ละรายการ

  1. ลบรายการการกำหนดค่าคีย์ไคลเอ็นต์โดยไปที่ IMG > Google Cloud > การตั้งค่าพื้นฐาน > กำหนดค่าคีย์ไคลเอ็นต์
  2. ลบรายการการกำหนดค่าการจับคู่บริการโดยไปที่ IMG > Google Cloud > การตั้งค่าพื้นฐาน > กำหนดค่าคีย์ไคลเอ็นต์
  3. ลบปลายทาง RFC ZGOOG_IAMCREDENTIALS และ ZGOOG_ADDRESSVALIDATION_V1
  4. ลบบัญชีบริการ
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com