文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 SAP ABAP 的 SDK 的 HealthLake 範例
下列程式碼範例示範如何使用適用於 SAP ABAP 的 AWS SDK 搭配 HealthLake 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。
主題
動作
以下程式碼範例顯示如何使用 CreateFHIRDatastore。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_name = 'MyHealthLakeDataStore' oo_result = lo_hll->createfhirdatastore( iv_datastorename = iv_datastore_name iv_datastoretypeversion = 'R4' ). MESSAGE 'Data store created successfully.' TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllinternalserverex INTO DATA(lo_internal_ex). lv_error = |Internal server error: { lo_internal_ex->av_err_code }-{ lo_internal_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_internal_ex. CATCH /aws1/cx_hllthrottlingex INTO DATA(lo_throttling_ex). lv_error = |Throttling error: { lo_throttling_ex->av_err_code }-{ lo_throttling_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_throttling_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 CreateFHIRDatastore。
-
以下程式碼範例顯示如何使用 DeleteFHIRDatastore。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' oo_result = lo_hll->deletefhirdatastore( iv_datastoreid = iv_datastore_id ). MESSAGE 'Data store deleted successfully.' TYPE 'I'. CATCH /aws1/cx_hllaccessdeniedex INTO DATA(lo_access_ex). DATA(lv_error) = |Access denied: { lo_access_ex->av_err_code }-{ lo_access_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_access_ex. CATCH /aws1/cx_hllconflictexception INTO DATA(lo_conflict_ex). lv_error = |Conflict error: { lo_conflict_ex->av_err_code }-{ lo_conflict_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_conflict_ex. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). lv_error = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DeleteFHIRDatastore。
-
以下程式碼範例顯示如何使用 DescribeFHIRDatastore。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' oo_result = lo_hll->describefhirdatastore( iv_datastoreid = iv_datastore_id ). DATA(lo_datastore_properties) = oo_result->get_datastoreproperties( ). IF lo_datastore_properties IS BOUND. DATA(lv_datastore_name) = lo_datastore_properties->get_datastorename( ). DATA(lv_datastore_status) = lo_datastore_properties->get_datastorestatus( ). MESSAGE 'Data store described successfully.' TYPE 'I'. ENDIF. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). DATA(lv_error) = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). lv_error = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DescribeFHIRDatastore。
-
以下程式碼範例顯示如何使用 DescribeFHIRExportJob。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' " iv_job_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' oo_result = lo_hll->describefhirexportjob( iv_datastoreid = iv_datastore_id iv_jobid = iv_job_id ). DATA(lo_export_job_properties) = oo_result->get_exportjobproperties( ). IF lo_export_job_properties IS BOUND. DATA(lv_job_status) = lo_export_job_properties->get_jobstatus( ). MESSAGE |Export job status: { lv_job_status }.| TYPE 'I'. ENDIF. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). DATA(lv_error) = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). lv_error = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DescribeFHIRExportJob。
-
以下程式碼範例顯示如何使用 DescribeFHIRImportJob。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' " iv_job_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' oo_result = lo_hll->describefhirimportjob( iv_datastoreid = iv_datastore_id iv_jobid = iv_job_id ). DATA(lo_import_job_properties) = oo_result->get_importjobproperties( ). IF lo_import_job_properties IS BOUND. DATA(lv_job_status) = lo_import_job_properties->get_jobstatus( ). MESSAGE |Import job status: { lv_job_status }.| TYPE 'I'. ENDIF. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). DATA(lv_error) = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). lv_error = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DescribeFHIRImportJob。
-
以下程式碼範例顯示如何使用 ListFHIRDatastores。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. oo_result = lo_hll->listfhirdatastores( ). DATA(lt_datastores) = oo_result->get_datastorepropertieslist( ). DATA(lv_datastore_count) = lines( lt_datastores ). MESSAGE |Found { lv_datastore_count } data store(s).| TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllthrottlingex INTO DATA(lo_throttling_ex). lv_error = |Throttling error: { lo_throttling_ex->av_err_code }-{ lo_throttling_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_throttling_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListFHIRDatastores。
-
以下程式碼範例顯示如何使用 ListFHIRExportJobs。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' IF iv_submitted_after IS NOT INITIAL. oo_result = lo_hll->listfhirexportjobs( iv_datastoreid = iv_datastore_id iv_submittedafter = iv_submitted_after ). ELSE. oo_result = lo_hll->listfhirexportjobs( iv_datastoreid = iv_datastore_id ). ENDIF. DATA(lt_export_jobs) = oo_result->get_exportjobpropertieslist( ). DATA(lv_job_count) = lines( lt_export_jobs ). MESSAGE |Found { lv_job_count } export job(s).| TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). lv_error = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListFHIRExportJobs。
-
以下程式碼範例顯示如何使用 ListFHIRImportJobs。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_datastore_id = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' IF iv_submitted_after IS NOT INITIAL. oo_result = lo_hll->listfhirimportjobs( iv_datastoreid = iv_datastore_id iv_submittedafter = iv_submitted_after ). ELSE. oo_result = lo_hll->listfhirimportjobs( iv_datastoreid = iv_datastore_id ). ENDIF. DATA(lt_import_jobs) = oo_result->get_importjobpropertieslist( ). DATA(lv_job_count) = lines( lt_import_jobs ). MESSAGE |Found { lv_job_count } import job(s).| TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). lv_error = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListFHIRImportJobs。
-
以下程式碼範例顯示如何使用 ListTagsForResource。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_resource_arn = 'arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' DATA(lo_result) = lo_hll->listtagsforresource( iv_resourcearn = iv_resource_arn ). ot_tags = lo_result->get_tags( ). DATA(lv_tag_count) = lines( ot_tags ). MESSAGE |Found { lv_tag_count } tag(s).| TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). lv_error = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListTagsForResource。
-
以下程式碼範例顯示如何使用 StartFHIRExportJob。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_job_name = 'MyExportJob' " iv_output_s3_uri = 's3://my-bucket/export/output/' " iv_kms_key_id = 'arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012' " iv_data_access_role_arn = 'arn:aws:iam::123456789012:role/HealthLakeExportRole' oo_result = lo_hll->startfhirexportjob( iv_jobname = iv_job_name io_outputdataconfig = NEW /aws1/cl_hlloutputdataconfig( io_s3configuration = NEW /aws1/cl_hlls3configuration( iv_s3uri = iv_output_s3_uri iv_kmskeyid = iv_kms_key_id ) ) iv_dataaccessrolearn = iv_data_access_role_arn iv_datastoreid = iv_datastore_id ). DATA(lv_job_id) = oo_result->get_jobid( ). MESSAGE |Export job started with ID { lv_job_id }.| TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllthrottlingex INTO DATA(lo_throttling_ex). lv_error = |Throttling error: { lo_throttling_ex->av_err_code }-{ lo_throttling_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_throttling_ex. CATCH /aws1/cx_hllaccessdeniedex INTO DATA(lo_access_ex). lv_error = |Access denied: { lo_access_ex->av_err_code }-{ lo_access_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_access_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 StartFHIRExportJob。
-
以下程式碼範例顯示如何使用 StartFHIRImportJob。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_job_name = 'MyImportJob' " iv_input_s3_uri = 's3://my-bucket/import/data.ndjson' " iv_job_output_s3_uri = 's3://my-bucket/import/output/' " iv_kms_key_id = 'arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012' " iv_data_access_role_arn = 'arn:aws:iam::123456789012:role/HealthLakeImportRole' oo_result = lo_hll->startfhirimportjob( iv_jobname = iv_job_name io_inputdataconfig = NEW /aws1/cl_hllinputdataconfig( iv_s3uri = iv_input_s3_uri ) io_joboutputdataconfig = NEW /aws1/cl_hlloutputdataconfig( io_s3configuration = NEW /aws1/cl_hlls3configuration( iv_s3uri = iv_job_output_s3_uri iv_kmskeyid = iv_kms_key_id ) ) iv_dataaccessrolearn = iv_data_access_role_arn iv_datastoreid = iv_datastore_id ). DATA(lv_job_id) = oo_result->get_jobid( ). MESSAGE |Import job started with ID { lv_job_id }.| TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllthrottlingex INTO DATA(lo_throttling_ex). lv_error = |Throttling error: { lo_throttling_ex->av_err_code }-{ lo_throttling_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_throttling_ex. CATCH /aws1/cx_hllaccessdeniedex INTO DATA(lo_access_ex). lv_error = |Access denied: { lo_access_ex->av_err_code }-{ lo_access_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_access_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 StartFHIRImportJob。
-
以下程式碼範例顯示如何使用 TagResource。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_resource_arn = 'arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' lo_hll->tagresource( iv_resourcearn = iv_resource_arn it_tags = it_tags ). MESSAGE 'Resource tagged successfully.' TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). lv_error = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 TagResource。
-
以下程式碼範例顯示如何使用 UntagResource。
- 適用於 SAP ABAP 的開發套件
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 TRY. " iv_resource_arn = 'arn:aws:healthlake:us-east-1:123456789012:datastore/fhir/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6' lo_hll->untagresource( iv_resourcearn = iv_resource_arn it_tagkeys = it_tag_keys ). MESSAGE 'Resource untagged successfully.' TYPE 'I'. CATCH /aws1/cx_hllvalidationex INTO DATA(lo_validation_ex). DATA(lv_error) = |Validation error: { lo_validation_ex->av_err_code }-{ lo_validation_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_validation_ex. CATCH /aws1/cx_hllresourcenotfoundex INTO DATA(lo_notfound_ex). lv_error = |Resource not found: { lo_notfound_ex->av_err_code }-{ lo_notfound_ex->av_err_msg }|. MESSAGE lv_error TYPE 'I'. RAISE EXCEPTION lo_notfound_ex. ENDTRY.-
如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 UntagResource。
-