使用適用於 SAP ABAP 的 SDK 的 Amazon Keyspaces 範例 - AWS 適用於 SAP ABAP 的 SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用適用於 SAP ABAP 的 SDK 的 Amazon Keyspaces 範例

下列程式碼範例示範如何使用適用於 SAP ABAP 的 AWS SDK 搭配 Amazon Keyspaces 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結,您可在連結中找到如何設定和執行內容中程式碼的相關指示。

主題

動作

以下程式碼範例顯示如何使用 CreateKeyspace

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. oo_result = lo_kys->createkeyspace( iv_keyspacename = iv_keyspace_name ). MESSAGE 'Keyspace created successfully.' TYPE 'I'. CATCH /aws1/cx_kysconflictexception. MESSAGE 'Keyspace already exists.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 CreateKeyspace

以下程式碼範例顯示如何使用 CreateTable

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. " Define schema with columns DATA(lt_columns) = VALUE /aws1/cl_kyscolumndefinition=>tt_columndefinitionlist( ( NEW /aws1/cl_kyscolumndefinition( iv_name = 'title' iv_type = 'text' ) ) ( NEW /aws1/cl_kyscolumndefinition( iv_name = 'year' iv_type = 'int' ) ) ( NEW /aws1/cl_kyscolumndefinition( iv_name = 'release_date' iv_type = 'timestamp' ) ) ( NEW /aws1/cl_kyscolumndefinition( iv_name = 'plot' iv_type = 'text' ) ) ). " Define partition keys DATA(lt_partition_keys) = VALUE /aws1/cl_kyspartitionkey=>tt_partitionkeylist( ( NEW /aws1/cl_kyspartitionkey( iv_name = 'year' ) ) ( NEW /aws1/cl_kyspartitionkey( iv_name = 'title' ) ) ). " Create schema definition DATA(lo_schema) = NEW /aws1/cl_kysschemadefinition( it_allcolumns = lt_columns it_partitionkeys = lt_partition_keys ). " Enable point-in-time recovery DATA(lo_pitr) = NEW /aws1/cl_kyspointintimerec( iv_status = 'ENABLED' ). oo_result = lo_kys->createtable( iv_keyspacename = iv_keyspace_name iv_tablename = iv_table_name io_schemadefinition = lo_schema io_pointintimerecovery = lo_pitr ). MESSAGE 'Table created successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 SAP ABAP 的AWS SDK API 參考》中的 CreateTable

以下程式碼範例顯示如何使用 DeleteKeyspace

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. lo_kys->deletekeyspace( iv_keyspacename = iv_keyspace_name ). MESSAGE 'Keyspace deleted successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 DeleteKeyspace

以下程式碼範例顯示如何使用 DeleteTable

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. lo_kys->deletetable( iv_keyspacename = iv_keyspace_name iv_tablename = iv_table_name ). MESSAGE 'Table deleted successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 SAP ABAP 的AWS SDK API 參考》中的 DeleteTable

以下程式碼範例顯示如何使用 GetKeyspace

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. oo_result = lo_kys->getkeyspace( iv_keyspacename = iv_keyspace_name ). MESSAGE 'Keyspace retrieved successfully.' TYPE 'I'. CATCH /aws1/cx_kysresourcenotfoundex. MESSAGE 'Keyspace does not exist.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 GetKeyspace

以下程式碼範例顯示如何使用 GetTable

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. oo_result = lo_kys->gettable( iv_keyspacename = iv_keyspace_name iv_tablename = iv_table_name ). MESSAGE 'Table information retrieved successfully.' TYPE 'I'. CATCH /aws1/cx_kysresourcenotfoundex. MESSAGE 'Table does not exist.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 GetTable

以下程式碼範例顯示如何使用 ListKeyspaces

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. oo_result = lo_kys->listkeyspaces( iv_maxresults = iv_max_results ). MESSAGE 'Keyspaces listed successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 ListKeyspaces

以下程式碼範例顯示如何使用 ListTables

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. oo_result = lo_kys->listtables( iv_keyspacename = iv_keyspace_name ). MESSAGE 'Tables listed successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 SAP ABAP 的AWS SDK API 參考》中的 ListTables

以下程式碼範例顯示如何使用 RestoreTable

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. oo_result = lo_kys->restoretable( iv_sourcekeyspacename = iv_source_keyspace_name iv_sourcetablename = iv_source_table_name iv_targetkeyspacename = iv_target_keyspace_name iv_targettablename = iv_target_table_name iv_restoretimestamp = iv_restore_timestamp ). MESSAGE 'Table restore initiated successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 RestoreTable

以下程式碼範例顯示如何使用 UpdateTable

適用於 SAP ABAP 的開發套件
注意

GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫中設定和執行。

TRY. " Add a new column to track watched movies DATA(lt_add_columns) = VALUE /aws1/cl_kyscolumndefinition=>tt_columndefinitionlist( ( NEW /aws1/cl_kyscolumndefinition( iv_name = 'watched' iv_type = 'boolean' ) ) ). oo_result = lo_kys->updatetable( iv_keyspacename = iv_keyspace_name iv_tablename = iv_table_name it_addcolumns = lt_add_columns ). MESSAGE 'Table updated successfully.' TYPE 'I'. CATCH /aws1/cx_rt_service_generic INTO DATA(lo_exception). DATA(lv_error) = |"{ lo_exception->av_err_code }" - { lo_exception->av_err_msg }|. MESSAGE lv_error TYPE 'E'. ENDTRY.
  • 如需 API 詳細資訊,請參閱《適用於 AWS SAP ABAP 的 SDK API 參考》中的 UpdateTable