I'm receiving 500 status code errors when connecting with Camel to my localstack
Kinesis stream. Accessing and putting msgs to the stream via awslocal works fine. So it's probably not a localstack issue.
Localstack
# Start localstack
DEBUG=1 SERVICES=kinesis AWS_CBOR_DISABLE=true CBOR_ENABLED=false localstack start
# Setup stream
awslocal kinesis create-stream --shard-count 4 --stream-name mystream
Java Config (I'm using Quarkus)
public void configure() {
BasicAWSCredentials awsCreds = new BasicAWSCredentials(mystream.getAccessKeyId(), mystream.getSecretKey());
AmazonKinesis client = AmazonKinesisClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration(mystream.getServiceEndpoint(), mystream.getRegion()))
.build();
getContext().setTracing(true);
getContext().getRegistry().bind("mystreamClient", client);
from("aws-kinesis://mystream?amazonKinesisClient=mystreamClient&bridgeErrorHandler=true&shard-id=1").routeId("mystream1").log("Received mystream");
}
Error msg:
ERROR [org.apa.cam.pro.err.DefaultErrorHandler] (Camel (camel-1) thread #0 - aws-kinesis://mystream) Failed delivery for (MessageId: 76F94B329B1EE4F-0000000000000002 on ExchangeId: 76F94B329B1EE4F-0000000000000002). Exhausted after delivery attempt: 1 caught: com.amazonaws.services.kinesis.model.AmazonKinesisException: null (Service: AmazonKinesis; Status Code: 500; Error Code: null; Request ID: null)