I've tested to wrap secret with RAW as you mentioned.
It did not take an effect.

But I read S3 documentation again and have revealed,
that this exception relates to access rights to perform list-bucket.
But I have checked my access rights and I have the right to perform
list-bucket.

On Wed, 2021-07-28 at 07:21 +0000, Andrea Cosentino wrote:
> If your accessKey or secretKey contains special characters like + or
> /, you need to prepend RAW
> 
> Like 
> 
> secretKey=RAW(<secretKey>)
> 
> This seems to be a problem with your credentials at first sight.
> 
> --
> Andrea Cosentino 
> ----------------------------------
> Apache Camel PMC Chair
> Apache Karaf Committer
> Apache Servicemix PMC Member
> Email: [email protected]
> Twitter: @oscerd2
> Github: oscerd
> 
> 
> 
> 
> 
> 
> On Wednesday, July 28, 2021, 09:14:19 AM GMT+2,
> [email protected] <[email protected]> wrote: 
> 
> 
> 
> 
> 
> Hello!
> 
> I'm trying to send file to AWS S3 bucket and getting the following
> exception.
> 
> Caused by: org.apache.camel.RuntimeCamelException:
> software.amazon.awssdk.services.s3.model.S3Exception: null (Service:
> S3, Status Code: 400, Request ID: null, Extended Request ID:
> na7tn3NqtzpxOnMvVw8wc4vEMSYn6ZvQvVZx709dq0q75++wwWxgBfSk4DFgtgYPV9hic
> In
> 8M98=)
> 
> What does it mean?
> 
> My code is similar to:
> 
> ---
> from("direct://send-file")
>   .process((exchange) ->
> )
>   .to("aws2-s3://BUCKET-NAME?accessKey=***&secretKey=***&region=EU-
> NORTH-1")
> 
> // sender:
> 
> context.createproducerTemplate().sendBody("direct://send-file",
> "TEST");
> ---
> 
> Here is the stacktrace:
> 
> Caused by: org.apache.camel.FailedToStartRouteException: Failed to
> start route route1 because of null
>     at
> org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:12
> 3)
> 
>     at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doWarmUpRout
> es
> 
> (InternalRouteStartupManager.java:306)
>     at
> org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartR
> ou
> 
> teServices(InternalRouteStartupManager.java:189)
>     at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrRes
> um
> 
> eRoutes(InternalRouteStartupManager.java:147)
>     at
> org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(Abstra
> ct
> 
> CamelContext.java:3166)
>     at
> org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(Abst
> ra
> 
> ctCamelContext.java:2846)
>     at
> org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCam
> el
> 
> Context.java:2797)
>     at
> org.apache.camel.spring.boot.SpringBootCamelContext.doStart(SpringBoo
> tC
> 
> amelContext.java:43)
>     at
> org.apache.camel.support.service.BaseService.start(BaseService.java:1
> 19
> 
> )
>     at
> org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamel
> Co
> 
> ntext.java:2494)
>     at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.j
> av
> 
> a:245)
>     at
> org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.j
> av
> 
> a:119)
>     at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringC
> am
> 
> elContext.java:151)
>     at
> org.springframework.context.event.SimpleApplicationEventMulticaster.d
> oI
> 
> nvokeListener(SimpleApplicationEventMulticaster.java:176)
>     at
> org.springframework.context.event.SimpleApplicationEventMulticaster.i
> nv
> 
> okeListener(SimpleApplicationEventMulticaster.java:169)
>     at
> org.springframework.context.event.SimpleApplicationEventMulticaster.m
> ul
> 
> ticastEvent(SimpleApplicationEventMulticaster.java:143)
>     at
> org.springframework.context.support.AbstractApplicationContext.publis
> hE
> 
> vent(AbstractApplicationContext.java:421)
>     at
> org.springframework.context.support.AbstractApplicationContext.publis
> hE
> 
> vent(AbstractApplicationContext.java:378)
>     at
> org.springframework.context.support.AbstractApplicationContext.finish
> Re
> 
> fresh(AbstractApplicationContext.java:938)
>     at
> org.springframework.context.support.AbstractApplicationContext.refres
> h(
> 
> AbstractApplicationContext.java:586)
>     at
> org.springframework.boot.SpringApplication.refresh(SpringApplication.
> ja
> 
> va:782)
>     at
> org.springframework.boot.SpringApplication.refresh(SpringApplication.
> ja
> 
> va:774)
>     at
> org.springframework.boot.SpringApplication.refreshContext(SpringAppli
> ca
> 
> tion.java:439)
>     at
> org.springframework.boot.SpringApplication.run(SpringApplication.java
> :3
> 
> 39)
>     at
> org.springframework.boot.test.context.SpringBootContextLoader.loadCon
> te
> 
> xt(SpringBootContextLoader.java:123)
>     at
> org.springframework.test.context.cache.DefaultCacheAwareContextLoader
> De
> 
> legate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.jav
> a:
> 
> 99)
>     at
> org.springframework.test.context.cache.DefaultCacheAwareContextLoader
> De
> 
> legate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)
>     ... 92 more
> Caused by: org.apache.camel.RuntimeCamelException:
> software.amazon.awssdk.services.s3.model.S3Exception: null (Service:
> S3, Status Code: 400, Request ID: null, Extended Request ID:
> na7tn3NqtzpxOnMvVw8wc4vEMSYn6ZvQvVZx709dq0q75++wwWxgBfSk4DFgtgYPV9hic
> In
> 
> 8M98=)
>     at
> org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(Runt
> im
> 
> eCamelException.java:51)
>     at
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSuppor
> t.
> 
> java:67)
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:113)
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:130)
>     at
> org.apache.camel.impl.engine.DefaultChannel.doStart(DefaultChannel.ja
> va
> 
> :126)
>     at
> org.apache.camel.support.service.BaseService.start(BaseService.java:1
> 19
> 
> )
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:113)
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:116)
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:130)
>     at
> org.apache.camel.processor.Pipeline.doStart(Pipeline.java:221)
>     at
> org.apache.camel.support.service.BaseService.start(BaseService.java:1
> 19
> 
> )
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:113)
>     at
> org.apache.camel.support.processor.DelegateAsyncProcessor.doStart(Del
> eg
> 
> ateAsyncProcessor.java:89)
>     at
> org.apache.camel.support.service.BaseService.start(BaseService.java:1
> 19
> 
> )
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:113)
>     at
> org.apache.camel.impl.engine.RouteService.startChildServices(RouteSer
> vi
> 
> ce.java:396)
>     at
> org.apache.camel.impl.engine.RouteService.doWarmUp(RouteService.java:
> 19
> 
> 3)
>     at
> org.apache.camel.impl.engine.RouteService.warmUp(RouteService.java:12
> 1)
> 
>     ... 118 more
> Caused by: software.amazon.awssdk.services.s3.model.S3Exception: null
> (Service: S3, Status Code: 400, Request ID: null, Extended Request
> ID:
> na7tn3NqtzpxOnMvVw8wc4vEMSYn6ZvQvVZx709dq0q75++wwWxgBfSk4DFgtgYPV9hic
> In
> 
> 8M98=)
>     at
> software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredic
> at
> 
> edResponseHandler.handleErrorResponse(AwsXmlPredicatedResponseHandler
> .j
> 
> ava:156)
>     at
> software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredic
> at
> 
> edResponseHandler.handleResponse(AwsXmlPredicatedResponseHandler.java
> :1
> 
> 06)
>     at
> software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredic
> at
> 
> edResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:84)
>     at
> software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredic
> at
> 
> edResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:42)
>     at
> software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler$Cr
> c3
> 
> 2ValidationResponseHandler.handle(AwsSyncClientHandler.java:94)
>     at
> software.amazon.awssdk.core.internal.handler.BaseClientHandler.lambda
> $s
> 
> uccessTransformationResponseHandler$6(BaseClientHandler.java:270)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.HandleRespo
> ns
> 
> eStage.execute(HandleResponseStage.java:40)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.HandleRespo
> ns
> 
> eStage.execute(HandleResponseStage.java:30)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBui
> ld
> 
> er$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:
> 20
> 
> 6)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAtte
> mp
> 
> tTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java
> :7
> 
> 3)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAtte
> mp
> 
> tTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java
> :4
> 
> 2)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExce
> pt
> 
> ionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExce
> pt
> 
> ionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAtte
> mp
> 
> tMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.ja
> va
> 
> :50)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAtte
> mp
> 
> tMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.ja
> va
> 
> :36)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableSt
> ag
> 
> e.execute(RetryableStage.java:64)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableSt
> ag
> 
> e.execute(RetryableStage.java:34)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBui
> ld
> 
> er$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:
> 20
> 
> 6)
>     at
> software.amazon.awssdk.core.internal.http.StreamManagingStage.execute
> (S
> 
> treamManagingStage.java:56)
>     at
> software.amazon.awssdk.core.internal.http.StreamManagingStage.execute
> (S
> 
> treamManagingStage.java:36)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTime
> ou
> 
> tTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTime
> ou
> 
> tTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTime
> ou
> 
> tTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetr
> ic
> 
> CollectionStage.execute(ApiCallMetricCollectionStage.java:48)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetr
> ic
> 
> CollectionStage.execute(ApiCallMetricCollectionStage.java:31)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBui
> ld
> 
> er$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:
> 20
> 
> 6)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBui
> ld
> 
> er$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:
> 20
> 
> 6)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFa
> il
> 
> ureExceptionReportingStage.execute(ExecutionFailureExceptionReporting
> St
> 
> age.java:37)
>     at
> software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFa
> il
> 
> ureExceptionReportingStage.execute(ExecutionFailureExceptionReporting
> St
> 
> age.java:26)
>     at
> software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$Reques
> tE
> 
> xecutionBuilderImpl.execute(AmazonSyncHttpClient.java:193)
>     at
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.in
> vo
> 
> ke(BaseSyncClientHandler.java:135)
>     at
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.do
> Ex
> 
> ecute(BaseSyncClientHandler.java:161)
>     at
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.la
> mb
> 
> da$execute$1(BaseSyncClientHandler.java:114)
>     at
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.me
> as
> 
> ureApiCallSuccess(BaseSyncClientHandler.java:169)
>     at
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.ex
> ec
> 
> ute(BaseSyncClientHandler.java:95)
>     at
> software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execu
> te
> 
> (SdkSyncClientHandler.java:45)
>     at
> software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.ex
> ec
> 
> ute(AwsSyncClientHandler.java:55)
>     at
> software.amazon.awssdk.services.s3.DefaultS3Client.headBucket(Default
> S3
> 
> Client.java:4863)
>     at
> org.apache.camel.component.aws2.s3.AWS2S3Endpoint.doStart(AWS2S3Endpo
> in
> 
> t.java:101)
>     at
> org.apache.camel.support.service.BaseService.start(BaseService.java:1
> 19
> 
> )
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:113)
>     at
> org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:2
> 41
> 
> )
>     at
> org.apache.camel.support.service.BaseService.start(BaseService.java:1
> 19
> 
> )
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:113)
>     at
> org.apache.camel.support.service.ServiceHelper.startService(ServiceHe
> lp
> 
> er.java:130)
>     at
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.doStar
> t(
> 
> RedeliveryErrorHandler.java:1638)
>     at
> org.apache.camel.support.ChildServiceSupport.start(ChildServiceSuppor
> t.
> 
> java:60)
>     ... 134 more
> 
> _________________
> Vyacheslav Boyko,
> mailto:[email protected]
> 

-- 
_________________
Vyacheslav Boyko,
mailto:[email protected]

Reply via email to