/AWS1/IF_RDS=>CREATEINTEGRATION()¶
About CreateIntegration¶
Creates a zero-ETL integration with Amazon Redshift.
Method Signature¶
METHODS /AWS1/IF_RDS~CREATEINTEGRATION
IMPORTING
!IV_SOURCEARN TYPE /AWS1/RDSSOURCEARN OPTIONAL
!IV_TARGETARN TYPE /AWS1/RDSARN OPTIONAL
!IV_INTEGRATIONNAME TYPE /AWS1/RDSINTEGRATIONNAME OPTIONAL
!IV_KMSKEYID TYPE /AWS1/RDSSTRING OPTIONAL
!IT_ADDITIONALENCCONTEXT TYPE /AWS1/CL_RDSENCCONTEXTMAP_W=>TT_ENCRYPTIONCONTEXTMAP OPTIONAL
!IT_TAGS TYPE /AWS1/CL_RDSTAG=>TT_TAGLIST OPTIONAL
!IV_DATAFILTER TYPE /AWS1/RDSDATAFILTER OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/RDSINTEGRATIONDESC OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_rdsintegration
RAISING
/AWS1/CX_RDSDBCLUSTNOTFNDFAULT
/AWS1/CX_RDSDBINSTNOTFNDFAULT
/AWS1/CX_RDSINTEGRATIONALREX00
/AWS1/CX_RDSINTEGRATIONCONFL00
/AWS1/CX_RDSINTEGRATIONQUOTA00
/AWS1/CX_RDSKMSKEYNOTACCIBLE00
/AWS1/CX_RDSCLIENTEXC
/AWS1/CX_RDSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_sourcearn TYPE /AWS1/RDSSOURCEARN /AWS1/RDSSOURCEARN¶
The Amazon Resource Name (ARN) of the database to use as the source for replication.
iv_targetarn TYPE /AWS1/RDSARN /AWS1/RDSARN¶
The ARN of the Redshift data warehouse to use as the target for replication.
iv_integrationname TYPE /AWS1/RDSINTEGRATIONNAME /AWS1/RDSINTEGRATIONNAME¶
The name of the integration.
Optional arguments:¶
iv_kmskeyid TYPE /AWS1/RDSSTRING /AWS1/RDSSTRING¶
The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default Amazon Web Services owned key.
it_additionalenccontext TYPE /AWS1/CL_RDSENCCONTEXTMAP_W=>TT_ENCRYPTIONCONTEXTMAP TT_ENCRYPTIONCONTEXTMAP¶
An optional set of non-secret key–value pairs that contains additional contextual information about the data. For more information, see Encryption context in the Amazon Web Services Key Management Service Developer Guide.
You can only include this parameter if you specify the
KMSKeyIdparameter.
it_tags TYPE /AWS1/CL_RDSTAG=>TT_TAGLIST TT_TAGLIST¶
Tags
iv_datafilter TYPE /AWS1/RDSDATAFILTER /AWS1/RDSDATAFILTER¶
Data filtering options for the integration. For more information, see Data filtering for Aurora zero-ETL integrations with Amazon Redshift or Data filtering for Amazon RDS zero-ETL integrations with Amazon Redshift.
iv_description TYPE /AWS1/RDSINTEGRATIONDESC /AWS1/RDSINTEGRATIONDESC¶
A description of the integration.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_rdsintegration /AWS1/CL_RDSINTEGRATION¶
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->createintegration(
it_additionalenccontext = VALUE /aws1/cl_rdsenccontextmap_w=>tt_encryptioncontextmap(
(
VALUE /aws1/cl_rdsenccontextmap_w=>ts_encryptioncontextmap_maprow(
key = |string|
value = new /aws1/cl_rdsenccontextmap_w( |string| )
)
)
)
it_tags = VALUE /aws1/cl_rdstag=>tt_taglist(
(
new /aws1/cl_rdstag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_datafilter = |string|
iv_description = |string|
iv_integrationname = |string|
iv_kmskeyid = |string|
iv_sourcearn = |string|
iv_targetarn = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_sourcearn = lo_result->get_sourcearn( ).
lv_arn = lo_result->get_targetarn( ).
lv_integrationname = lo_result->get_integrationname( ).
lv_integrationarn = lo_result->get_integrationarn( ).
lv_string = lo_result->get_kmskeyid( ).
LOOP AT lo_result->get_additionalenccontext( ) into ls_row.
lv_key = ls_row-key.
lo_value = ls_row-value.
IF lo_value IS NOT INITIAL.
lv_string = lo_value->get_value( ).
ENDIF.
ENDLOOP.
lv_integrationstatus = lo_result->get_status( ).
LOOP AT lo_result->get_tags( ) into lo_row_1.
lo_row_2 = lo_row_1.
IF lo_row_2 IS NOT INITIAL.
lv_string = lo_row_2->get_key( ).
lv_string = lo_row_2->get_value( ).
ENDIF.
ENDLOOP.
lv_datafilter = lo_result->get_datafilter( ).
lv_integrationdescription = lo_result->get_description( ).
lv_tstamp = lo_result->get_createtime( ).
LOOP AT lo_result->get_errors( ) into lo_row_3.
lo_row_4 = lo_row_3.
IF lo_row_4 IS NOT INITIAL.
lv_string = lo_row_4->get_errorcode( ).
lv_string = lo_row_4->get_errormessage( ).
ENDIF.
ENDLOOP.
ENDIF.
To create a zero-ETL integration¶
The following example creates a zero-ETL integration with Amazon Redshift.
DATA(lo_result) = lo_client->createintegration(
iv_integrationname = |my-integration|
iv_sourcearn = |arn:aws:rds:us-east-1:123456789012:cluster:my-cluster|
iv_targetarn = |arn:aws:redshift-serverless:us-east-1:123456789012:namespace/62c70612-0302-4db7-8414-b5e3e049f0d8|
).