Esempi di Amazon Translate con SDK for SAP ABAP - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di Amazon Translate con SDK for SAP ABAP

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il modulo AWS SDK SAP ABAP con Amazon Translate.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.

Gli scenari sono esempi di codice che mostrano come eseguire attività specifiche richiamando più funzioni all'interno di un servizio o combinandole con altre Servizi AWS.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareDescribeTextTranslationJob.

SDKper SAP ABAP
Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

"Gets the properties associated with an asynchronous batch translation job." "Includes properties such as name, ID, status, source and target languages, and input/output Amazon Simple Storage Service (Amazon S3) buckets." TRY. oo_result = lo_xl8->describetexttranslationjob( "oo_result is returned for testing purposes." EXPORTING iv_jobid = iv_jobid ). MESSAGE 'Job description retrieved.' TYPE 'I'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred. Retry your request.' TYPE 'E'. CATCH /aws1/cx_xl8resourcenotfoundex . MESSAGE 'The resource you are looking for has not been found.' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex. MESSAGE 'You have made too many requests within a short period of time.' TYPE 'E'. ENDTRY.

Il seguente esempio di codice mostra come usareListTextTranslationJobs.

SDKper SAP ABAP
Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

"Gets a list of the batch translation jobs that you have submitted." DATA lo_filter TYPE REF TO /aws1/cl_xl8textxlationjobfilt. "Create an ABAP object for filtering using jobname." CREATE OBJECT lo_filter EXPORTING iv_jobname = iv_jobname. TRY. oo_result = lo_xl8->listtexttranslationjobs( "oo_result is returned for testing purposes." EXPORTING io_filter = lo_filter ). MESSAGE 'Jobs retrieved.' TYPE 'I'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred. Retry your request.' TYPE 'E'. CATCH /aws1/cx_xl8invalidfilterex . MESSAGE 'The filter specified for the operation is not valid. Specify a different filter.' TYPE 'E'. CATCH /aws1/cx_xl8invalidrequestex . MESSAGE 'The request that you made is not valid.' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex. MESSAGE 'You have made too many requests within a short period of time.' TYPE 'E'. ENDTRY.

Il seguente esempio di codice mostra come usareStartTextTranslationJob.

SDKper SAP ABAP
Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

"Starts an asynchronous batch translation job." "Use batch translation jobs to translate large volumes of text across multiple documents at once." DATA lo_inputdataconfig TYPE REF TO /aws1/cl_xl8inputdataconfig. DATA lo_outputdataconfig TYPE REF TO /aws1/cl_xl8outputdataconfig. DATA lt_targetlanguagecodes TYPE /aws1/cl_xl8tgtlanguagecodes00=>tt_targetlanguagecodestrlist. DATA lo_targetlanguagecodes TYPE REF TO /aws1/cl_xl8tgtlanguagecodes00. "Create an ABAP object for the input data config." CREATE OBJECT lo_inputdataconfig EXPORTING iv_s3uri = iv_input_data_s3uri iv_contenttype = iv_input_data_contenttype. "Create an ABAP object for the output data config." CREATE OBJECT lo_outputdataconfig EXPORTING iv_s3uri = iv_output_data_s3uri. "Create an internal table for target languages." CREATE OBJECT lo_targetlanguagecodes EXPORTING iv_value = iv_targetlanguagecode. INSERT lo_targetlanguagecodes INTO TABLE lt_targetlanguagecodes. TRY. oo_result = lo_xl8->starttexttranslationjob( "oo_result is returned for testing purposes." EXPORTING io_inputdataconfig = lo_inputdataconfig io_outputdataconfig = lo_outputdataconfig it_targetlanguagecodes = lt_targetlanguagecodes iv_dataaccessrolearn = iv_dataaccessrolearn iv_jobname = iv_jobname iv_sourcelanguagecode = iv_sourcelanguagecode ). MESSAGE 'Translation job started.' TYPE 'I'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred. Retry your request.' TYPE 'E'. CATCH /aws1/cx_xl8invparamvalueex . MESSAGE 'The value of the parameter is not valid.' TYPE 'E'. CATCH /aws1/cx_xl8invalidrequestex. MESSAGE 'The request that you made is not valid.' TYPE 'E'. CATCH /aws1/cx_xl8resourcenotfoundex . MESSAGE 'The resource you are looking for has not been found.' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex. MESSAGE 'You have made too many requests within a short period of time.' TYPE 'E'. CATCH /aws1/cx_xl8unsuppedlanguage00 . MESSAGE 'Amazon Translate does not support translation from the language of the source text into the requested target language.' TYPE 'E'. ENDTRY.

Il seguente esempio di codice mostra come usareStopTextTranslationJob.

SDKper SAP ABAP
Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

"Stops an asynchronous batch translation job that is in progress." TRY. oo_result = lo_xl8->stoptexttranslationjob( "oo_result is returned for testing purposes." EXPORTING iv_jobid = iv_jobid ). MESSAGE 'Translation job stopped.' TYPE 'I'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred.' TYPE 'E'. CATCH /aws1/cx_xl8resourcenotfoundex . MESSAGE 'The resource you are looking for has not been found.' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex. MESSAGE 'You have made too many requests within a short period of time.' TYPE 'E'. ENDTRY.

Il seguente esempio di codice mostra come usareTranslateText.

SDKper SAP ABAP
Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

"Translates input text from the source language to the target language." TRY. oo_result = lo_xl8->translatetext( "oo_result is returned for testing purposes." EXPORTING iv_text = iv_text iv_sourcelanguagecode = iv_sourcelanguagecode iv_targetlanguagecode = iv_targetlanguagecode ). MESSAGE 'Translation completed.' TYPE 'I'. CATCH /aws1/cx_xl8detectedlanguage00 . MESSAGE 'The confidence that Amazon Comprehend accurately detected the source language is low.' TYPE 'E'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred.' TYPE 'E'. CATCH /aws1/cx_xl8invalidrequestex . MESSAGE 'The request that you made is not valid.' TYPE 'E'. CATCH /aws1/cx_xl8resourcenotfoundex . MESSAGE 'The resource you are looking for has not been found.' TYPE 'E'. CATCH /aws1/cx_xl8serviceunavailex . MESSAGE 'The Amazon Translate service is temporarily unavailable.' TYPE 'E'. CATCH /aws1/cx_xl8textsizelmtexcdex . MESSAGE 'The size of the text you submitted exceeds the size limit. ' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex . MESSAGE 'You have made too many requests within a short period of time.' TYPE 'E'. CATCH /aws1/cx_xl8unsuppedlanguage00 . MESSAGE 'Amazon Translate does not support translation from the language of the source text into the requested target language. ' TYPE 'E'. ENDTRY.

Scenari

L'esempio di codice seguente mostra come:

  • Avvia un lavoro di traduzione in batch asincrono.

  • Attendi il completamento del processo asincrono.

  • Descrivi il lavoro asincrono.

SDKper SAP ABAP
Nota

C'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

DATA lo_inputdataconfig TYPE REF TO /aws1/cl_xl8inputdataconfig. DATA lo_outputdataconfig TYPE REF TO /aws1/cl_xl8outputdataconfig. DATA lt_targetlanguagecodes TYPE /aws1/cl_xl8tgtlanguagecodes00=>tt_targetlanguagecodestrlist. DATA lo_targetlanguagecodes TYPE REF TO /aws1/cl_xl8tgtlanguagecodes00. "Create an ABAP object for the input data config." CREATE OBJECT lo_inputdataconfig EXPORTING iv_s3uri = iv_input_data_s3uri iv_contenttype = iv_input_data_contenttype. "Create an ABAP object for the output data config." CREATE OBJECT lo_outputdataconfig EXPORTING iv_s3uri = iv_output_data_s3uri. "Create an internal table for target languages." CREATE OBJECT lo_targetlanguagecodes EXPORTING iv_value = iv_targetlanguagecode. INSERT lo_targetlanguagecodes INTO TABLE lt_targetlanguagecodes. TRY. DATA(lo_translationjob_result) = lo_xl8->starttexttranslationjob( EXPORTING io_inputdataconfig = lo_inputdataconfig io_outputdataconfig = lo_outputdataconfig it_targetlanguagecodes = lt_targetlanguagecodes iv_dataaccessrolearn = iv_dataaccessrolearn iv_jobname = iv_jobname iv_sourcelanguagecode = iv_sourcelanguagecode ). MESSAGE 'Translation job started.' TYPE 'I'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred. Retry your request.' TYPE 'E'. CATCH /aws1/cx_xl8invparamvalueex . MESSAGE 'The value of the parameter is not valid.' TYPE 'E'. CATCH /aws1/cx_xl8invalidrequestex. MESSAGE 'The request that you made is not valid.' TYPE 'E'. CATCH /aws1/cx_xl8resourcenotfoundex . MESSAGE 'The resource you are looking for has not been found.' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex. MESSAGE 'You have made too many requests within a short period of time. ' TYPE 'E'. CATCH /aws1/cx_xl8unsuppedlanguage00 . MESSAGE 'Amazon Translate does not support translation from the language of the source text into the requested target language.' TYPE 'E'. ENDTRY. "Get the job ID." DATA(lv_jobid) = lo_translationjob_result->get_jobid( ). "Wait for translate job to complete." DATA(lo_des_translation_result) = lo_xl8->describetexttranslationjob( iv_jobid = lv_jobid ). WHILE lo_des_translation_result->get_textxlationjobproperties( )->get_jobstatus( ) <> 'COMPLETED'. IF sy-index = 30. EXIT. "Maximum 900 seconds." ENDIF. WAIT UP TO 30 SECONDS. lo_des_translation_result = lo_xl8->describetexttranslationjob( iv_jobid = lv_jobid ). ENDWHILE. TRY. oo_result = lo_xl8->describetexttranslationjob( "oo_result is returned for testing purposes." EXPORTING iv_jobid = lv_jobid ). MESSAGE 'Job description retrieved.' TYPE 'I'. CATCH /aws1/cx_xl8internalserverex . MESSAGE 'An internal server error occurred. Retry your request.' TYPE 'E'. CATCH /aws1/cx_xl8resourcenotfoundex . MESSAGE 'The resource you are looking for has not been found.' TYPE 'E'. CATCH /aws1/cx_xl8toomanyrequestsex. MESSAGE 'You have made too many requests within a short period of time.' TYPE 'E'. ENDTRY.