In dieser Kurzanleitung erfahren Sie, wie Sie ein Programm erstellen, das eine "Hello World!" Nachricht an ein Pub/Sub-Thema mithilfe der Pub/Sub API über die SAP BTP-Edition des ABAP SDK for Google Cloud sendet.
Hinweise
Bevor Sie diese Kurzanleitung ausführen, müssen Sie oder Ihre Administratoren die folgenden Voraussetzungen erfüllt haben:
Sie haben ein Google Cloud-Konto und -Projekt.
Die Abrechnung ist für Ihr Projekt aktiviert. Prüfen, ob die Abrechnung für Ihr Projekt aktiviert ist
Die SAP BTP-Version des ABAP SDK for Google Cloud ist installiert und konfiguriert. SAP BTP-Edition des ABAP SDK for Google Cloud installieren und konfigurieren.
Die Authentifizierung für den Zugriff auf Google Cloud APIs ist eingerichtet. Authentifizierung einrichten
Sie haben Zugriff auf die SAP BTP, ABAP-Umgebung.
Sie haben die neuesten ABAP-Entwicklungstools (ADT) auf die neueste Eclipse-Plattform heruntergeladen und installiert.
Sie haben ein ABAP-Cloud-Projekt erstellt.
Gewähren Sie dem Dienstkonto die IAM-Rolle
roles/pubsub.publisher
.Achten Sie darauf, dass die Pub/Sub API in Ihrem Google Cloud-Projekt aktiviert ist.
Erstellen Sie ein Pub/Sub-Thema
SAMPLE_TOPIC_01
und fügen Sie demselben ein Pull-AboSAMPLE_SUB_TOPIC_01
hinzu. Weitere Informationen finden Sie unter Thema erstellen und Abo erstellen.
ABAP-Klasse erstellen, um Nachrichten in einem Pub/Sub-Thema zu veröffentlichen
Paket erstellen:
- Rufen Sie in ADT den Project Explorer auf.
- Klicken Sie mit der rechten Maustaste auf das Paket
ZLOCAL
und wählen Sie Neu > ABAP-Paket aus. Geben Sie die folgenden Details für das Paket ein:
- Name: Geben Sie
ZABAPSDK_TEST
ein. - Beschreibung: Geben Sie
ABAP SDK Test Package
ein.
- Name: Geben Sie
Klicken Sie auf Next (Weiter).
Klicken Sie im Dialogfeld Transportanfrage auswählen das Kästchen Neue Anfrage erstellen an.
Geben Sie eine Beschreibung für die Transportanfrage ein.
Klicken Sie auf Finish (Beenden).
Erstellen Sie eine ABAP-Klasse, um die Pub/Sub API aufzurufen:
- Klicken Sie mit der rechten Maustaste auf Ihr ABAP-Paket und wählen Sie Neu > ABAP-Klasse aus.
Geben Sie die folgenden Details für Ihre ABAP-Klasse ein:
- Name: Geben Sie
ZGOOG_CL_QS_PUBSUB
ein. - Beschreibung: Geben Sie
Quick start for Pub/Sub API
ein.
- Name: Geben Sie
Klicken Sie auf Next (Weiter).
Wählen Sie eine Transportanfrage aus und klicken Sie auf Finish (Fertigstellen).
Ersetzen Sie im Code-Editor den Standardcode durch das folgende Code-Snippet:
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.
Ersetzen Sie
DEMO_PUBSUB
durch den Namen des Clientschlüssels.Speichern und aktivieren Sie die Änderungen.
Führen Sie Ihre Anwendung aus
- Wählen Sie die ABAP-Klasse
ZGOOG_CL_QS_PUBSUB
aus. - Klicken Sie auf Ausführen > Ausführen als > ABAP-Anwendung (Console).
Alternativ können Sie
F9
drücken.
- Wählen Sie die ABAP-Klasse
So prüfen Sie die Ergebnisse:
Rufen Sie in der Google Cloud Console Pub/Sub auf.
Wählen Sie das Abo
SAMPLE_SUB_TOPIC_01
aus und wechseln Sie zum Tab Nachrichten.Mit der PULL-Funktion können Sie prüfen, ob die Nachricht „Hello World!“ in diesem Thema veröffentlicht wurde.
Nächste Schritte
- Lesen Sie den Leitfaden Anwendungsentwicklung mit der SAP BTP Edition des ABAP SDK for Google Cloud.
- In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.