此内容没有您所选择的语言版本。
Chapter 37. MariaDB Sink
Send data to a MariaDB Database.
This Kamelet expects a JSON as body. The mapping between the JSON fields and parameters is done by key, so if you have the following query:
'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
The Kamelet needs to receive as input something like:
'{ "username":"oscerd", "city":"Rome"}'
37.1. Configuration Options
				The following table summarizes the configuration options available for the mariadb-sink Kamelet:
			
| Property | Name | Description | Type | Default | Example | 
|---|---|---|---|---|---|
| databaseName * | Database Name | The Database Name we are pointing | string | ||
| password * | Password | The password to use for accessing a secured MariaDB Database | string | ||
| query * | Query | The Query to execute against the MariaDB Database | string | 
								 | |
| serverName * | Server Name | Server Name for the data source | string | 
								 | |
| username * | Username | The username to use for accessing a secured MariaDB Database | string | ||
| serverPort | Server Port | Server Port for the data source | string | 
								 | 
Fields marked with an asterisk (*) are mandatory.
37.2. Dependencies
				At runtime, the mariadb-sink Kamelet relies upon the presence of the following dependencies:
			
- camel:jackson
- camel:kamelet
- camel:sql
- mvn:org.apache.commons:commons-dbcp2:2.7.0.redhat-00001
- mvn:org.mariadb.jdbc:mariadb-java-client
37.3. Usage
				This section describes how you can use the mariadb-sink.
			
37.3.1. Knative Sink
					You can use the mariadb-sink Kamelet as a Knative sink by binding it to a Knative object.
				
mariadb-sink-binding.yaml
37.3.1.1. Prerequisite
Make sure you have "Red Hat Integration - Camel K" installed into the OpenShift cluster you’re connected to.
37.3.1.2. Procedure for using the cluster CLI
- 
								Save the mariadb-sink-binding.yamlfile to your local drive, and then edit it as needed for your configuration.
- Run the sink by using the following command: - oc apply -f mariadb-sink-binding.yaml - oc apply -f mariadb-sink-binding.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
37.3.1.3. Procedure for using the Kamel CLI
Configure and run the sink by using the following command:
kamel bind channel:mychannel mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
kamel bind channel:mychannel mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"This command creates the KameletBinding in the current namespace on the cluster.
37.3.2. Kafka Sink
					You can use the mariadb-sink Kamelet as a Kafka sink by binding it to a Kafka topic.
				
mariadb-sink-binding.yaml
37.3.2.1. Prerequisites
						Ensure that you’ve installed the AMQ Streams operator in your OpenShift cluster and created a topic named my-topic in the current namespace. Make also sure you have "Red Hat Integration - Camel K" installed into the OpenShift cluster you’re connected to.
					
37.3.2.2. Procedure for using the cluster CLI
- 
								Save the mariadb-sink-binding.yamlfile to your local drive, and then edit it as needed for your configuration.
- Run the sink by using the following command: - oc apply -f mariadb-sink-binding.yaml - oc apply -f mariadb-sink-binding.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
37.3.2.3. Procedure for using the Kamel CLI
Configure and run the sink by using the following command:
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"This command creates the KameletBinding in the current namespace on the cluster.