apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-s3-streaming-upload-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.10.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS S3" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS S3 Streaming upload Sink" description: Upload data to AWS S3 in streaming upload mode. required: - bucketNameOrArn - region - keyName type: object properties: bucketNameOrArn: title: Bucket Name description: The S3 Bucket name or Amazon Resource Name (ARN).. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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"] autoCreateBucket: title: Autocreate Bucket description: Setting the autocreation of the S3 bucket bucketName. type: boolean default: false restartingPolicy: title: Restarting Policy description: The restarting policy to use in streaming upload mode. There are 2 enums and the value can be one of override, lastPart type: string default: "lastPart" batchMessageNumber: title: Batch Message Number description: The number of messages composing a batch in streaming upload mode type: integer default: 10 batchSize: title: Batch Size description: The batch size (in bytes) in streaming upload mode type: integer default: 1000000 streamingUploadTimeout: title: Streaming Upload Timeout description: While streaming upload mode is true, this option set the timeout to complete upload type: integer namingStrategy: title: Naming Strategy description: The naming strategy to use in streaming upload mode. There are 2 enums and the value can be one of progressive, random type: string default: "progressive" keyName: title: Key Name description: Setting the key name for an element in the bucket through endpoint parameter. In Streaming Upload, with the default configuration, this will be the base for the progressive creation of files. type: string useDefaultCredentialsProvider: title: Default Credentials Provider description: Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the S3 client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the S3 client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in S3. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter will set the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 forcePathStyle: title: Force Path Style description: Forces path style when accessing AWS S3 buckets. type: boolean default: false dependencies: - "camel:aws2-s3" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "aws2-s3:{{bucketNameOrArn}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" autoCreateBucket: "{{autoCreateBucket}}" streamingUploadMode: "true" restartingPolicy: "{{restartingPolicy}}" batchMessageNumber: "{{batchMessageNumber}}" batchSize: "{{batchSize}}" namingStrategy: "{{namingStrategy}}" keyName: "{{keyName}}" streamingUploadTimeout: "{{?streamingUploadTimeout}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" forcePathStyle: "{{forcePathStyle}}"