/AWS1/IF_FNS=>CREATEKXDATAVIEW()¶
About CreateKxDataview¶
Creates a snapshot of kdb database with tiered storage capabilities and a pre-warmed cache, ready for mounting on kdb clusters. Dataviews are only available for clusters running on a scaling group. They are not supported on dedicated clusters.
Method Signature¶
METHODS /AWS1/IF_FNS~CREATEKXDATAVIEW
IMPORTING
!IV_ENVIRONMENTID TYPE /AWS1/FNSENVIRONMENTID OPTIONAL
!IV_DATABASENAME TYPE /AWS1/FNSDATABASENAME OPTIONAL
!IV_DATAVIEWNAME TYPE /AWS1/FNSKXDATAVIEWNAME OPTIONAL
!IV_AZMODE TYPE /AWS1/FNSKXAZMODE OPTIONAL
!IV_AVAILABILITYZONEID TYPE /AWS1/FNSAVAILABILITYZONEID OPTIONAL
!IV_CHANGESETID TYPE /AWS1/FNSCHANGESETID OPTIONAL
!IT_SEGMENTCONFIGURATIONS TYPE /AWS1/CL_FNSKXDATAVIEWSEGMEN00=>TT_KXDATAVIEWSEGMENTCONFLIST OPTIONAL
!IV_AUTOUPDATE TYPE /AWS1/FNSBOOLEANVALUE OPTIONAL
!IV_READWRITE TYPE /AWS1/FNSBOOLEANVALUE OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/FNSDESCRIPTION OPTIONAL
!IT_TAGS TYPE /AWS1/CL_FNSTAGMAP_W=>TT_TAGMAP OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/FNSCLIENTTOKENSTRING OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_fnscrekxdataviewrsp
RAISING
/AWS1/CX_FNSACCESSDENIEDEX
/AWS1/CX_FNSCONFLICTEXCEPTION
/AWS1/CX_FNSINTERNALSERVEREX
/AWS1/CX_FNSLIMITEXCEEDEDEX
/AWS1/CX_FNSRESRCALRDYEXISTSEX
/AWS1/CX_FNSRESOURCENOTFOUNDEX
/AWS1/CX_FNSTHROTTLINGEX
/AWS1/CX_FNSVALIDATIONEX
/AWS1/CX_FNSCLIENTEXC
/AWS1/CX_FNSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_environmentid TYPE /AWS1/FNSENVIRONMENTID /AWS1/FNSENVIRONMENTID¶
A unique identifier for the kdb environment, where you want to create the dataview.
iv_databasename TYPE /AWS1/FNSDATABASENAME /AWS1/FNSDATABASENAME¶
The name of the database where you want to create a dataview.
iv_dataviewname TYPE /AWS1/FNSKXDATAVIEWNAME /AWS1/FNSKXDATAVIEWNAME¶
A unique identifier for the dataview.
iv_azmode TYPE /AWS1/FNSKXAZMODE /AWS1/FNSKXAZMODE¶
The number of availability zones you want to assign per volume. Currently, FinSpace only supports
SINGLEfor volumes. This places dataview in a single AZ.
iv_clienttoken TYPE /AWS1/FNSCLIENTTOKENSTRING /AWS1/FNSCLIENTTOKENSTRING¶
A token that ensures idempotency. This token expires in 10 minutes.
Optional arguments:¶
iv_availabilityzoneid TYPE /AWS1/FNSAVAILABILITYZONEID /AWS1/FNSAVAILABILITYZONEID¶
The identifier of the availability zones.
iv_changesetid TYPE /AWS1/FNSCHANGESETID /AWS1/FNSCHANGESETID¶
A unique identifier of the changeset that you want to use to ingest data.
it_segmentconfigurations TYPE /AWS1/CL_FNSKXDATAVIEWSEGMEN00=>TT_KXDATAVIEWSEGMENTCONFLIST TT_KXDATAVIEWSEGMENTCONFLIST¶
The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.
iv_autoupdate TYPE /AWS1/FNSBOOLEANVALUE /AWS1/FNSBOOLEANVALUE¶
The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.
iv_readwrite TYPE /AWS1/FNSBOOLEANVALUE /AWS1/FNSBOOLEANVALUE¶
The option to specify whether you want to make the dataview writable to perform database maintenance. The following are some considerations related to writable dataviews.
You cannot create partial writable dataviews. When you create writeable dataviews you must provide the entire database path.
You cannot perform updates on a writeable dataview. Hence,
autoUpdatemust be set as False ifreadWriteis True for a dataview.You must also use a unique volume for creating a writeable dataview. So, if you choose a volume that is already in use by another dataview, the dataview creation fails.
Once you create a dataview as writeable, you cannot change it to read-only. So, you cannot update the
readWriteparameter later.
iv_description TYPE /AWS1/FNSDESCRIPTION /AWS1/FNSDESCRIPTION¶
A description of the dataview.
it_tags TYPE /AWS1/CL_FNSTAGMAP_W=>TT_TAGMAP TT_TAGMAP¶
A list of key-value pairs to label the dataview. You can add up to 50 tags to a dataview.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_fnscrekxdataviewrsp /AWS1/CL_FNSCREKXDATAVIEWRSP¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->createkxdataview(
it_segmentconfigurations = VALUE /aws1/cl_fnskxdataviewsegmen00=>tt_kxdataviewsegmentconflist(
(
new /aws1/cl_fnskxdataviewsegmen00(
it_dbpaths = VALUE /aws1/cl_fnssegmentconfdbpat00=>tt_segmentconfdbpathlist(
( new /aws1/cl_fnssegmentconfdbpat00( |string| ) )
)
iv_ondemand = ABAP_TRUE
iv_volumename = |string|
)
)
)
it_tags = VALUE /aws1/cl_fnstagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_fnstagmap_w=>ts_tagmap_maprow(
key = |string|
value = new /aws1/cl_fnstagmap_w( |string| )
)
)
)
iv_autoupdate = ABAP_TRUE
iv_availabilityzoneid = |string|
iv_azmode = |string|
iv_changesetid = |string|
iv_clienttoken = |string|
iv_databasename = |string|
iv_dataviewname = |string|
iv_description = |string|
iv_environmentid = |string|
iv_readwrite = ABAP_TRUE
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_kxdataviewname = lo_result->get_dataviewname( ).
lv_databasename = lo_result->get_databasename( ).
lv_environmentid = lo_result->get_environmentid( ).
lv_kxazmode = lo_result->get_azmode( ).
lv_availabilityzoneid = lo_result->get_availabilityzoneid( ).
lv_changesetid = lo_result->get_changesetid( ).
LOOP AT lo_result->get_segmentconfigurations( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
LOOP AT lo_row_1->get_dbpaths( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_dbpath = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_kxvolumename = lo_row_1->get_volumename( ).
lv_booleanvalue = lo_row_1->get_ondemand( ).
ENDIF.
ENDLOOP.
lv_description = lo_result->get_description( ).
lv_booleanvalue = lo_result->get_autoupdate( ).
lv_booleanvalue = lo_result->get_readwrite( ).
lv_timestamp = lo_result->get_createdtimestamp( ).
lv_timestamp = lo_result->get_lastmodifiedtimestamp( ).
lv_kxdataviewstatus = lo_result->get_status( ).
ENDIF.