Security token error while starting up BE Inference engine using Kinesis Channel

Security token error while starting up BE Inference engine using Kinesis Channel

book

Article ID: KB0075016

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.6.1

Description

Following Error was seen when starting BE inference agent using AWS Kinesis Channels.
 

Error [inference-producer.HiResTimer] - [custom.channel] [inference-producer] Destination:Exception occured while invoking send on destination : [/Channels/KinesisChannel/Stockdest]
com.amazonaws.services.kinesis.model.AmazonKinesisException: The security token included in the request is invalid. (Service: AmazonKinesis; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: cf8fbd89-15ef-5e64-98bc-d604eb0424ef)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1695)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1350)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1101)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:758)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:732)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:714)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:674)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:656)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:520)
at com.amazonaws.services.kinesis.AmazonKinesisClient.doInvoke(AmazonKinesisClient.java:2803)
at com.amazonaws.services.kinesis.AmazonKinesisClient.invoke(AmazonKinesisClient.java:2772)
at com.amazonaws.services.kinesis.AmazonKinesisClient.invoke(AmazonKinesisClient.java:2761)
at com.amazonaws.services.kinesis.AmazonKinesisClient.executePutRecord(AmazonKinesisClient.java:2009)
at com.amazonaws.services.kinesis.AmazonKinesisClient.putRecord(AmazonKinesisClient.java:1980)
at com.tibco.cep.driver.kinesis.KinesisDestination.send(KinesisDestination.java:112)
at com.tibco.be.custom.channel.framework.CustomDestination.send(CustomDestination.java:118)
at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.sendEvent(ChannelManagerImpl.java:178)
at com.tibco.cep.runtime.channel.impl.ChannelManagerImpl.sendEvent(ChannelManagerImpl.java:161)
at com.tibco.be.functions.event.EventHelper.sendEvent_Impl(SourceFile:132)
at com.tibco.be.functions.event.EventHelper.sendEvent(SourceFile:112)
at be.gen.Rules.SendRecordRule$SendRecordRule_a.execute(SendRecordRule.java:50)
at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(SourceFile:401)
at com.tibco.cep.kernel.core.rete.ReteWM.void(SourceFile:377)
at com.tibco.cep.kernel.core.rete.ReteWM.fireRepeatEvent(SourceFile:2208)
at com.tibco.cep.runtime.service.time.BETimeManager$RepeatTimeEventTask.execute(BETimeManager.java:280)
at com.tibco.cep.kernel.helper.HiResTimer$HiResTimerThread.a(SourceFile:287)
at com.tibco.cep.kernel.helper.HiResTimer$HiResTimerThread.run(SourceFile:224)

Environment

All

Resolution

There could be multiple reasons for the given error.
1.) Check if Access Key/Secret Key/Profile Name specified in the BE "Kinesis Channel Properties" section are valid. 
2.) If one is using Temporary Security Credentials & for that they need to have AWS_SESSION_TOKEN i.e. session token as well to be passed. This session token can be added under ~/.aws/credentials (AWS Shared Credentials file)

Issue/Introduction

Error (com.amazonaws.services.kinesis.model.AmazonKinesisException: The security token included in the request is invalid) while starting up BE Inference engine using Kinesis Channel

Additional Information

https://docs.aws.amazon.com/cli/latest/topic/config-vars.html