SDK for SAP ABAP를 사용한 Amazon Pinpoint SMS 및 음성 API 예제 - AWS SDK 코드 예제

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SDK for SAP ABAP를 사용한 Amazon Pinpoint SMS 및 음성 API 예제

다음 코드 예제에서는 Amazon Pinpoint SMS 및 음성 API와 함께 AWS SDK for SAP ABAP를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예시는 CreateConfigurationSet의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Create a new configuration set lo_pps->createconfigurationset( iv_configurationsetname = iv_configuration_set_name " e.g., 'my-config-set' ). MESSAGE 'Configuration set created successfully.' TYPE 'I'. CATCH /aws1/cx_ppsalreadyexistsex INTO DATA(lo_already_exists_ex). MESSAGE lo_already_exists_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_already_exists_ex. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppslimitexceededex INTO DATA(lo_limit_exceeded_ex). MESSAGE lo_limit_exceeded_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_limit_exceeded_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.

다음 코드 예시는 CreateConfigurationSetEventDestination의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Create event destination for the configuration set lo_pps->createconfseteventdst( iv_configurationsetname = iv_configuration_set_name " e.g., 'my-config-set' iv_eventdestinationname = iv_event_destination_name " e.g., 'my-event-dest' io_eventdestination = io_event_destination ). MESSAGE 'Event destination created successfully.' TYPE 'I'. CATCH /aws1/cx_ppsalreadyexistsex INTO DATA(lo_already_exists_ex). MESSAGE lo_already_exists_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_already_exists_ex. CATCH /aws1/cx_ppsnotfoundexception INTO DATA(lo_not_found_ex). MESSAGE lo_not_found_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_not_found_ex. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppslimitexceededex INTO DATA(lo_limit_exceeded_ex). MESSAGE lo_limit_exceeded_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_limit_exceeded_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.

다음 코드 예시는 DeleteConfigurationSet의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Delete the configuration set lo_pps->deleteconfigurationset( iv_configurationsetname = iv_configuration_set_name " e.g., 'my-config-set' ). MESSAGE 'Configuration set deleted successfully.' TYPE 'I'. CATCH /aws1/cx_ppsnotfoundexception INTO DATA(lo_not_found_ex). MESSAGE lo_not_found_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_not_found_ex. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.

다음 코드 예시는 DeleteConfigurationSetEventDestination의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Delete the event destination lo_pps->deleteconfseteventdst( iv_configurationsetname = iv_configuration_set_name " e.g., 'my-config-set' iv_eventdestinationname = iv_event_destination_name " e.g., 'my-event-dest' ). MESSAGE 'Event destination deleted successfully.' TYPE 'I'. CATCH /aws1/cx_ppsnotfoundexception INTO DATA(lo_not_found_ex). MESSAGE lo_not_found_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_not_found_ex. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.

다음 코드 예시는 GetConfigurationSetEventDestinations의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Get event destinations for the configuration set oo_result = lo_pps->getconfseteventdestinations( iv_configurationsetname = iv_configuration_set_name " e.g., 'my-config-set' ). " Process the event destinations LOOP AT oo_result->get_eventdestinations( ) INTO DATA(lo_event_dest). DATA(lv_dest_name) = lo_event_dest->get_name( ). DATA(lv_enabled) = lo_event_dest->get_enabled( ). MESSAGE |Event destination: { lv_dest_name }, Enabled: { lv_enabled }| TYPE 'I'. " Check for CloudWatch Logs destination DATA(lo_cloudwatch_dest) = lo_event_dest->get_cloudwatchlogsdst( ). IF lo_cloudwatch_dest IS NOT INITIAL. DATA(lv_log_group_arn) = lo_cloudwatch_dest->get_loggrouparn( ). MESSAGE | CloudWatch Logs destination: { lv_log_group_arn }| TYPE 'I'. ENDIF. " Check for Kinesis Firehose destination DATA(lo_firehose_dest) = lo_event_dest->get_kinesisfirehosedst( ). IF lo_firehose_dest IS NOT INITIAL. DATA(lv_delivery_stream) = lo_firehose_dest->get_deliverystreamarn( ). MESSAGE | Kinesis Firehose destination: { lv_delivery_stream }| TYPE 'I'. ENDIF. " Check for SNS destination DATA(lo_sns_dest) = lo_event_dest->get_snsdestination( ). IF lo_sns_dest IS NOT INITIAL. DATA(lv_topic_arn) = lo_sns_dest->get_topicarn( ). MESSAGE | SNS destination: { lv_topic_arn }| TYPE 'I'. ENDIF. ENDLOOP. CATCH /aws1/cx_ppsnotfoundexception INTO DATA(lo_not_found_ex). MESSAGE lo_not_found_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_not_found_ex. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.

다음 코드 예시는 ListConfigurationSets의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " List all configuration sets oo_result = lo_pps->listconfigurationsets( iv_nexttoken = iv_next_token " Optional: Token for pagination iv_pagesize = iv_page_size " Optional: Number of results per page, e.g., '10' ). " Process the configuration sets LOOP AT oo_result->get_configurationsets( ) INTO DATA(lo_config_set). DATA(lv_config_set_name) = lo_config_set->get_value( ). MESSAGE |Configuration set: { lv_config_set_name }| TYPE 'I'. ENDLOOP. " Check if there are more results DATA(lv_next_token) = oo_result->get_nexttoken( ). IF lv_next_token IS NOT INITIAL. MESSAGE |More results available. Next token: { lv_next_token }| TYPE 'I'. ENDIF. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.

다음 코드 예시는 SendVoiceMessage의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Create SSML message type object with voice parameters DATA(lo_ssml_message) = NEW /aws1/cl_ppsssmlmessagetype( iv_languagecode = iv_language_code " e.g., 'en-US' iv_voiceid = iv_voice_id " e.g., 'Matthew' iv_text = iv_ssml_message " SSML formatted message text ). " Create voice message content with the SSML message DATA(lo_content) = NEW /aws1/cl_ppsvoicemessagecont( io_ssmlmessage = lo_ssml_message ). " Send the voice message DATA(lo_result) = lo_pps->sendvoicemessage( iv_originationphonenumber = iv_origination_number " e.g., '+12065550110' iv_callerid = iv_caller_id " e.g., '+12065550199' iv_destinationphonenumber = iv_destination_number " e.g., '+12065550142' io_content = lo_content ). " Retrieve the message ID from the response ov_message_id = lo_result->get_messageid( ). MESSAGE 'Voice message sent successfully.' TYPE 'I'. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.
  • API 세부 정보는 SDK for SAP ABAP API 참조의 SendVoiceMessage를 참조하세요. AWS

다음 코드 예시는 UpdateConfigurationSetEventDestination의 사용 방법을 보여 줍니다.

SDK for SAP ABAP API
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

TRY. " Update the event destination lo_pps->updateconfseteventdst( iv_configurationsetname = iv_configuration_set_name " e.g., 'my-config-set' iv_eventdestinationname = iv_event_destination_name " e.g., 'my-event-dest' io_eventdestination = io_event_destination ). MESSAGE 'Event destination updated successfully.' TYPE 'I'. CATCH /aws1/cx_ppsnotfoundexception INTO DATA(lo_not_found_ex). MESSAGE lo_not_found_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_not_found_ex. CATCH /aws1/cx_ppsbadrequestex INTO DATA(lo_bad_request_ex). MESSAGE lo_bad_request_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_bad_request_ex. CATCH /aws1/cx_ppsinternalsvcerrorex INTO DATA(lo_internal_error_ex). MESSAGE lo_internal_error_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_internal_error_ex. CATCH /aws1/cx_ppstoomanyrequestsex INTO DATA(lo_too_many_requests_ex). MESSAGE lo_too_many_requests_ex->get_text( ) TYPE 'I'. RAISE EXCEPTION lo_too_many_requests_ex. ENDTRY.