You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Vilmos Nagy (Jira)" <ji...@apache.org> on 2019/11/25 14:03:00 UTC
[jira] [Created] (CAMEL-14214) ASW-S3 Endpoint should have a
`lazyCreateBucket` option
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)