SCF provides a serverless execution environment for companies and developers. For more information, see SCF.
A common use case of CDWPG is to syncing messages from the messaging middleware for analysis. This document describes a convenient method where an SCF function imports data from Kafka to CDWPG in real time, eliminating your need to maintain any services.
In the SCF console, select Function Service > Create. On the Create Function page, select Phython3.6 as the runtime environment, search for the keyword "ckafka" in Fuzzy search, select the template function Load CKafka Data into CDW, and click Next.
On the Function Configuration page, complete the settings in Environment Configuration and Network Configuration in Advanced Configuration as follows:
|DB_HOST||Yes||If the function is deployed in a VPC and in the same subnet as CDWPG, you can enter the private IP of CDWPG; otherwise, enter the public IP and configure an allowlist.|
|DB_SCHEMA||Yes||Schema name. If it is not specified during table creation, it will be `public` in general.|
|DB_PORT||No||CDWPG port, which is 5436 by default.|
|MSG_SEPARATOR_ASCII||No||ASCII code of the data delimiter in CKafka, which is 39 (comma) by default. As commas usually show up in the business data, we recommend you set this parameter to 11 (vertical bar).|
|MSG_NULL||No||NULL value of CKafka consumption. The default value is `\N`|
|REPLACE_0X00||No||Whether to replace "0x00" in strings. The default value is 0 (1 indicates to replace).|
|ENABLE_DEBUG||No||Whether to print error records. The default value is 0 (1 indicates to print).|
|ENABLE_COS||No||Whether to dump unwritten records to COS. The default value is 0 (1 indicates to dump).|
|COS_SECRET_ID||No||`secret_id` for COS access. If `ENABLE_COS` is 1, this field is required.|
|COS_SECRET_KEY||No||`secret_key` for COS access. If `ENABLE_COS` is 1, this field is required.|
|COS_BUCKET||No||COS bucket name. If `ENABLE_COS` is 1, this field is required.|
|STATMENT_TIMEOUT||No||Query timeout period, which is 50 seconds by default.|
In the Function Service list in the SCF console, click the name of the newly created function to enter the function details page and click Trigger Management > Create a Trigger on the left to create a trigger. Here, set CKafka trigger for Trigger Method as shown below:
For more information on trigger parameter configuration, see CKafka Trigger Description.