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&amp;fileName=a"/>
{code}

But I'd like to do the following:

{code:xml}
<to uri="aws-s3://{{s3.bucket}}?amazonS3Client=#minioClient&amp;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)