Dropbox Source
Provided by: "Apache Software Foundation"
Support Level for this Kamelet is: "Preview"
Consume Files from Dropbox.
Configuration Options
The following table summarizes the configuration options available for the dropbox-source
Kamelet:
Property | Name | Description | Type | Default | Example |
---|---|---|---|---|---|
accessToken * |
Dropbox Access Token |
The access Token to use to access Dropbox |
string |
||
clientIdentifier * |
Client Identifier |
Dropbox App client Identifier |
string |
||
period * |
Period between Polls |
The interval between fetches to the Dropbox remote path in milliseconds |
integer |
|
|
query * |
Queries |
A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files will be matched. |
string |
||
remotePath * |
Remote Path |
Original file or folder to work with |
string |
Fields marked with (*) are mandatory. |
Usage
This section summarizes how the dropbox-source
can be used in various contexts.
Knative Source
The dropbox-source
Kamelet can be used as Knative source by binding it to a Knative object.
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: dropbox-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: dropbox-source
properties:
accessToken: "The Dropbox Access Token"
clientIdentifier: "The Client Identifier"
query: "The Queries"
remotePath: "The Remote Path"
sink:
ref:
kind: Channel
apiVersion: messaging.knative.dev/v1
name: mychannel
Make sure you have Camel K installed into the Kubernetes cluster you’re connected to.
Save the dropbox-source-binding.yaml
file into your hard drive, then configure it according to your needs.
You can run the source using the following command:
kubectl apply -f dropbox-source-binding.yaml
Dependencies
The Kamelet needs the following dependencies:
-
camel:dropbox
-
camel:kamelet
-
camel:core
-
camel:jsonpath
-
camel:timer
Binding to Knative using the Kamel CLI:
The procedure described above can be simplified into a single execution of the kamel bind
command:
kamel bind dropbox-source -p "source.accessToken=The Dropbox Access Token" -p "source.clientIdentifier=The Client Identifier" -p "source.query=The Queries" -p "source.remotePath=The Remote Path" channel:mychannel
This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.
Kafka Source
The dropbox-source
Kamelet can be used as Kafka source by binding it to a Kafka topic.
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: dropbox-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: dropbox-source
properties:
accessToken: "The Dropbox Access Token"
clientIdentifier: "The Client Identifier"
query: "The Queries"
remotePath: "The Remote Path"
sink:
ref:
kind: KafkaTopic
apiVersion: kafka.strimzi.io/v1beta1
name: my-topic
Ensure that you’ve installed Strimzi and created a topic named my-topic
in the current namespace.
Make also sure you have Camel K installed into the Kubernetes cluster you’re connected to.
Save the dropbox-source-binding.yaml
file into your hard drive, then configure it according to your needs.
You can run the source using the following command:
kubectl apply -f dropbox-source-binding.yaml
Binding to Kafka using the Kamel CLI:
The procedure described above can be simplified into a single execution of the kamel bind
command:
kamel bind dropbox-source -p "source.accessToken=The Dropbox Access Token" -p "source.clientIdentifier=The Client Identifier" -p "source.query=The Queries" -p "source.remotePath=The Remote Path" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.