This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch cql-sink in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit efd5717dd06eb6652c2d4c889aab5b2b1ac6d037 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Fri Apr 23 15:27:37 2021 +0200 Added Cassandra Sink kamelet --- .../ROOT/assets/images/kamelets/cassandra-sink.svg | 47 ++++++++++++++ docs/modules/ROOT/pages/cassandra-sink.adoc | 72 ++++++++++++++++++++++ 2 files changed, 119 insertions(+) diff --git a/docs/modules/ROOT/assets/images/kamelets/cassandra-sink.svg b/docs/modules/ROOT/assets/images/kamelets/cassandra-sink.svg new file mode 100644 index 0000000..8cc29b7 --- /dev/null +++ b/docs/modules/ROOT/assets/images/kamelets/cassandra-sink.svg @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"> +<title>cassandra</title> +<path d="M23.3,8.7c0,0-0.3,0.3-0.5,0.5c-0.5,0.5-1.2,1.3-1.7,1.5h0c-0.1,0-0.1,0-0.2-0.1l0.9-1.9l0,0c0,0.1-1,1.9-2.2,1.6l0,0 + c0,0,0,0-0.1,0c0.6-0.8,0.8-1.5,0.8-1.5s-1,1.6-2.3,1.2c0,0-0.1,0-0.1-0.1c0,0,0-0.1,0-0.1c0-0.1,0.1-0.1,0.1-0.2 + c0.1-0.2,0.3-0.5,0.3-0.5S18.3,9.5,18,9.7l0,0c-0.2,0.1-0.5,0.3-0.7,0.3c-0.1,0-0.1,0-0.2,0c-0.3-0.1-0.3-0.3-0.2-0.6 + c0.1-0.3,0.2-0.5,0.2-0.5s-0.3,0.4-0.5,0.8c-0.2,0.3-0.4,0.5-0.6,0.6l-0.2,0c-0.1-0.2,0.1-1,0.1-1c-0.1,0.2-0.3,0.4-0.4,0.6 + c-0.1,0.2-0.3,0.3-0.5,0.4h0c-0.1,0-0.2,0-0.3,0c0,0-0.1-0.1-0.1-0.2c-0.1-0.4,0.2-1,0.2-1c0,0-0.1,0.3-0.3,0.7v0 + c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.2-0.2,0.3-0.3,0.3c-0.2-0.1-0.3-0.3-0.3-0.5c-0.1-0.2-0.1-0.4-0.1-0.4s0,0.3-0.2,0.7 + c0,0.1-0.1,0.2-0.2,0.3c0,0-0.1,0.1-0.1,0.1c-1.2,0.2-2.4,0.6-3.5,1c-0.3,0.1-0.6,0.2-0.9,0.3c-1,0.4-2,1-3.1,1.7 + c-1.2,0.8-2.3,1.6-3.4,2.6c-0.6,0.5-1.2,1.1-1.8,1.7c4.7-2.6,6.6-6.3,15.5-6.7c6.7-0.3,9.9,2.8,10.9,2.9c2.6,0.1,4.3-1.9,4.9-2.6 + c0.1-0.2,0.2-0.3,0.2-0.3c0,0-0.4,0.5-1,1l0,0c-0.6,0.5-1.4,0.9-2.1,0.8h0c-0.1,0-0.2,0-0.3,0c1-0.6,1.6-1.6,2-2.1 + c0.1-0.2,0.3-0.5,0.3-0.5s-2.3,2.4-4.1,2.2c-0.1,0-0.1,0-0.2,0c0.8-0.6,1.3-1.4,1.7-2.1v0h0c0.4-0.7,0.6-1.3,0.6-1.3 + c0,0-0.4,0.7-1,1.4l0,0c-0.6,0.7-1.3,1.5-2,1.7c-0.1,0-0.2,0.1-0.3,0.1c1.4-1.3,2.1-3.1,2.1-3.1s-1.5,2.1-2.7,2.5 + c-0.1,0-0.2,0.1-0.2,0.1c0.8-0.7,1.2-1.2,1.4-1.7c0.3-0.5,0.4-0.9,0.4-0.9l0,0c-0.1,0.2-0.2,0.3-0.4,0.4l0,0c-0.3,0.4-0.9,1-1.4,1.4 + l0,0c-0.1,0.1-0.3,0.2-0.4,0.3c0,0-0.1,0.1-0.1,0.1c-0.1,0.1-0.2,0.1-0.4,0.2c0,0-0.1,0-0.1,0c-0.1-0.1-0.2-0.1-0.3-0.2 + c-0.1,0.1-0.1,0.2-0.2,0.2h0c0,0-0.1,0-0.1,0c1.1-1.2,1.9-2.8,1.9-2.8l0,0c0,0-1.6,2.1-2.3,2.3c-0.1,0-0.2-0.1-0.3-0.1 + c0-0.1,0-0.1,0.1-0.2c0.2-0.4,0.6-1,0.6-1s-0.1,0.1-0.2,0.1c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.1-0.2,0.1 + c-0.1,0.1-0.2,0.1-0.3,0.1c-0.1,0.1-0.2,0.1-0.3,0.1c-0.1,0-0.1,0-0.1,0C22.3,10.5,23.3,8.7,23.3,8.7L23.3,8.7z M17,11.6 + c-0.4,0-0.8,0-1.2,0c-0.4,0-0.7,0-1.1,0.1c-0.4,0.2-0.7,0.4-1,0.6c0,0.1,0,0.1,0,0.2c0,0.1,0,0.2-0.1,0.2l1.2,0.9l0,0l-0.5-1.7 + l0.8,1.5c0,0,0.1,0,0.1,0l0-1.6l0.5,1.6l0.6-1.5l0,1.7c0,0,0,0,0,0l0.9-1.3l-0.5,1.6l0,0l1.4-0.9l-1,1.4v0l1.3-0.5c0,0,0,0,0.1-0.1 + c-0.3-0.4,0-0.9,0.5-0.8c0.2-0.3,0.3-0.7,0.4-1C18.6,11.7,17.8,11.6,17,11.6L17,11.6z M13.6,11.8L13.6,11.8c-0.4,0-0.8,0.1-1.2,0.2 + s-0.8,0.1-1.1,0.2h0c0.2,0.5,0.4,1,0.7,1.4c0.1-0.3,0.3-0.6,0.5-0.9c-0.2-0.5,0.3-0.9,0.8-0.7C13.4,11.9,13.5,11.8,13.6,11.8 + L13.6,11.8z M19.6,11.9c0,0.4-0.1,0.7-0.2,1.1c0.4,0.3,0.1,1-0.4,0.9c-0.2,0.3-0.5,0.6-0.7,0.8l0.9,0l-1.3,0.3c0,0-0.1,0.1-0.1,0.1 + c0.8,0.1,1.5,0.4,2.1,0.9c0.4-0.8,0.7-1.6,0.7-2.6C20.4,12.8,20,12.3,19.6,11.9L19.6,11.9z M11.1,12.2c-0.4,0.1-0.8,0.2-1.1,0.3 + c-0.2,0.3-0.3,0.7-0.3,1c0,2.2,1.3,4,3.1,4.9l0,0c-0.3-0.3-0.6-0.7-0.8-1.1c-0.9,0.1-1.2-1.1-0.4-1.4c-0.1-0.6,0-1.3,0.2-1.9 + C11.5,13.5,11.2,12.9,11.1,12.2L11.1,12.2z M21.3,12.2c0.2,0.5,0.3,1.1,0.3,1.7c0,3.3-2.9,5.9-6.6,5.9c-3.6,0-6.6-2.6-6.6-5.9 + c0-0.3,0-0.6,0.1-0.9c-1,0.4-1.9,0.9-2.8,1.5c-0.3,0.5-0.4,1.1-0.4,1.6c0.1,1.3,1.3,2.4,3,3.2l-0.3-0.1c-3.1-0.9-5.5,0.7-8.1-0.7 + c0.6,0.5,1.3,1,3.3,1c0.7,0,2.9-0.1,3.3,0.2c0.4,0.3-1.4,2-1.4,2s3-2.5,3.3-1.7c0.2,0.5-0.9,2-0.9,2s1-1.4,1.8-1.7 + c0.5-0.2,1-0.2,1.4,0.4c0.2,0.3-1.2,2.1-1.2,2.1s2-1.9,2.3-1.8c0.4,0.1,0,1.8,0,1.8s0.7-1.7,1.1-1.9c0.5-0.2-1.2,4-1.2,4 + s2.1-3.9,2.5-4c0.7-0.2,1.1,2.7,1.1,2.7s-0.3-2.5,0-2.7c2.3-1,1,4.3,1,4.3s1.5-3.6,0.6-4.4c2.4,1.6,2.1,4.4,2.1,4.4s0.6-1.4-1.1-4.7 + c1,0,2.4,2.5,2.4,2.5s-1.6-2.8-0.5-2.8c2.1-0.1,2.3,3.7,2.3,3.7s0.6-0.5-1.1-4.2c1.1-0.7,3.7,3.4,3.7,3.4s-2.4-4-2-4.3 + c0.4-0.3,1.8,1.3,1.8,1.3s-1.1-1.5-0.8-1.6c0.3-0.2,3.2,2.9,3.2,2.9s-2.5-3-2.1-3.4c0.4-0.4,2.3,1,2.3,1s-2.8-1.9-2.3-2.2 + c0.8-0.4,3,1,3,1s-1.3-1.1-1.1-1.4c0.2-0.3,2.8,1.7,2.8,1.7s-2.3-1.8-2.4-2.3c-0.1-0.5,1.8,0.2,1.8,0.2s-2.1-1-2.2-1.3 + c0-0.3,1.4,0.3,1.4,0.3s-2-1.6-2.5-0.3c-0.1,0.2-0.2,0.4-0.4,0.6c0.1-0.4,0.2-0.7,0.1-1.1c0-0.1,0-0.2-0.1-0.4 + C24.6,13.5,23.2,12.8,21.3,12.2L21.3,12.2z M13.5,12.8c-0.1,0.2-0.4,0.3-0.7,0.2c-0.1,0.1-0.1,0.2-0.2,0.3l1.7,0.6c0,0,0,0,0-0.1 + L13.5,12.8z M12.7,13.4c-0.1,0.2-0.2,0.4-0.3,0.7c0.2,0.2,0.3,0.3,0.5,0.5l1.2,0l0,0L12.7,13.4z M18.2,14.1l-0.8,0.6l0.1,0 + C17.8,14.5,18,14.3,18.2,14.1z M12.2,14.5C12.2,14.5,12.2,14.5,12.2,14.5c-0.1,0.5-0.1,0.9-0.1,1.3c0.3,0.1,0.6,0.3,0.6,0.6l1.2-0.8 + c-0.1,0-0.2-0.1-0.3-0.1l-1.4-0.1l0.8-0.2C12.8,15,12.5,14.8,12.2,14.5L12.2,14.5z M13.3,14.8c0.2,0.1,0.4,0.2,0.6,0.3l0.2,0 + c0,0,0,0,0-0.1L13.3,14.8z M17.4,15.7l1.2,1.2L17,16.2l0.9,1.4l-1.4-1.1l0,0l0.5,1.7l-0.8-1.5l-0.1,1.8l-0.5-1.8l-0.6,1.7l0.2-1.8 + l0,0L14,18.2l0.4-1.5c-0.5,0.4-0.8,1-1.1,1.6c0.1,0.1,0.3,0.3,0.4,0.4c2.2,0.6,4.6-0.3,5.8-2.3c-0.5-0.3-1.1-0.6-1.7-0.7L17.4,15.7z + M14.2,16l-1.4,0.5c0,0,0,0,0,0.1c0,0.2-0.1,0.4-0.2,0.6c0.1,0.3,0.3,0.6,0.5,0.8c0.1-0.3,0.3-0.6,0.4-0.8L13,17.4L14.2,16z + M19,19.7c-0.2,0.1-0.5,0.1-0.8,0.2C18.5,19.8,18.8,19.7,19,19.7z M17.6,20c-0.2,0-0.3,0.1-0.5,0.1c-0.3,0-0.5,0.1-0.8,0.1 + C16.8,20.1,17.2,20.1,17.6,20L17.6,20z M15.8,20.2c-0.1,0-0.3,0-0.4,0C15.5,20.2,15.6,20.2,15.8,20.2z"/> +</svg> diff --git a/docs/modules/ROOT/pages/cassandra-sink.adoc b/docs/modules/ROOT/pages/cassandra-sink.adoc new file mode 100644 index 0000000..78a3fc5 --- /dev/null +++ b/docs/modules/ROOT/pages/cassandra-sink.adoc @@ -0,0 +1,72 @@ +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT += image:kamelets/cassandra-sink.svg[] Cassandra Sink + +*Provided by: "Apache Software Foundation"* + +Send data to a Cassandra Cluster. + +This Kamelet expects the body as JSON Array. The content of the JSON Array will be used as input for the CQL Prepared Statement set in the query parameter. + +== Configuration Options + +The following table summarizes the configuration options available for the `cassandra-sink` Kamelet: +[width="100%",cols="2,^2,3,^2,^2,^3",options="header"] +|=== +| Property| Name| Description| Type| Default| Example +| *host {empty}* *| Host| Hostname(s) cassandra server(s). Multiple hosts can be separated by comma.| string| | `"localhost"` +| *keyspace {empty}* *| Keyspace| Keyspace to use| string| | `"customers"` +| *password {empty}* *| Password| The password to use for accessing a secured Cassandra Cluster| string| | +| *port {empty}* *| Port| Port number of cassandra server(s)| string| | `9042` +| *username {empty}* *| Username| The username to use for accessing a secured Cassandra Cluster| string| | +| consistencyLevel| Consistency Level| Consistency level to use. The value can be one of ANY, ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM, SERIAL, LOCAL_SERIAL, LOCAL_ONE| string| `"ANY"`| +| preparedStatement| The Prepared statement| The Prepared statement to execute against the Cassandra cluster table| string| | +|=== + +NOTE: Fields marked with ({empty}*) are mandatory. + +== Usage + +This section summarizes how the `cassandra-sink` can be used in various contexts. + +=== Knative Source + +The `cassandra-sink` Kamelet can be used as Knative source by binding it to a Knative object. + +.cassandra-sink-binding.yaml +[source,yaml] +---- +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: cassandra-sink-binding +spec: + source: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: cassandra-sink + properties: + host: "localhost" + keyspace: "customers" + password: "The Password" + port: 9042 + username: "The Username" + sink: + ref: + kind: InMemoryChannel + apiVersion: messaging.knative.dev/v1 + name: mychannel + +---- + +Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. + +Save the `cassandra-sink-binding.yaml` file into your hard drive, then configure it according to your needs. + +You can run the source using the following command: + +[source,shell] +---- +kubectl apply -f cassandra-sink-binding.yaml +---- +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT