/AWS1/IF_KFK=>CREATECHANNEL()¶
About CreateChannel¶
Creates a Channel that streams records from an Amazon MSK Express cluster topic to Amazon S3 or Apache Iceberg.
Method Signature¶
METHODS /AWS1/IF_KFK~CREATECHANNEL
IMPORTING
!IV_CHANNELNAME TYPE /AWS1/KFK__STRING OPTIONAL
!IV_CLUSTERARN TYPE /AWS1/KFK__STRING OPTIONAL
!IO_ENCRYPTIONCONFIGURATION TYPE REF TO /AWS1/CL_KFKENCRYPTIONCONF OPTIONAL
!IO_ICEBERGDESTINATIONCONF TYPE REF TO /AWS1/CL_KFKICEBERGDSTCONF OPTIONAL
!IO_S3DESTINATIONCONF TYPE REF TO /AWS1/CL_KFKS3DESTINATIONCONF OPTIONAL
!IT_TAGS TYPE /AWS1/CL_KFK__MAPOF__STRING_W=>TT___MAPOF__STRING OPTIONAL
!IT_TOPICCONFIGURATIONLIST TYPE /AWS1/CL_KFKTOPICCONFIGURATION=>TT___LISTOFTOPICCONFIGURATION OPTIONAL
!IO_LOGGINGINFO TYPE REF TO /AWS1/CL_KFKCHANNELLOGGINGINFO OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_kfkcreatechannelrsp
RAISING
/AWS1/CX_KFKBADREQUESTEX
/AWS1/CX_KFKCONFLICTEXCEPTION
/AWS1/CX_KFKFORBIDDENEXCEPTION
/AWS1/CX_KFKINTERNALSERVERER00
/AWS1/CX_KFKNOTFOUNDEXCEPTION
/AWS1/CX_KFKSERVICEUNAVAILEX
/AWS1/CX_KFKTOOMANYREQUESTSEX
/AWS1/CX_KFKUNAUTHORIZEDEX
/AWS1/CX_KFKCLIENTEXC
/AWS1/CX_KFKSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_channelname TYPE /AWS1/KFK__STRING /AWS1/KFK__STRING¶
The name of the channel. Must be unique within the cluster.
iv_clusterarn TYPE /AWS1/KFK__STRING /AWS1/KFK__STRING¶
The Amazon Resource Name (ARN) that uniquely identifies the cluster.
it_topicconfigurationlist TYPE /AWS1/CL_KFKTOPICCONFIGURATION=>TT___LISTOFTOPICCONFIGURATION TT___LISTOFTOPICCONFIGURATION¶
The list of topic configurations for the channel. Currently exactly one topic must be specified.
Optional arguments:¶
io_encryptionconfiguration TYPE REF TO /AWS1/CL_KFKENCRYPTIONCONF /AWS1/CL_KFKENCRYPTIONCONF¶
The encryption configuration applied to the channel.
io_icebergdestinationconf TYPE REF TO /AWS1/CL_KFKICEBERGDSTCONF /AWS1/CL_KFKICEBERGDSTCONF¶
The Apache Iceberg destination for the channel. Mutually exclusive with s3DestinationConfiguration.
io_s3destinationconf TYPE REF TO /AWS1/CL_KFKS3DESTINATIONCONF /AWS1/CL_KFKS3DESTINATIONCONF¶
The Amazon S3 destination for the channel. Mutually exclusive with icebergDestinationConfiguration.
it_tags TYPE /AWS1/CL_KFK__MAPOF__STRING_W=>TT___MAPOF__STRING TT___MAPOF__STRING¶
The tags attached to the channel.
io_logginginfo TYPE REF TO /AWS1/CL_KFKCHANNELLOGGINGINFO /AWS1/CL_KFKCHANNELLOGGINGINFO¶
The destinations to which the channel publishes operational logs.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_kfkcreatechannelrsp /AWS1/CL_KFKCREATECHANNELRSP¶
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->createchannel(
io_encryptionconfiguration = new /aws1/cl_kfkencryptionconf( |string| )
io_icebergdestinationconf = new /aws1/cl_kfkicebergdstconf(
io_catalog = new /aws1/cl_kfkcatalog(
iv_catalogarn = |string|
iv_warehouselocation = |string|
)
io_deadletterqueues3 = new /aws1/cl_kfkdeadletterqueues3(
iv_bucketarn = |string|
iv_erroroutputprefix = |string|
iv_expectedbucketowner = |string|
)
io_schemaevolution = new /aws1/cl_kfkschemaevolution( ABAP_TRUE )
io_tablecreation = new /aws1/cl_kfktablecreation( ABAP_TRUE )
it_destinationtablelist = VALUE /aws1/cl_kfkdestinationtable=>tt___listofdestinationtable(
(
new /aws1/cl_kfkdestinationtable(
io_partitionspec = new /aws1/cl_kfkpartitionspec(
it_sourcelist = VALUE /aws1/cl_kfkpartitionsource=>tt___listofpartitionsource(
( new /aws1/cl_kfkpartitionsource( |string| ) )
)
iv_partitionstrategy = |string|
)
iv_destinationdatabasename = |string|
iv_destinationtablename = |string|
)
)
)
iv_appendonly = ABAP_TRUE
iv_compressiontype = |string|
iv_datafreshnessinseconds = 123
iv_serviceexecutionrolearn = |string|
)
io_logginginfo = new /aws1/cl_kfkchannellogginginfo(
io_cloudwatchlogs = new /aws1/cl_kfkcloudwatchlogs(
iv_enabled = ABAP_TRUE
iv_loggroup = |string|
)
io_firehose = new /aws1/cl_kfkfirehose(
iv_deliverystream = |string|
iv_enabled = ABAP_TRUE
)
io_s3 = new /aws1/cl_kfks3(
iv_bucket = |string|
iv_enabled = ABAP_TRUE
iv_prefix = |string|
)
)
io_s3destinationconf = new /aws1/cl_kfks3destinationconf(
io_deadletterqueues3 = new /aws1/cl_kfkdeadletterqueues3(
iv_bucketarn = |string|
iv_erroroutputprefix = |string|
iv_expectedbucketowner = |string|
)
io_storage = new /aws1/cl_kfks3storage(
iv_bucketarn = |string|
iv_compressiontype = |string|
iv_expectedbucketowner = |string|
iv_outputkeytemplate = |string|
iv_outputprefix = |string|
iv_storageclass = |string|
)
iv_datafreshnessinseconds = 123
iv_serviceexecutionrolearn = |string|
)
it_tags = VALUE /aws1/cl_kfk__mapof__string_w=>tt___mapof__string(
(
VALUE /aws1/cl_kfk__mapof__string_w=>ts___mapof__string_maprow(
key = |string|
value = new /aws1/cl_kfk__mapof__string_w( |string| )
)
)
)
it_topicconfigurationlist = VALUE /aws1/cl_kfktopicconfiguration=>tt___listoftopicconfiguration(
(
new /aws1/cl_kfktopicconfiguration(
io_recordconverter = new /aws1/cl_kfkrecordconverter( |string| )
io_recordschema = new /aws1/cl_kfkrecordschema( |string| )
iv_topicarn = |string|
)
)
)
iv_channelname = |string|
iv_clusterarn = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv___string = lo_result->get_channelarn( ).
lv___string = lo_result->get_clusteroperationarn( ).
ENDIF.