View a markdown version of this page

SDK for SAP ABAP を使用した Amazon S3 Control の例 - AWSSDK for SAP ABAP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SDK for SAP ABAP を使用した Amazon S3 Control の例

次のコード例は、Amazon S3 Control で AWSSDK for SAP ABAP を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次の例は、CreateJob を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. " iv_manifest_arn = 'arn:aws:s3:::my-bucket/job-manifest.csv' " iv_manifest_etag = 'abc123def456' " iv_report_bucket = 'arn:aws:s3:::my-report-bucket' DATA(lo_result) = lo_s3c->createjob( iv_accountid = iv_account_id iv_rolearn = iv_role_arn iv_confirmationrequired = abap_true iv_priority = 10 iv_description = 'Batch job for tagging objects' io_operation = NEW /aws1/cl_s3cjoboperation( io_s3putobjecttagging = NEW /aws1/cl_s3cs3setobjecttagop( it_tagset = VALUE /aws1/cl_s3cs3tag=>tt_s3tagset( ( NEW /aws1/cl_s3cs3tag( iv_key = 'BatchTag' iv_value = 'BatchValue' ) ) ) ) ) io_manifest = NEW /aws1/cl_s3cjobmanifest( io_spec = NEW /aws1/cl_s3cjobmanifestspec( iv_format = 'S3BatchOperations_CSV_20180820' it_fields = VALUE /aws1/cl_s3cjobmanifestfield00=>tt_jobmanifestfieldlist( ( NEW /aws1/cl_s3cjobmanifestfield00( 'Bucket' ) ) ( NEW /aws1/cl_s3cjobmanifestfield00( 'Key' ) ) ) ) io_location = NEW /aws1/cl_s3cjobmanifestloc( iv_objectarn = iv_manifest_arn iv_etag = iv_manifest_etag ) ) io_report = NEW /aws1/cl_s3cjobreport( iv_bucket = iv_report_bucket iv_format = 'Report_CSV_20180820' iv_enabled = abap_true iv_prefix = 'batch-op-reports' iv_reportscope = 'AllTasks' ) ). ov_job_id = lo_result->get_jobid( ). MESSAGE |S3 Batch Operations job created: { ov_job_id }| TYPE 'I'. CATCH /aws1/cx_s3cbadrequestex INTO DATA(lo_ex_bad). MESSAGE lo_ex_bad->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_bad. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、「AWS SDK for SAP ABAP API リファレンス」の「CreateJob」を参照してください。

次の例は、DeleteJobTagging を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. lo_s3c->deletejobtagging( iv_accountid = iv_account_id iv_jobid = iv_job_id ). MESSAGE |Tags deleted from job { iv_job_id }| TYPE 'I'. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、 AWSSDK for SAP ABAP API リファレンスDeleteJobTagging」を参照してください。

次の例は、DescribeJob を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. oo_result = lo_s3c->describejob( " oo_result is returned for testing purposes. iv_accountid = iv_account_id iv_jobid = iv_job_id ). DATA(lo_job) = oo_result->get_job( ). DATA(lv_status) = lo_job->get_status( ). DATA(lv_priority) = lo_job->get_priority( ). DATA(lo_progress) = lo_job->get_progresssummary( ). IF lo_progress IS NOT INITIAL. MESSAGE |Job { iv_job_id }: status={ lv_status }, priority={ lv_priority }, | && |total={ lo_progress->get_totalnumberoftasks( ) }, | && |succeeded={ lo_progress->get_numberoftaskssucceeded( ) }, | && |failed={ lo_progress->get_numberoftasksfailed( ) }| TYPE 'I'. ELSE. MESSAGE |Job { iv_job_id }: status={ lv_status }, priority={ lv_priority }| TYPE 'I'. ENDIF. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、 AWSSDK for SAP ABAP API リファレンスの「DescribeJob」を参照してください。

次の例は、GetJobTagging を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. oo_result = lo_s3c->getjobtagging( " oo_result is returned for testing purposes. iv_accountid = iv_account_id iv_jobid = iv_job_id ). DATA(lt_tags) = oo_result->get_tags( ). MESSAGE |Retrieved { lines( lt_tags ) } tag(s) for job { iv_job_id }| TYPE 'I'. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、 AWSSDK for SAP ABAP API リファレンスGetJobTagging」を参照してください。

次の例は、PutJobTagging を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. lo_s3c->putjobtagging( iv_accountid = iv_account_id iv_jobid = iv_job_id it_tags = VALUE /aws1/cl_s3cs3tag=>tt_s3tagset( ( NEW /aws1/cl_s3cs3tag( iv_key = 'Environment' iv_value = 'Development' ) ) ( NEW /aws1/cl_s3cs3tag( iv_key = 'Team' iv_value = 'DataProcessing' ) ) ) ). MESSAGE |Tags added to job { iv_job_id }| TYPE 'I'. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3ctoomanytagsex INTO DATA(lo_ex_tags). MESSAGE lo_ex_tags->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_tags. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、 AWSSDK for SAP ABAP API リファレンスの「PutJobTagging」を参照してください。

次の例は、UpdateJobPriority を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. oo_result = lo_s3c->updatejobpriority( " oo_result is returned for testing purposes. iv_accountid = iv_account_id iv_jobid = iv_job_id iv_priority = 60 ). MESSAGE |Job { oo_result->get_jobid( ) } priority updated to { oo_result->get_priority( ) }| TYPE 'I'. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3cbadrequestex INTO DATA(lo_ex_bad). MESSAGE lo_ex_bad->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_bad. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、 AWSSDK for SAP ABAP API リファレンスUpdateJobPriority」を参照してください。

次の例は、UpdateJobStatus を使用する方法を説明しています。

SDK for SAP ABAP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

TRY. " iv_requested_status = 'Cancelled' oo_result = lo_s3c->updatejobstatus( " oo_result is returned for testing purposes. iv_accountid = iv_account_id iv_jobid = iv_job_id iv_requestedjobstatus = iv_requested_status ). MESSAGE |Job { oo_result->get_jobid( ) } status updated to { oo_result->get_status( ) }| TYPE 'I'. CATCH /aws1/cx_s3cjobstatusexception INTO DATA(lo_ex_js). MESSAGE lo_ex_js->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_js. CATCH /aws1/cx_s3cnotfoundexception INTO DATA(lo_ex_nf). MESSAGE lo_ex_nf->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_nf. CATCH /aws1/cx_s3cclientexc INTO DATA(lo_ex_cli). MESSAGE lo_ex_cli->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_cli. CATCH /aws1/cx_s3cserverexc INTO DATA(lo_ex_srv). MESSAGE lo_ex_srv->get_text( ) TYPE 'I'. RAISE EXCEPTION TYPE /aws1/cx_rt_generic EXPORTING previous = lo_ex_srv. ENDTRY.
  • API の詳細については、 AWSSDK for SAP ABAP API リファレンスUpdateJobStatus」を参照してください。