Vilmos Nagy created CAMEL-14214:
-----------------------------------
Summary: ASW-S3 Endpoint should have a `lazyCreateBucket` option
Key: CAMEL-14214
URL: https://issues.apache.org/jira/browse/CAMEL-14214
Project: Camel
Issue Type: New Feature
Affects Versions: 3.0.0.RC3
Reporter: Vilmos Nagy
I use the AWS-S3 component to sync some files from an FTP server to a
self-hosted minio client. (Minio is object storage server compatible with
Amazon S3 APIs). It works fine, and the route is fairly simple, see
{code:xml}
<route>
<from uri="ftp://{{ftp.uri}}/?password=password"/>
<setBody>
<simple>${body.body}</simple>
</setBody>
<setHeader name="CamelAwsS3Key">
<simple>{{s3.basepath}}/${header.CamelFileNameOnly}</simple>
</setHeader>
<to uri="aws-s3://{{s3.bucket}}?amazonS3Client=#minioClient"/>
</route>
{code}
We'd like to be able to start the application even when the minio server is not
available.
Currently, the app fails to start in this case, because the {{S3Endpoint}}
class tries to check whether the given bucket exists (in line
{{S3Endpoint.java:102}}). If I define the {{fileName}} query parameter, the
{{S3Endpoint}} will skip the check, and the application starts (and the
uploaded file's name is correct, so I can't see what this query parameter does
in this case when the S3 component is a producer).
So, currently, I can do a workaround like:
{code:xml}
<to uri="aws-s3://{{s3.bucket}}?amazonS3Client=#minioClient&fileName=a"/>
{code}
But I'd like to do the following:
{code:xml}
<to
uri="aws-s3://{{s3.bucket}}?amazonS3Client=#minioClient&lazyCreateBucket=true"/>
{code}
(Something similar to {{lazyStartProducer}}, but {{lazyStartProducer}} does not
solve my problem :\ )
--
This message was sent by Atlassian Jira
(v8.3.4#803005)