-
Notifications
You must be signed in to change notification settings - Fork 73
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
168 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
apiVersion: camel.apache.org/v1alpha1 | ||
kind: Kamelet | ||
metadata: | ||
name: aws-s3-sink | ||
annotations: | ||
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg==" | ||
camel.apache.org/provider: "Apache Software Foundation" | ||
labels: | ||
camel.apache.org/kamelet.type: "sink" | ||
spec: | ||
definition: | ||
title: "AWS S3 Sink" | ||
description: |- | ||
Upload data to AWS S3. | ||
The Kamelet expects the following headers to be set: | ||
- `file` / `ce-file`: as the file name to upload | ||
If the header won't be set the exchange ID will be used as file name. | ||
required: | ||
- bucketNameOrArn | ||
- accessKey | ||
- secretKey | ||
- region | ||
properties: | ||
bucketNameOrArn: | ||
title: Bucket Name | ||
description: The S3 Bucket name or ARN. | ||
type: string | ||
accessKey: | ||
title: Access Key | ||
description: The access key obtained from AWS. | ||
type: string | ||
x-descriptors: | ||
- urn:alm:descriptor:com.tectonic.ui:password | ||
secretKey: | ||
title: Secret Key | ||
description: The secret key obtained from AWS. | ||
type: string | ||
x-descriptors: | ||
- urn:alm:descriptor:com.tectonic.ui:password | ||
region: | ||
title: AWS Region | ||
description: The AWS region to connect to. | ||
type: string | ||
example: eu-west-1 | ||
overrideEndpoint: | ||
title: Override Endpoint | ||
description: Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride. | ||
type: boolean | ||
default: false | ||
uriEndpointOverride: | ||
title: Override Endpoint URI | ||
description: Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option. | ||
type: string | ||
example: "http://another-s3-endpoint:9000" | ||
autoCreateBucket: | ||
title: Autocreate bucket | ||
description: Setting the autocreation of the S3 bucket bucketName. | ||
type: boolean | ||
x-descriptors: | ||
- 'urn:alm:descriptor:com.tectonic.ui:checkbox' | ||
default: false | ||
flow: | ||
from: | ||
uri: "kamelet:source" | ||
steps: | ||
- choice: | ||
when: | ||
- simple: "${header[file]}" | ||
steps: | ||
- set-header: | ||
name: CamelAwsS3Key | ||
simple: "${header[file]}" | ||
- simple: "${header[ce-file]}" | ||
steps: | ||
- set-header: | ||
name: CamelAwsS3Key | ||
simple: "${header[ce-file]}" | ||
otherwise: | ||
steps: | ||
- set-header: | ||
name: CamelAwsS3Key | ||
simple: "${exchangeId}" | ||
- log: "s3 body - ${body}" | ||
- to: | ||
uri: "aws2-s3:{{bucketNameOrArn}}" | ||
parameters: | ||
secretKey: "{{secretKey}}" | ||
accessKey: "{{accessKey}}" | ||
region: "{{region}}" | ||
uriEndpointOverride: "{{uriEndpointOverride}}" | ||
overrideEndpoint: "{{overrideEndpoint}}" | ||
autoCreateBucket: "{{autoCreateBucket}}" |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT | ||
= image:kamelets/aws-s3-sink.svg[] AWS S3 Sink | ||
|
||
*Provided by: "Apache Software Foundation"* | ||
|
||
Send data to AWS S3. | ||
|
||
== Configuration Options | ||
|
||
The following table summarizes the configuration options available for the `aws-s3-sink` Kamelet: | ||
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"] | ||
|=== | ||
| Property| Name| Description| Type| Default| Example | ||
| *accessKey {empty}* *| Access Key| The access key obtained from AWS.| string| | | ||
| *bucketNameOrArn {empty}* *| Bucket Name| The S3 Bucket name or ARN.| string| | | ||
| *filename {empty}* *| Filename (S3 Key)| The target filename created on S3.| string| | | ||
| *region {empty}* *| AWS Region| The AWS region to connect to.| string| | `"eu-west-1"` | ||
| *secretKey {empty}* *| Secret Key| The secret key obtained from AWS.| string| | | ||
| autoCreateBucket| Autocreate bucket| Setting the autocreation of the S3 bucket bucketName.| boolean| `false`| | ||
| overrideEndpoint| Override Endpoint| Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride.| boolean| `false`| | ||
| uriEndpointOverride| Override Endpoint URI| Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option.| string| | `"http://another-s3-endpoint:9000"` | ||
|=== | ||
|
||
NOTE: Fields marked with ({empty}*) are mandatory. | ||
|
||
== Usage | ||
|
||
This section summarizes how the `aws-s3-sink` can be used in various contexts. | ||
|
||
=== Knative Sink | ||
|
||
The `aws-s3-sink` Kamelet can be used as Knative sink by binding it to a Knative object. | ||
|
||
.aws-s3-sink-binding.yaml | ||
[source,yaml] | ||
---- | ||
apiVersion: camel.apache.org/v1alpha1 | ||
kind: KameletBinding | ||
metadata: | ||
name: aws-s3-sink-binding | ||
spec: | ||
source: | ||
ref: | ||
kind: InMemoryChannel | ||
apiVersion: messaging.knative.dev/v1 | ||
name: mychannel | ||
sink: | ||
ref: | ||
kind: Kamelet | ||
apiVersion: camel.apache.org/v1alpha1 | ||
name: aws-s3-sink | ||
properties: | ||
accessKey: "The Access Key" | ||
bucketNameOrArn: "The Bucket Name" | ||
filename: "The Filename (S3 Key)" | ||
region: "eu-west-1" | ||
secretKey: "The Secret Key" | ||
---- | ||
|
||
Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. | ||
|
||
Save the `aws-s3-sink-binding.yaml` file into your hard drive, then configure it according to your needs. | ||
|
||
You can run the sink using the following command: | ||
|
||
[source,shell] | ||
---- | ||
kubectl apply -f aws-s3-sink-binding.yaml | ||
---- | ||
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT |