Panduan memulai ini menunjukkan cara membuat program yang memublikasikan pesan "Hello World!" (Halo Dunia!) ke topik Pub/Sub menggunakan Pub/Sub API melalui ABAP SDK edisi SAP untuk Google Cloud.
Sebelum memulai
Sebelum menjalankan panduan memulai ini, pastikan Anda atau administrator Anda telah memenuhi prasyarat berikut:
Anda memiliki akun dan project Google Cloud.
Penagihan diaktifkan untuk project Anda. Lihat cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda.
ABAP SDK untuk Google Cloud edisi SAP BTP telah diinstal dan dikonfigurasi. Lihat cara menginstal dan mengonfigurasi ABAP SDK edisi SAP BTP untuk Google Cloud.
Autentikasi untuk mengakses Google Cloud API sudah disiapkan. Lihat cara menyiapkan autentikasi.
Anda memiliki akses ke lingkungan SAP BTP, ABAP.
Anda telah mendownload dan menginstal ABAP Development Tools (ADT) terbaru di platform Eclipse terbaru.
Anda telah membuat Project Cloud ABAP.
Memberikan peran IAM
roles/pubsub.publisher
kepada akun layanan.Pastikan Pub/Sub API diaktifkan di project Google Cloud Anda.
Buat topik Pub/Sub
SAMPLE_TOPIC_01
dan tambahkan langganan pullSAMPLE_SUB_TOPIC_01
ke topik yang sama. Untuk mengetahui informasi selengkapnya, lihat Membuat topik dan Membuat langganan.
Membuat class ABAP untuk memublikasikan pesan ke topik Pub/Sub
Buat paket:
- Di ADT, buka Project Explorer.
- Klik kanan paket
ZLOCAL
, lalu pilih New > ABAP Package. Masukkan detail berikut untuk paket Anda:
- Name: masukkan
ZABAPSDK_TEST
. - Description: masukkan
ABAP SDK Test Package
.
- Name: masukkan
Klik Next.
Pada dialog Select a Transport Request, centang kotak Create a new request.
Masukkan deskripsi untuk permintaan transportasi.
Klik Selesai.
Buat class ABAP untuk memanggil Pub/Sub API:
- Klik kanan paket ABAP dan pilih New > ABAP Class.
Masukkan detail berikut untuk class ABAP Anda:
- Name: masukkan
ZGOOG_CL_QS_PUBSUB
. - Description: masukkan
Quick start for Pub/Sub API
.
- Name: masukkan
Klik Next.
Pilih permintaan transportasi, lalu klik Selesai.
Di editor kode, ganti kode default dengan cuplikan kode berikut:
CLASS zcl_qs_publish_messages DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES if_oo_adt_classrun. ENDCLASS. CLASS zcl_qs_publish_messages IMPLEMENTATION. METHOD if_oo_adt_classrun~main. DATA ls_input TYPE /goog/cl_pubsub_v1=>ty_023. DATA lo_pubsub TYPE REF TO /goog/cl_pubsub_v1. DATA lv_p_projects_id TYPE string. DATA lv_p_topics_id TYPE string. TRY. " Open HTTP connection lo_pubsub = NEW /goog/cl_pubsub_v1( iv_key_name = 'DEMO_PUBSUB' ). " Pass the relevant input parameters lv_p_topics_id = 'SAMPLE_TOPIC_01'. lv_p_projects_id = lo_pubsub->gv_project_id. APPEND VALUE #( data = cl_http_utility=>encode_base64( 'Hello World!' ) ) TO ls_input-messages. " Call the API lo_pubsub->publish_topics( EXPORTING iv_p_projects_id = lv_p_projects_id iv_p_topics_id = lv_p_topics_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(ls_err_resp) ). " Handle the output IF lo_pubsub->is_success( lv_ret_code ). out->write( 'Message was published!' ). ELSE. out->write( 'Message was not published!' ). ENDIF. " Close the HTTP Connection lo_pubsub->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). MESSAGE lo_exception->get_text( ) TYPE 'E'. ENDTRY. ENDMETHOD. ENDCLASS.
Ganti
DEMO_PUBSUB
dengan nama kunci klien.Simpan dan aktifkan perubahan.
Jalankan aplikasi Anda:
- Pilih class ABAP
ZGOOG_CL_QS_PUBSUB
. - Klik Run > Run As > ABAP Application (Console).
Atau, tekan
F9
.
- Pilih class ABAP
Untuk memvalidasi hasilnya, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka Pub/Sub.
Pilih langganan
SAMPLE_SUB_TOPIC_01
, lalu buka tab Pesan.Gunakan fitur PULL untuk memeriksa apakah pesan "Hello World!" telah dipublikasikan ke topik.
Langkah selanjutnya
- Baca panduan Pengembangan aplikasi dengan ABAP SDK edisi SAP BTP untuk Google Cloud.
- Ajukan pertanyaan dan diskusikan ABAP SDK untuk Google Cloud dengan komunitas di Forum Cloud.