View a markdown version of this page

AWS IoTcontoh menggunakan SDK untuk SAP ABAP - AWSSDK for SAP ABAP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS IoTcontoh menggunakan SDK untuk SAP ABAP

Contoh kode berikut menunjukkan cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan AWS SDK untuk SAP ABAP dengan. AWS IoT

Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanAttachThingPrincipal.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. lo_iot->attachthingprincipal( iv_thingname = iv_thing_name iv_principal = iv_principal ). MESSAGE |Principal attached to IoT thing '{ iv_thing_name }'.| TYPE 'I'. CATCH /aws1/cx_iotresourcenotfoundex INTO DATA(lo_ex). MESSAGE |Resource not found when attaching principal to '{ iv_thing_name }'.| TYPE 'I'. RAISE EXCEPTION lo_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_svc_ex). MESSAGE lo_svc_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_svc_ex. ENDTRY.

Contoh kode berikut menunjukkan cara menggunakanCreateKeysAndCertificate.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. oo_result = lo_iot->createkeysandcertificate( iv_setasactive = abap_true ). MESSAGE |Certificate created: { oo_result->get_certificateid( ) }| TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.

Contoh kode berikut menunjukkan cara menggunakanCreateThing.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. oo_result = lo_iot->creatething( iv_thingname = iv_thing_name ). MESSAGE |IoT thing created: { oo_result->get_thingname( ) } ARN: { oo_result->get_thingarn( ) }| TYPE 'I'. CATCH /aws1/cx_iotresrcalrdyexistsex. MESSAGE |IoT thing '{ iv_thing_name }' already exists.| TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat CreateThingdi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanCreateTopicRule.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. " Build the SNS action that will receive messages matching the rule. DATA lo_sns_action TYPE REF TO /aws1/cl_iotsnsaction. CREATE OBJECT lo_sns_action EXPORTING iv_targetarn = iv_sns_action_arn iv_rolearn = iv_role_arn. DATA lo_action TYPE REF TO /aws1/cl_iotaction. CREATE OBJECT lo_action EXPORTING io_sns = lo_sns_action. DATA lt_actions TYPE /aws1/cl_iotaction=>tt_actionlist. APPEND lo_action TO lt_actions. " iv_topic = 'my/iot/topic' - The MQTT topic pattern to match DATA lo_payload TYPE REF TO /aws1/cl_iottopicrulepayload. CREATE OBJECT lo_payload EXPORTING iv_sql = |SELECT * FROM '{ iv_topic }'| it_actions = lt_actions. lo_iot->createtopicrule( iv_rulename = iv_rule_name io_topicrulepayload = lo_payload ). MESSAGE |IoT topic rule created: { iv_rule_name }| TYPE 'I'. CATCH /aws1/cx_iotresrcalrdyexistsex. MESSAGE |Topic rule '{ iv_rule_name }' already exists.| TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat CreateTopicRuledi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanDeleteCertificate.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. " Certificates must be deactivated before they can be deleted. lo_iot->updatecertificate( iv_certificateid = iv_certificate_id iv_newstatus = 'INACTIVE' ). lo_iot->deletecertificate( iv_certificateid = iv_certificate_id ). MESSAGE |Certificate deleted: { iv_certificate_id }| TYPE 'I'. CATCH /aws1/cx_iotresourcenotfoundex INTO DATA(lo_ex). MESSAGE |Certificate '{ iv_certificate_id }' not found.| TYPE 'I'. RAISE EXCEPTION lo_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_svc_ex). MESSAGE lo_svc_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_svc_ex. ENDTRY.

Contoh kode berikut menunjukkan cara menggunakanDeleteThing.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. lo_iot->deletething( iv_thingname = iv_thing_name ). MESSAGE |IoT thing deleted: { iv_thing_name }| TYPE 'I'. CATCH /aws1/cx_iotresourcenotfoundex INTO DATA(lo_ex). MESSAGE |IoT thing '{ iv_thing_name }' not found.| TYPE 'I'. RAISE EXCEPTION lo_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_svc_ex). MESSAGE lo_svc_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_svc_ex. ENDTRY.
  • Untuk detail API, lihat DeleteThingdi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanDeleteTopicRule.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. lo_iot->deletetopicrule( iv_rulename = iv_rule_name ). MESSAGE |IoT topic rule deleted: { iv_rule_name }| TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat DeleteTopicRuledi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanDescribeEndpoint.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). " iv_endpoint_type = 'iot:Data-ATS' - Endpoint type for data operations TRY. DATA(lo_result) = lo_iot->describeendpoint( iv_endpointtype = iv_endpoint_type ). ov_endpoint_address = lo_result->get_endpointaddress( ). MESSAGE |Endpoint address: { ov_endpoint_address }| TYPE 'I'. CATCH /aws1/cx_iotthrottlingex INTO DATA(lo_throttle_ex). MESSAGE 'Request throttled. Please try again later.' TYPE 'I'. RAISE EXCEPTION lo_throttle_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat DescribeEndpointdi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanDetachThingPrincipal.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. lo_iot->detachthingprincipal( iv_thingname = iv_thing_name iv_principal = iv_principal ). MESSAGE |Principal detached from IoT thing '{ iv_thing_name }'.| TYPE 'I'. CATCH /aws1/cx_iotresourcenotfoundex INTO DATA(lo_ex). MESSAGE |Resource not found when detaching principal from '{ iv_thing_name }'.| TYPE 'I'. RAISE EXCEPTION lo_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_svc_ex). MESSAGE lo_svc_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_svc_ex. ENDTRY.

Contoh kode berikut menunjukkan cara menggunakanListCertificates.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. " Collect all certificates by following the pagination marker. DATA lv_marker TYPE /aws1/iotmarker. DATA lv_count TYPE i. DO. oo_result = lo_iot->listcertificates( iv_marker = lv_marker ). lv_count = lv_count + lines( oo_result->get_certificates( ) ). lv_marker = oo_result->get_nextmarker( ). IF lv_marker IS INITIAL. EXIT. ENDIF. ENDDO. MESSAGE |Retrieved { lv_count } IoT certificates.| TYPE 'I'. CATCH /aws1/cx_iotthrottlingex INTO DATA(lo_throttle_ex). MESSAGE 'Request throttled. Please try again later.' TYPE 'I'. RAISE EXCEPTION lo_throttle_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat ListCertificatesdi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanListThings.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. " Collect all things by following the pagination token. DATA lv_nexttoken TYPE /aws1/iotnexttoken. DATA lv_count TYPE i. DO. oo_result = lo_iot->listthings( iv_nexttoken = lv_nexttoken ). lv_count = lv_count + lines( oo_result->get_things( ) ). lv_nexttoken = oo_result->get_nexttoken( ). IF lv_nexttoken IS INITIAL. EXIT. ENDIF. ENDDO. MESSAGE |Retrieved { lv_count } IoT things.| TYPE 'I'. CATCH /aws1/cx_iotthrottlingex INTO DATA(lo_throttle_ex). MESSAGE 'Request throttled. Please try again later.' TYPE 'I'. RAISE EXCEPTION lo_throttle_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat ListThingsdi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanSearchIndex.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). " iv_query_string = 'thingName:MyThing*' - Fleet indexing query string TRY. oo_result = lo_iot->searchindex( iv_querystring = iv_query_string ). MESSAGE |Found { lines( oo_result->get_things( ) ) } IoT things matching query.| TYPE 'I'. CATCH /aws1/cx_iotindexnotreadyex INTO DATA(lo_idx_ex). MESSAGE 'Fleet indexing is not ready. Enable indexing with UpdateIndexingConfiguration first.' TYPE 'I'. RAISE EXCEPTION lo_idx_ex. CATCH /aws1/cx_iotthrottlingex INTO DATA(lo_throttle_ex). MESSAGE 'Request throttled. Please try again later.' TYPE 'I'. RAISE EXCEPTION lo_throttle_ex. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.
  • Untuk detail API, lihat SearchIndexdi AWSSDK untuk referensi SAP ABAP API.

Contoh kode berikut menunjukkan cara menggunakanUpdateIndexingConfiguration.

SDK for SAP ABAP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.

CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'. DATA(lo_session) = /aws1/cl_rt_session_aws=>create( cv_pfl ). DATA(lo_iot) = /aws1/cl_iot_factory=>create( lo_session ). TRY. DATA lo_idx_conf TYPE REF TO /aws1/cl_iotthingindexingconf. CREATE OBJECT lo_idx_conf EXPORTING iv_thingindexingmode = 'REGISTRY'. lo_iot->updateindexingconfiguration( io_thingindexingconf = lo_idx_conf ). MESSAGE 'IoT thing indexing configuration updated to REGISTRY mode.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_ex). MESSAGE lo_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_ex. ENDTRY.