1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ tìm hiểu các bước thiết lập tính năng xác thực để truy cập vào Google Cloud API bằng mã thông báo khi hệ thống SAP của bạn được lưu trữ trên một thực thể máy ảo Compute Engine.
Danh sách các dịch vụ được sử dụng là:
- Compute Engine
- Dịch vụ mạng
- Cloud Shell
Sản phẩm bạn sẽ tạo ra
Bạn sẽ thực hiện như sau:
- Định cấu hình SDK ABAP được cài đặt trên hệ thống SAP để kết nối với các API của Google.
- Tạo một chương trình báo cáo mẫu để gọi API Xác thực địa chỉ.
2. Yêu cầu
- Một trình duyệt, chẳng hạn như Chrome hoặc Firefox.
- Một dự án Google Cloud đã bật tính năng thanh toán hoặc Tạo tài khoản dùng thử miễn phí 90 ngày cho Google Cloud Platform.
- GUI SAP (Windows hoặc Java) được cài đặt trong hệ thống của bạn. Nếu GUI SAP đã được cài đặt trên hệ thống của bạn, hãy kết nối với SAP bằng địa chỉ IP bên ngoài của máy ảo làm IP của máy chủ ứng dụng. Nếu dùng máy Mac, bạn cũng có thể cài đặt GUI SAP cho Java qua đường liên kết này.
3. Trước khi bắt đầu
- Trong Google Cloud Console, trên trang bộ chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud (Ví dụ:
abap-sdk-poc).
- Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên Google Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên một dự án hay không. Bỏ qua bước này nếu bạn đang sử dụng Tài khoản dùng thử miễn phí 90 ngày.
- Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud. Trong Cloud Console, hãy nhấp vào Kích hoạt Cloud Shell ở góc trên cùng bên phải:
- Đảm bảo rằng tất cả các API cần thiết (API Thông tin xác thực tài khoản dịch vụ IAM và API xác thực địa chỉ) đều được bật.
- Chạy các lệnh sau để xác thực tài khoản của bạn và đặt dự án mặc định thành
abap-sdk-poc
. Khu vựcus-west4-b
được dùng làm ví dụ. Nếu cần, vui lòng thay đổi dự án và vùng trong các lệnh bên dưới tuỳ theo lựa chọn ưu tiên của bạn.
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
- Đảm bảo rằng bạn có quyền truy cập vào một hệ thống SAP đã cài đặt ABAP SDK dành cho Google Cloud.
- Bạn có thể tham khảo lớp học lập trình " Cài đặt Bản dùng thử ABAP Platform 2022 trên Google Cloud Platform và cài đặt SDK ABAP" thiết lập một hệ thống mới.
4. Tạo một tài khoản dịch vụ và thiết lập vai trò Người tạo mã thông báo cho tài khoản dịch vụ
Để tạo tài khoản dịch vụ với vai trò được yêu cầu, hãy thực hiện các bước sau:
- Chạy lệnh sau để tạo một tài khoản dịch vụ: (Vui lòng bỏ qua bước này nếu đã có tài khoản dịch vụ)
gcloud iam service-accounts create abap-sdk-dev \
--description="ABAP SDK Dev Account" \
--display-name="ABAP SDK Dev Account"
- Chạy lệnh sau để đặt vai trò Service Account Token Creator (Người tạo mã thông báo tài khoản dịch vụ):
gcloud projects add-iam-policy-binding $PROJECT_NAME \
--member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
--role=roles/iam.serviceAccountTokenCreator
5. Định cấu hình khoá ứng dụng
Đăng nhập vào hệ thống SAP bằng tên người dùng DEVELOPER
và mật khẩu Htods70334
, rồi làm theo các bước sau để định cấu hình khoá ứng dụng:
- Trong GUI SAP, hãy nhập mã giao dịch SPRO.
- Nhấp vào Ảnh đối chiếu của SAP.
- Nhấp vào ABAP SDK for Google Cloud > Cài đặt cơ bản > Định cấu hình khoá ứng dụng.
- Nhấp vào Mục nhập mới.
- Nhập giá trị cho các trường sau:
Trường | Mô tả |
Tên khoá Google Cloud | ABAP_SDK_DEMO |
Tên tài khoản dịch vụ Google Cloud | abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com |
Phạm vi của Google Cloud | https://www.googleapis.com/auth/cloud-platform |
Mã nhận dạng dự án trên Google Cloud | abap-sdk-poc |
Lớp uỷ quyền | /GOOG/CL_XÁC_GOOGLE. |
Để trống các trường khác
6. Tạo đích RFC
Tạo đích đến RFC cho thông tin xác thực IAM và API xác thực địa chỉ.
Tên đích đến RFC | Máy chủ đích (điểm cuối API) | Ghi chú |
ZGOOG_IAMCREDENTIALS | Máy chủ lưu trữ: iamcredentials.googleapis.comPath: Tiền tố: /v1/Cổng: 443SSL: Đang hoạt động | Đích RFC này nhắm đến API IAM. |
ZGOOG_ADDRESSVALIDATION_V1 | Máy chủ lưu trữ: addressverification.googleapis.comCổng: 443SSL: Đang hoạt động | Đích đến RFC này nhắm đến API xác thực địa chỉ |
- Trong thẻ Cài đặt kỹ thuật, hãy nhập các thông tin chi tiết sau cho đích đến ZGOOG_IAMCREDENTIALS.
- Trong tab Cài đặt kỹ thuật, nhập các chi tiết sau cho đích đến ZGOOG_ADDRESSVALIDATION_V1.
- Đối với trường Chứng chỉ SSL, hãy đảm bảo rằng bạn chọn tùy chọn DEFAULT SSL Client (Chuẩn) cho cả hai đích đến RFC.
7. Định cấu hình liên kết dịch vụ
Để định cấu hình bảng liên kết dịch vụ cho API IAM và API xác thực địa chỉ, hãy thực hiện các bước sau:
- Trong GUI SAP, hãy nhập mã giao dịch SPRO.
- Nhấp vào Ảnh đối chiếu của SAP.
- Nhấp vào ABAP SDK for Google Cloud > Cài đặt cơ bản > Định cấu hình liên kết dịch vụ.
- Nhấp vào Mục nhập mới để xem API xác thực địa chỉ và thông tin xác thực IAM được liên kết với đích đến RFC.
8. Xác thực cấu hình
Để xác thực cấu hình xác thực, hãy thực hiện các bước sau:
- Trong GUI SAP, hãy nhập mã giao dịch SPRO.
- Nhấp vào Ảnh đối chiếu của SAP.
- Nhấp vào ABAP SDK for Google Cloud > Tiện ích > Xác thực cấu hình xác thực.
- Nhập tên khoá ứng dụng khách là
ABAP_SDK_DEMO
. - Nhấp vào Thực thi để kiểm tra xem quy trình tổng thể có được định cấu hình thành công hay không.
- Dấu kiểm màu xanh lục trong cột Kết quả cho biết rằng tất cả các bước định cấu hình đã hoàn tất thành công.
9. Tạo một chương trình báo cáo để gọi dịch vụ Xác thực địa chỉ
- Đăng nhập vào hệ thống SAP của bạn.
- Truy cập vào mã giao dịch SE38 và tạo chương trình báo cáo có tên Zdemo_ADDRESS_VALIDATION.
- Trong cửa sổ bật lên mới mở ra, hãy cung cấp thông tin chi tiết như bên dưới rồi nhấp vào Lưu.
- Trong cửa sổ bật lên tiếp theo, hãy chọn Local Object (Đối tượng cục bộ) hoặc cung cấp tên gói cho phù hợp.
- Trong Trình chỉnh sửa ABAP, hãy thêm mã sau:
" 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.
- Lưu và kích hoạt báo cáo.
- Thực thi báo cáo (F8).
Khi thực thi thành công, bạn sẽ thấy kết quả báo cáo như sau:
10. Xin chúc mừng
Xin chúc mừng! Bạn đã định cấu hình thành công SDK ABAP để gọi dịch vụ Xác thực địa chỉ.
Giờ đây, bạn có thể tiếp tục tham gia các lớp học lập trình khác về ABAP SDK để tiếp tục hành trình tìm hiểu sử dụng ABAP SDK cho Google Cloud để truy cập vào nhiều Dịch vụ Google Cloud.
11. Dọn dẹp
Nếu bạn không muốn tiếp tục các lớp học lập trình khác liên quan đến ABAP SDK dành cho Google Cloud, vui lòng tiến hành dọn dẹp.
Xoá dự án
- Xoá dự án trên Google Cloud:
gcloud projects delete abap-sdk-poc
Xoá từng tài nguyên
- Xóa các mục cấu hình khóa ứng dụng khách bằng cách truy cập vào IMG > Google Cloud > Cài đặt cơ bản > Định cấu hình khoá ứng dụng.
- Xóa các mục cấu hình ánh xạ dịch vụ bằng cách chuyển đến IMG > Google Cloud > Cài đặt cơ bản > Định cấu hình khoá ứng dụng.
- Xoá các đích đến RFC ZGOOG_IAMCREDENTIALS và ZGOOG_ADDRESSVALIDATION_V1.
- Xoá tài khoản dịch vụ:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com