oscerd opened a new issue #706:
URL: https://github.com/apache/camel-k-runtime/issues/706
Suppose you have:
```
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
name: aws-s3-sink
annotations:
camel.apache.org/kamelet.support.level: "Preview"
camel.apache.org/catalog.version: "main-SNAPSHOT"
camel.apache.org/kamelet.icon:
"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4I
iBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg=="
camel.apache.org/provider: "Apache Software Foundation"
camel.apache.org/kamelet.group: "AWS S3"
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
type: object
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
format: password
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:password
secretKey:
title: Secret Key
description: The secret key obtained from AWS.
type: string
format: password
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
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:checkbox'
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
dependencies:
- "camel:aws2-s3"
- "camel:kamelet"
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}"
- to:
uri: "aws2-s3:{{bucketNameOrArn}}"
parameters:
secretKey: "{{secretKey}}"
accessKey: "{{accessKey}}"
region: "{{region}}"
uriEndpointOverride: "{{?uriEndpointOverride}}"
overrideEndpoint: "{{overrideEndpoint}}"
autoCreateBucket: "{{autoCreateBucket}}"
```
The uriEndpointOverride is optional and is not required.
By using this kamelet in a binding, you'll get the following error:
```
[1] 2021-06-04 12:38:23,401 ERROR [io.qua.run.Application] (main) Failed to
start application (with profile prod): java.lang.IllegalArgumentException:
Route template aws-s3-sink the following mandatory parameters must be provided:
uriEndpointOverride
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]