[ 
https://issues.apache.org/jira/browse/CAMEL-22429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darick updated CAMEL-22429:
---------------------------
    Description: 
Because the aws2-sns component directly uses the Cloud Event "subject" field as 
the subject of the SNS message, the operation can fail if the former is longer 
than 100 characters (the [limit imposed by AWS on SNS 
messages|https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#:~:text=Constraints%3A%20Subjects%20must%20be%20UTF%2D8%20text%20with%20no%20line%20breaks%20or%20control%20characters%2C%20and%20less%20than%20100%20characters%20long.]).

Since Cloud Events don't impose a limit on the subject length, this is case of 
a protocol incompatibility of sorts. Perhaps the SNS subject can be a truncated 
/ elided version of the Cloud Event subject, with the original subject 
preserved in the SNS MessageAttributes (along with all of the other Cloud Event 
attributes).

Example headers:

{{Accept-Encoding=gzip}}
{{CamelCloudEventID=fd9f87b0-b6e9-4251-8dfa-4169aaf7bc14 
CamelCloudEventSource=[https://10.100.0.1:443|https://10.100.0.1/] 
CamelCloudEventSubject=/apis/events.k8s.io/v1/namespaces/my-namespace-name/events/my-deployment-name-7944f7bdb8-dvswj.186599cec321ad80}}
{{CamelCloudEventTime=2025-09-15T23:52:22.886411647Z 
CamelCloudEventType=dev.knative.apiserver.resource.add 
CamelCloudEventVersion=1.0}}
{{CamelHttpMethod=POST}}
{{CamelHttpPath=}}
{{CamelHttpQuery=null}}
{{CamelHttpUri=/}}
{{Ce-Apiversion=events.k8s.io/v1}}
{{Ce-Kind=Event}}
{{Ce-Knativearrivaltime=2025-09-15T23:52:22.90022962Z}}
{{Content-Length=1224}}
{{Content-Type=application/json}}
{{Host=cluster-events-log-sink-service.events.svc.cluster.local}}
{{Kn-Namespace=events}}
{{Prefer=reply}}
{{User-Agent=Go-http-client/1.1}}

 

Result:

{{{}2025-09-15 23:52:23,902 ERROR [org.apa.cam.pro.err.DefaultErrorHandler] 
(executor-thread-1) Failed delivery for (MessageId: 
065650A8FE0690D-0000000000000002 on ExchangeId: 
065650A8FE0690D-0000000000000002). Exhausted after delivery attempt: 1 caught: 
software.amazon.awssdk.services.sns.model.InvalidParameterException: Invalid 
parameter: Subject (Service: Sns, Status Code: 400, Request ID: 
2a1a5faa-0139-5b3a-b5cc-3ee8a9ce604e) (SDK Attempt Count: 1) Message History 
(complete message history is disabled) 
---------------------------------------------------------------------------------------------------------------------------------------
 Source ID Processor Elapsed (ms) aws-sns-sink.kamelet.yaml:108 
aws-sns-sink-1/aws-sns-sink-1 from[kamelet://source?routeId=aws-sns-sink-1] 783 
... aws-sns-sink.kamelet.yaml:123 aws-sns-sink-1/to2 
aws2-sns:{{topicNameOrArn{}}}?{{{}accessKey=xxxxxx&autoC 0 Stacktrace 
---------------------------------------------------------------------------------------------------------------------------------------:
 software.amazon.awssdk.services.sns.model.InvalidParameterException: Invalid 
parameter: Subject (Service: Sns, Status Code: 400, Request ID: 
2a1a5faa-0139-5b3a-b5cc-3ee8a9ce604e) (SDK Attempt Count: 1) at 
software.amazon.awssdk.services.sns.model.InvalidParameterException$BuilderImpl.build(InvalidParameterException.java:146)
 at 
software.amazon.awssdk.services.sns.model.InvalidParameterException$BuilderImpl.build(InvalidParameterException.java:94)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.retryPolicyDisallowedRetryException(RetryableStageHelper.java:168)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:73)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
 at 
software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
 at 
software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
 at 
software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:82)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:62)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:43)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
 at 
software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
 at 
software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
 at 
software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
 at 
software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
 at 
software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
 at 
software.amazon.awssdk.services.sns.DefaultSnsClient.publish(DefaultSnsClient.java:2182)
 at 
org.apache.camel.component.aws2.sns.Sns2Producer.process(Sns2Producer.java:75) 
at 
org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
 at 
org.apache.camel.processor.SendProcessor.sendUsingProducer(SendProcessor.java:252)
 at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:157) at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:440)
 at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:416)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
 at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) at 
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:82)
 at 
org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32)
 at 
org.apache.camel.component.knative.http.KnativeHttpConsumer.lambda$handleRequest$3(KnativeHttpConsumer.java:239)
 at 
io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192) 
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270) at 
io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221) at 
io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56) at 
io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:637)
 at 
org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
 at 
org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
 at 
org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
 at 
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
 at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11) at 
org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
 at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 at java.base/java.lang.Thread.run(Thread.java:840){}}}{}}}

  was:
Because the aws2-sns component directly uses the Cloud Event "subject" field as 
the subject of the SNS message, the operation can fail if the former is longer 
than 100 characters (the [limit imposed by AWS on SNS 
messages|https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#:~:text=Constraints%3A%20Subjects%20must%20be%20UTF%2D8%20text%20with%20no%20line%20breaks%20or%20control%20characters%2C%20and%20less%20than%20100%20characters%20long.]).

Since Cloud Events don't impose a limit on the subject length, this is case of 
a protocol incompatibility of sorts. Perhaps the SNS subject can be a truncated 
/ elided version of the Cloud Event subject, with the original subject 
preserved in the SNS MessageAttributes (along with all of the other Cloud Event 
attributes).

Example headers:
{\{{}
Accept-Encoding=gzip
CamelCloudEventID=fd9f87b0-b6e9-4251-8dfa-4169aaf7bc14 
CamelCloudEventSource=[https://10.100.0.1:443|https://10.100.0.1/] 
CamelCloudEventSubject=/apis/events.k8s.io/v1/namespaces/my-namespace-name/events/my-deployment-name-7944f7bdb8-dvswj.186599cec321ad80
CamelCloudEventTime=2025-09-15T23:52:22.886411647Z 
CamelCloudEventType=dev.knative.apiserver.resource.add 
CamelCloudEventVersion=1.0
CamelHttpMethod=POST
CamelHttpPath=
CamelHttpQuery=null
{}}}\{{{}CamelHttpUri=/
Ce-Apiversion=events.k8s.io/v1
Ce-Kind=Event
Ce-Knativearrivaltime=2025-09-15T23:52:22.90022962Z
Content-Length=1224
Content-Type=application/json
Host=cluster-events-log-sink-service.events.svc.cluster.local
Kn-Namespace=events
Prefer=reply
User-Agent=Go-http-client/1.1{}}}

 

Result:

{{{}2025-09-15 23:52:23,902 ERROR [org.apa.cam.pro.err.DefaultErrorHandler] 
(executor-thread-1) Failed delivery for (MessageId: 
065650A8FE0690D-0000000000000002 on ExchangeId: 
065650A8FE0690D-0000000000000002). Exhausted after delivery attempt: 1 caught: 
software.amazon.awssdk.services.sns.model.InvalidParameterException: Invalid 
parameter: Subject (Service: Sns, Status Code: 400, Request ID: 
2a1a5faa-0139-5b3a-b5cc-3ee8a9ce604e) (SDK Attempt Count: 1) Message History 
(complete message history is disabled) 
---------------------------------------------------------------------------------------------------------------------------------------
 Source ID Processor Elapsed (ms) aws-sns-sink.kamelet.yaml:108 
aws-sns-sink-1/aws-sns-sink-1 from[kamelet://source?routeId=aws-sns-sink-1] 783 
... aws-sns-sink.kamelet.yaml:123 aws-sns-sink-1/to2 
aws2-sns:{{topicNameOrArn{}}}?{{{}accessKey=xxxxxx&autoC 0 Stacktrace 
---------------------------------------------------------------------------------------------------------------------------------------:
 software.amazon.awssdk.services.sns.model.InvalidParameterException: Invalid 
parameter: Subject (Service: Sns, Status Code: 400, Request ID: 
2a1a5faa-0139-5b3a-b5cc-3ee8a9ce604e) (SDK Attempt Count: 1) at 
software.amazon.awssdk.services.sns.model.InvalidParameterException$BuilderImpl.build(InvalidParameterException.java:146)
 at 
software.amazon.awssdk.services.sns.model.InvalidParameterException$BuilderImpl.build(InvalidParameterException.java:94)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.retryPolicyDisallowedRetryException(RetryableStageHelper.java:168)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:73)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
 at 
software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
 at 
software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
 at 
software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:82)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:62)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:43)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
 at 
software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
 at 
software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
 at 
software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
 at 
software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
 at 
software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
 at 
software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
 at 
software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
 at 
software.amazon.awssdk.services.sns.DefaultSnsClient.publish(DefaultSnsClient.java:2182)
 at 
org.apache.camel.component.aws2.sns.Sns2Producer.process(Sns2Producer.java:75) 
at 
org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
 at 
org.apache.camel.processor.SendProcessor.sendUsingProducer(SendProcessor.java:252)
 at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:157) at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:440)
 at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:416)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
 at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) at 
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:82)
 at 
org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32)
 at 
org.apache.camel.component.knative.http.KnativeHttpConsumer.lambda$handleRequest$3(KnativeHttpConsumer.java:239)
 at 
io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192) 
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270) at 
io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221) at 
io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56) at 
io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:637)
 at 
org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
 at 
org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
 at 
org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
 at 
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
 at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11) at 
org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
 at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 at java.base/java.lang.Thread.run(Thread.java:840)}}{}}}


> camel-aws2-sns component fails when sending CloudEvents with subjects over 
> 100 characters
> -----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-22429
>                 URL: https://issues.apache.org/jira/browse/CAMEL-22429
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-aws2
>    Affects Versions: 4.14.0
>         Environment: Knative IntegrationSink with SNS
>            Reporter: Darick
>            Priority: Minor
>
> Because the aws2-sns component directly uses the Cloud Event "subject" field 
> as the subject of the SNS message, the operation can fail if the former is 
> longer than 100 characters (the [limit imposed by AWS on SNS 
> messages|https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#:~:text=Constraints%3A%20Subjects%20must%20be%20UTF%2D8%20text%20with%20no%20line%20breaks%20or%20control%20characters%2C%20and%20less%20than%20100%20characters%20long.]).
> Since Cloud Events don't impose a limit on the subject length, this is case 
> of a protocol incompatibility of sorts. Perhaps the SNS subject can be a 
> truncated / elided version of the Cloud Event subject, with the original 
> subject preserved in the SNS MessageAttributes (along with all of the other 
> Cloud Event attributes).
> Example headers:
> {{Accept-Encoding=gzip}}
> {{CamelCloudEventID=fd9f87b0-b6e9-4251-8dfa-4169aaf7bc14 
> CamelCloudEventSource=[https://10.100.0.1:443|https://10.100.0.1/] 
> CamelCloudEventSubject=/apis/events.k8s.io/v1/namespaces/my-namespace-name/events/my-deployment-name-7944f7bdb8-dvswj.186599cec321ad80}}
> {{CamelCloudEventTime=2025-09-15T23:52:22.886411647Z 
> CamelCloudEventType=dev.knative.apiserver.resource.add 
> CamelCloudEventVersion=1.0}}
> {{CamelHttpMethod=POST}}
> {{CamelHttpPath=}}
> {{CamelHttpQuery=null}}
> {{CamelHttpUri=/}}
> {{Ce-Apiversion=events.k8s.io/v1}}
> {{Ce-Kind=Event}}
> {{Ce-Knativearrivaltime=2025-09-15T23:52:22.90022962Z}}
> {{Content-Length=1224}}
> {{Content-Type=application/json}}
> {{Host=cluster-events-log-sink-service.events.svc.cluster.local}}
> {{Kn-Namespace=events}}
> {{Prefer=reply}}
> {{User-Agent=Go-http-client/1.1}}
>  
> Result:
> {{{}2025-09-15 23:52:23,902 ERROR [org.apa.cam.pro.err.DefaultErrorHandler] 
> (executor-thread-1) Failed delivery for (MessageId: 
> 065650A8FE0690D-0000000000000002 on ExchangeId: 
> 065650A8FE0690D-0000000000000002). Exhausted after delivery attempt: 1 
> caught: software.amazon.awssdk.services.sns.model.InvalidParameterException: 
> Invalid parameter: Subject (Service: Sns, Status Code: 400, Request ID: 
> 2a1a5faa-0139-5b3a-b5cc-3ee8a9ce604e) (SDK Attempt Count: 1) Message History 
> (complete message history is disabled) 
> ---------------------------------------------------------------------------------------------------------------------------------------
>  Source ID Processor Elapsed (ms) aws-sns-sink.kamelet.yaml:108 
> aws-sns-sink-1/aws-sns-sink-1 from[kamelet://source?routeId=aws-sns-sink-1] 
> 783 ... aws-sns-sink.kamelet.yaml:123 aws-sns-sink-1/to2 
> aws2-sns:{{topicNameOrArn{}}}?{{{}accessKey=xxxxxx&autoC 0 Stacktrace 
> ---------------------------------------------------------------------------------------------------------------------------------------:
>  software.amazon.awssdk.services.sns.model.InvalidParameterException: Invalid 
> parameter: Subject (Service: Sns, Status Code: 400, Request ID: 
> 2a1a5faa-0139-5b3a-b5cc-3ee8a9ce604e) (SDK Attempt Count: 1) at 
> software.amazon.awssdk.services.sns.model.InvalidParameterException$BuilderImpl.build(InvalidParameterException.java:146)
>  at 
> software.amazon.awssdk.services.sns.model.InvalidParameterException$BuilderImpl.build(InvalidParameterException.java:94)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.retryPolicyDisallowedRetryException(RetryableStageHelper.java:168)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:73)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
>  at 
> software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:53)
>  at 
> software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:35)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:82)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:62)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:43)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:50)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:32)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
>  at 
> software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
>  at 
> software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:210)
>  at 
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
>  at 
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:173)
>  at 
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:80)
>  at 
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:182)
>  at 
> software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:74)
>  at 
> software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
>  at 
> software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:53)
>  at 
> software.amazon.awssdk.services.sns.DefaultSnsClient.publish(DefaultSnsClient.java:2182)
>  at 
> org.apache.camel.component.aws2.sns.Sns2Producer.process(Sns2Producer.java:75)
>  at 
> org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:65)
>  at 
> org.apache.camel.processor.SendProcessor.sendUsingProducer(SendProcessor.java:252)
>  at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:157) 
> at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.handleFirst(RedeliveryErrorHandler.java:440)
>  at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:416)
>  at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199)
>  at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
>  at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
>  at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
>  at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
>  at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) at 
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:82)
>  at 
> org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:32)
>  at 
> org.apache.camel.component.knative.http.KnativeHttpConsumer.lambda$handleRequest$3(KnativeHttpConsumer.java:239)
>  at 
> io.vertx.core.impl.ContextImpl.lambda$executeBlocking$4(ContextImpl.java:192) 
> at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270) at 
> io.vertx.core.impl.ContextImpl$1.execute(ContextImpl.java:221) at 
> io.vertx.core.impl.WorkerTask.run(WorkerTask.java:56) at 
> io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:637)
>  at 
> org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
>  at 
> org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
>  at 
> org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
>  at 
> org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
>  at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11) at 
> org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
>  at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>  at java.base/java.lang.Thread.run(Thread.java:840){}}}{}}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to