Skip to content

Commit

Permalink
Added Google Sheets Stream Source Kamelet
Browse files Browse the repository at this point in the history
  • Loading branch information
oscerd authored and nicolaferraro committed Mar 11, 2021
1 parent f6e1364 commit 524e51a
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 1 deletion.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* xref:ROOT:ftps-source.adoc[image:kamelets/ftps-source.svg[] FTPS Source]
* xref:ROOT:google-calendar-stream-source.adoc[image:kamelets/google-calendar-stream-source.svg[] Google Calendar Stream Source]
* xref:ROOT:google-mail-stream-source.adoc[image:kamelets/google-mail-stream-source.svg[] Google Mail Stream Source]
* xref:ROOT:google-sheets-stream-source.adoc[image:kamelets/google-sheets-stream-source.svg[] Google Sheets Stream Source]
* xref:ROOT:http-source.adoc[image:kamelets/http-source.svg[] HTTP Source]
* xref:ROOT:jira-source.adoc[image:kamelets/jira-source.svg[] Jira Source]
* xref:ROOT:kafka-source.adoc[image:kamelets/kafka-source.svg[] Kafka Source]
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/google-mail-stream-source.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The following table summarizes the configuration options available for the `goog
| *index {empty}* *| Index| An index for the google mail endpoint| string| |
| *refreshToken {empty}* *| Refresh Token| OAuth 2 refresh token for google mail application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.| string| |
| labels| Gmail labels| Comma separated list of labels to take into account| string| | `"inbox"`
| markAsRead| Mark as read| Mark the message as read once it has been consumed| boolean| `false`|
| markAsRead| Mark as read| Mark the message as read once it has been consumed| boolean| `true`|
| query| Gmail query| The query to execute on gmail box| string| `"is:unread"`| `"is:unread -category:(promotions OR social)"`
|===

Expand Down
74 changes: 74 additions & 0 deletions docs/modules/ROOT/pages/google-sheets-stream-source.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= image:kamelets/google-sheets-stream-source.svg[] Google Sheets Stream Source

*Provided by: "Apache Software Foundation"*

Receive data from Google Sheets.

== Configuration Options

The following table summarizes the configuration options available for the `google-sheets-stream-source` Kamelet:
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
|===
| Property| Name| Description| Type| Default| Example
| *accessToken {empty}* *| Access Token| OAuth 2 access token for google sheets application. This typically expires after an hour so refreshToken is recommended for long term usage.| string| |
| *applicationName {empty}* *| Application name| Google Sheets application name| string| |
| *clientId {empty}* *| Client Id| Client ID of the sheets application| string| |
| *clientSecret {empty}* *| Client Secret| Client Secret of the sheets application| string| |
| *index {empty}* *| Index| An index for the google sheets endpoint| string| |
| *refreshToken {empty}* *| Refresh Token| OAuth 2 refresh token for google sheets application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.| string| |
| *spreadsheetId {empty}* *| Spreadsheet ID| The Spreadsheet ID to be used as events source| string| |
| range| Consume from now| the range of rows and columns in a sheet to get data from.| boolean| | `"A1:B3"`
| splitResults| Split Results| True if value range result should be split into rows or columns to process each of them individually.| boolean| `true`|
|===

NOTE: Fields marked with ({empty}*) are mandatory.

== Usage

This section summarizes how the `google-sheets-stream-source` can be used in various contexts.

=== Knative Source

The `google-sheets-stream-source` Kamelet can be used as Knative source by binding it to a Knative object.

.google-sheets-stream-source-binding.yaml
[source,yaml]
----
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: google-sheets-stream-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: google-sheets-stream-source
properties:
accessToken: "The Access Token"
applicationName: "The Application name"
clientId: "The Client Id"
clientSecret: "The Client Secret"
index: "The Index"
refreshToken: "The Refresh Token"
spreadsheetId: "The Spreadsheet ID"
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 `google-sheets-stream-source-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 google-sheets-stream-source-binding.yaml
----
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT

0 comments on commit 524e51a

Please sign in to comment.