11using Amazon ;
22using Amazon . Runtime ;
3+ using Amazon . S3 ;
34using Amazon . SimpleNotificationService ;
45using Amazon . SQS ;
56using BuslyCLI . Config ;
@@ -77,6 +78,7 @@ private TransportDefinition CreateAmazonSQSTransport(AmazonsqsTransportConfig am
7778 var credentials = new BasicAWSCredentials ( amazonsqsTransportConfig . AccessKey , amazonsqsTransportConfig . SecretKey ) ;
7879 var amazonSqsConfig = new AmazonSQSConfig ( ) ;
7980 var amazonSnsConfig = new AmazonSimpleNotificationServiceConfig ( ) ;
81+ var amazonS3Config = new AmazonS3Config ( ) ;
8082 if ( ! string . IsNullOrWhiteSpace ( amazonsqsTransportConfig . RegionName ) )
8183 {
8284
@@ -92,10 +94,21 @@ private TransportDefinition CreateAmazonSQSTransport(AmazonsqsTransportConfig am
9294 amazonSqsConfig . ServiceURL = amazonsqsTransportConfig . ServiceUrl ;
9395 }
9496
95- var sqsClient = new AmazonSQSClient ( credentials , amazonSqsConfig ) ;
97+ if ( amazonsqsTransportConfig . S3BucketSettings is not null )
98+ {
99+ amazonS3Config . ServiceURL = amazonsqsTransportConfig . ServiceUrl ;
100+ amazonS3Config . RegionEndpoint = RegionEndpoint . GetBySystemName ( amazonsqsTransportConfig . RegionName ) ;
101+ }
96102
103+ var sqsClient = new AmazonSQSClient ( credentials , amazonSqsConfig ) ;
97104 var snsClient = new AmazonSimpleNotificationServiceClient ( credentials , amazonSnsConfig ) ;
98105
106+ var sqsTransport = new SqsTransport ( sqsClient , snsClient ) ;
107+ if ( amazonsqsTransportConfig . S3BucketSettings is not null )
108+ {
109+ sqsTransport . S3 = new S3Settings ( amazonsqsTransportConfig . S3BucketSettings . BucketName , amazonsqsTransportConfig . S3BucketSettings . KeyPrefix , new AmazonS3Client ( amazonS3Config ) ) ;
110+ }
111+
99112 return new SqsTransport ( sqsClient , snsClient ) ;
100113 }
101114
0 commit comments