@@ -20,6 +20,7 @@ import (
2020
2121 "github.com/aws/aws-sdk-go-v2/aws"
2222 awsv2config "github.com/aws/aws-sdk-go-v2/config"
23+ v2creds "github.com/aws/aws-sdk-go-v2/credentials"
2324 "github.com/aws/aws-sdk-go/aws/credentials"
2425 "github.com/aws/aws-sdk-go/aws/session"
2526 "github.com/aws/aws-sdk-go/service/dynamodb"
@@ -117,9 +118,10 @@ type ParameterStoreClients struct {
117118}
118119
119120type KinesisClients struct {
120- Kinesis kinesisiface.KinesisAPI
121- Region string
122- Credentials * credentials.Credentials
121+ Kinesis kinesisiface.KinesisAPI
122+ Region string
123+ Credentials * credentials.Credentials
124+ V2Credentials aws.CredentialsProvider
123125}
124126
125127type SesClients struct {
@@ -175,6 +177,10 @@ func (c *KinesisClients) New(session *session.Session) {
175177 c .Kinesis = kinesis .New (session , session .Config )
176178 c .Region = * session .Config .Region
177179 c .Credentials = session .Config .Credentials
180+ // Convert v1 credentials to v2 for KCL usage
181+ if v1Creds , err := session .Config .Credentials .Get (); err == nil {
182+ c .V2Credentials = v2creds .NewStaticCredentialsProvider (v1Creds .AccessKeyID , v1Creds .SecretAccessKey , v1Creds .SessionToken )
183+ }
178184}
179185
180186func (c * KinesisClients ) Stream (ctx context.Context , streamName string ) (* string , error ) {
@@ -194,6 +200,11 @@ func (c *KinesisClients) Stream(ctx context.Context, streamName string) (*string
194200func (c * KinesisClients ) WorkerCfg (ctx context.Context , stream , region , mode , applicationName string ) * config.KinesisClientLibConfiguration {
195201 const sharedMode = "shared"
196202 if mode == sharedMode {
203+ // Use converted v2 credentials if available
204+ if c .V2Credentials != nil {
205+ return config .NewKinesisClientLibConfigWithCredential (applicationName , stream , region , "" , c .V2Credentials )
206+ }
207+ // Fallback to default v2 config if conversion failed
197208 v2Config , err := awsv2config .LoadDefaultConfig (ctx , awsv2config .WithRegion (region ))
198209 if err != nil {
199210 return nil
0 commit comments