generated from camel.apache.org/kamelet
Add kamelet definition: aws-s3-event-based-source
This commit is contained in:
parent
1dbc22642b
commit
e5d59aaba5
200
kamelet.yaml
Normal file
200
kamelet.yaml
Normal file
@ -0,0 +1,200 @@
|
||||
|
||||
apiVersion: camel.apache.org/v1
|
||||
kind: Kamelet
|
||||
metadata:
|
||||
name: aws-s3-event-based-source
|
||||
annotations:
|
||||
camel.apache.org/kamelet.support.level: Preview
|
||||
camel.apache.org/catalog.version: "4.10.2"
|
||||
camel.apache.org/kamelet.icon: >-
|
||||
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIKICAgaGVpZ2h0PSI3Mi4xOTk5OTciCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDU5Ljg0OTk5OCA3Mi4xOTk5OTciCiAgIHdpZHRoPSI1OS44NDk5OTgiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgIGlkPSJzdmcxNDUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImRvd25sb2FkLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wLjIgKGU4NmM4NzA4NzksIDIwMjEtMDEtMTUpIj48bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTEiPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PGRjOnRpdGxlPjwvZGM6dGl0bGU+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnMxNDkiIC8+PHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzE0NyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjAuMSIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAuMSIKICAgICBmaXQtbWFyZ2luLXJpZ2h0PSIwLjEiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAuMSIKICAgICBpbmtzY2FwZTp6b29tPSI4LjE5IgogICAgIGlua3NjYXBlOmN4PSIyOS45MjUiCiAgICAgaW5rc2NhcGU6Y3k9IjM2LjEiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTQ1IiAvPjxnCiAgICAgaWQ9IkFtYXpvbl9DbG91ZFNlYXJjaCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAuMDc1LC0xMy45KSI+PGcKICAgICAgIGlkPSJnMTQyIj48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjIzLjk4NywzNi4yMDEgNTQuNDYyLDQwLjQ5NCA1NC40Niw1OS41MDYgMjMuOTg1LDYzLjc5MyAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTIwIiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDIwLjE3OSwyOC45MDggMjAuMTc5LDM3LjM0NCA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMjIiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI0OS45OTcsODYgMjAuMTksNzEuMDk0IDIwLjE5LDYyLjY1NCA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiNkOWE3NDEiCiAgICAgICAgIHBvaW50cz0iNTAuMDAzLDE0IDc5LjgyNSwyOC45MTQgNzkuODIzLDM3LjM1IDUwLjAwMywyOC4zOTkgIgogICAgICAgICBpZD0icG9seWdvbjEyNiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjQ5Ljk5Nyw4NiA3OS44MDYsNzEuMDk5IDc5LjgwNiw2Mi42NiA0OS45OTksNzEuNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTI4IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM4NzY5MjkiCiAgICAgICAgIHBvaW50cz0iMjAuMTc5LDI4LjkwOCAyMy45ODksMjcuMDA0IDIzLjk4NSw3Mi45OSAyMC4xNzUsNzEuMDg2ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzAiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iIzg3NjkyOSIKICAgICAgICAgcG9pbnRzPSI1MC4wMDEsNDAuODMyIDM5LjAxOSw0Mi4yMjkgMzkuMDE3LDU3Ljc2MiA0OS45OTksNTkuMTYgIgogICAgICAgICBpZD0icG9seWdvbjEzMiIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjODc2OTI5IgogICAgICAgICBwb2ludHM9IjM1LjA4Myw0Mi43MjkgMjcuOTU0LDQzLjYzNyAyNy45NTQsNTYuMzU0IDM1LjA4MSw1Ny4yNiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTM0IiAvPjxwb2x5Z29uCiAgICAgICAgIGZpbGw9IiM2MjRhMWUiCiAgICAgICAgIHBvaW50cz0iNzkuODIzLDM3LjM1IDU0LjQ4MSw0MC40OTYgMjMuOTg3LDM2LjIwMSA1MC4wMDMsMjguMzk5ICIKICAgICAgICAgaWQ9InBvbHlnb24xMzYiIC8+PHBvbHlnb24KICAgICAgICAgZmlsbD0iI2ZhZDc5MSIKICAgICAgICAgcG9pbnRzPSI3OS44MDYsNjIuNjYgNTQuNDYsNTkuNTA2IDIzLjk4NSw2My43OTMgNDkuOTk5LDcxLjYgIgogICAgICAgICBpZD0icG9seWdvbjEzOCIgLz48cG9seWdvbgogICAgICAgICBmaWxsPSIjZDlhNzQxIgogICAgICAgICBwb2ludHM9IjUwLjAwMSw0MC44MzIgNzkuODA4LDQ0LjYyOSA3OS44MDgsNTUuMzMgNDkuOTk5LDU5LjA5MiAiCiAgICAgICAgIGlkPSJwb2x5Z29uMTQwIiAvPjwvZz48L2c+PC9zdmc+Cg==
|
||||
camel.apache.org/provider: Apache Software Foundation
|
||||
camel.apache.org/kamelet.group: AWS S3 Event-Based
|
||||
camel.apache.org/kamelet.namespace: "AWS"
|
||||
camel.apache.org/keda.type: aws-s3-event-based-queue
|
||||
labels:
|
||||
camel.apache.org/kamelet.type: source
|
||||
spec:
|
||||
definition:
|
||||
title: AWS S3 Event Based Source
|
||||
description: Receive data from AWS SQS subscribed to Eventbridge Bus reporting events related to an S3 bucket or multiple buckets.
|
||||
required:
|
||||
- accessKey
|
||||
- secretKey
|
||||
- queueNameOrArn
|
||||
- region
|
||||
type: object
|
||||
properties:
|
||||
queueNameOrArn:
|
||||
title: Queue Name
|
||||
description: The SQS Queue Name or ARN
|
||||
type: string
|
||||
deleteAfterRead:
|
||||
title: Auto-delete Messages
|
||||
description: Delete messages after consuming them
|
||||
type: boolean
|
||||
default: true
|
||||
accessKey:
|
||||
title: Access Key
|
||||
description: The access key obtained from AWS.
|
||||
type: string
|
||||
format: password
|
||||
x-descriptors:
|
||||
- 'urn:camel:group:credentials'
|
||||
- 'urn:keda:authentication:awsAccessKeyID'
|
||||
- 'urn:keda:required'
|
||||
secretKey:
|
||||
title: Secret Key
|
||||
description: The secret key obtained from AWS.
|
||||
type: string
|
||||
format: password
|
||||
x-descriptors:
|
||||
- 'urn:camel:group:credentials'
|
||||
- 'urn:keda:authentication:awsSecretAccessKey'
|
||||
- 'urn:keda:required'
|
||||
region:
|
||||
title: AWS Region
|
||||
description: The AWS region to access.
|
||||
type: string
|
||||
x-descriptors:
|
||||
- 'urn:keda:metadata:awsRegion'
|
||||
- 'urn:keda:required'
|
||||
enum:
|
||||
- ap-south-1
|
||||
- eu-south-1
|
||||
- us-gov-east-1
|
||||
- me-central-1
|
||||
- ca-central-1
|
||||
- eu-central-1
|
||||
- us-iso-west-1
|
||||
- us-west-1
|
||||
- us-west-2
|
||||
- af-south-1
|
||||
- eu-north-1
|
||||
- eu-west-3
|
||||
- eu-west-2
|
||||
- eu-west-1
|
||||
- ap-northeast-3
|
||||
- ap-northeast-2
|
||||
- ap-northeast-1
|
||||
- me-south-1
|
||||
- sa-east-1
|
||||
- ap-east-1
|
||||
- cn-north-1
|
||||
- us-gov-west-1
|
||||
- ap-southeast-1
|
||||
- ap-southeast-2
|
||||
- us-iso-east-1
|
||||
- ap-southeast-3
|
||||
- us-east-1
|
||||
- us-east-2
|
||||
- cn-northwest-1
|
||||
- us-isob-east-1
|
||||
- aws-global
|
||||
- aws-cn-global
|
||||
- aws-us-gov-global
|
||||
- aws-iso-global
|
||||
- aws-iso-b-global
|
||||
autoCreateQueue:
|
||||
title: Autocreate Queue
|
||||
description: Setting the autocreation of the SQS queue.
|
||||
type: boolean
|
||||
default: false
|
||||
amazonAWSHost:
|
||||
title: AWS Host
|
||||
description: The hostname of the Amazon AWS cloud.
|
||||
type: string
|
||||
default: amazonaws.com
|
||||
protocol:
|
||||
title: Protocol
|
||||
description: The underlying protocol used to communicate with SQS
|
||||
type: string
|
||||
example: http or https
|
||||
default: https
|
||||
queueURL:
|
||||
title: Queue URL
|
||||
description: The full SQS Queue URL (required if using KEDA)
|
||||
type: string
|
||||
x-descriptors:
|
||||
- 'urn:keda:metadata:queueURL'
|
||||
- 'urn:keda:required'
|
||||
uriEndpointOverride:
|
||||
title: Overwrite Endpoint URI
|
||||
description: >-
|
||||
The overriding endpoint URI. To use this option, you must also select
|
||||
the `overrideEndpoint` option.
|
||||
type: string
|
||||
overrideEndpoint:
|
||||
title: Endpoint Overwrite
|
||||
description: >-
|
||||
Select this option to override the endpoint URI. To use this option,
|
||||
you must also provide a URI for the `uriEndpointOverride` option.
|
||||
type: boolean
|
||||
default: false
|
||||
delay:
|
||||
title: Delay
|
||||
description: The number of milliseconds before the next poll of the selected stream
|
||||
type: integer
|
||||
default: 500
|
||||
greedy:
|
||||
title: Greedy Scheduler
|
||||
description: >-
|
||||
If greedy is enabled, then the polling will happen immediately again,
|
||||
if the previous run polled 1 or more messages.
|
||||
type: boolean
|
||||
default: false
|
||||
getObject:
|
||||
title: Greedy Object in Bucket
|
||||
description: >-
|
||||
If getObject is enabled, then the file created in the bucket will be
|
||||
get and returned as body, if not only the event will returned as body.
|
||||
type: boolean
|
||||
default: false
|
||||
dependencies:
|
||||
- 'camel:core'
|
||||
- 'camel:aws2-sqs'
|
||||
- 'camel:aws2-s3'
|
||||
- 'camel:jsonpath'
|
||||
- 'camel:kamelet'
|
||||
- 'camel:jackson'
|
||||
template:
|
||||
from:
|
||||
uri: 'aws2-sqs:{{queueNameOrArn}}'
|
||||
parameters:
|
||||
autoCreateQueue: '{{autoCreateQueue}}'
|
||||
secretKey: '{{?secretKey}}'
|
||||
accessKey: '{{?accessKey}}'
|
||||
region: '{{region}}'
|
||||
deleteAfterRead: '{{deleteAfterRead}}'
|
||||
amazonAWSHost: '{{?amazonAWSHost}}'
|
||||
protocol: '{{?protocol}}'
|
||||
uriEndpointOverride: '{{?uriEndpointOverride}}'
|
||||
overrideEndpoint: '{{overrideEndpoint}}'
|
||||
delay: '{{delay}}'
|
||||
greedy: '{{greedy}}'
|
||||
steps:
|
||||
- choice:
|
||||
precondition: true
|
||||
when:
|
||||
- simple: '${properties:getObject:true}'
|
||||
steps:
|
||||
- unmarshal:
|
||||
json:
|
||||
library: Jackson
|
||||
unmarshalType: com.fasterxml.jackson.databind.JsonNode
|
||||
- setProperty:
|
||||
name: s3-event-name
|
||||
jsonpath: $.detail.reason
|
||||
- choice:
|
||||
when:
|
||||
- simple: '${exchangeProperty.s3-event-name} == "PutObject"'
|
||||
steps:
|
||||
- setProperty:
|
||||
name: aws-s3-name
|
||||
jsonpath: $.detail.object.key
|
||||
- setProperty:
|
||||
name: aws-s3-bucket
|
||||
jsonpath: $.detail.bucket.name
|
||||
- toD: >-
|
||||
aws2-s3:${exchangeProperty.aws-s3-bucket}?accessKey={{accessKey}}&secretKey={{secretKey}}®ion={{region}}&operation=getObject&keyName=${exchangeProperty.aws-s3-name}
|
||||
- to: 'kamelet:sink'
|
||||
Loading…
Reference in New Issue
Block a user