You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2023/02/07 18:19:53 UTC

[airavata-mft] 02/02: Fixing the duplicate region definition issue in S3 Metadata Collector

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-mft.git

commit 6dd2dbb70d4062f739b6d011b1b7ca10f63a6c58
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Tue Feb 7 13:19:42 2023 -0500

    Fixing the duplicate region definition issue in S3 Metadata Collector
---
 .../airavata/mft/transport/s3/S3MetadataCollector.java  | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java
index f0af5b6..7c3d1ab 100644
--- a/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java
+++ b/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3/S3MetadataCollector.java
@@ -74,8 +74,7 @@ public class S3MetadataCollector implements MetadataCollector {
 
         AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                 .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
-                        s3Storage.getEndpoint(),
-                        s3Storage.getRegion()))
+                        s3Storage.getEndpoint(), s3Storage.getRegion()))
                 .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                 .build();
 
@@ -189,14 +188,20 @@ public class S3MetadataCollector implements MetadataCollector {
     public Boolean isAvailable(String resourcePath) throws Exception {
 
         checkInitialized();
-        BasicAWSCredentials awsCreds = new BasicAWSCredentials(s3Secret.getAccessKey(), s3Secret.getSecretKey());
+
+        AWSCredentials awsCreds;
+        if (s3Secret.getSessionToken() == null || s3Secret.getSessionToken().equals("")) {
+            awsCreds = new BasicAWSCredentials(s3Secret.getAccessKey(), s3Secret.getSecretKey());
+        } else {
+            awsCreds = new BasicSessionCredentials(s3Secret.getAccessKey(),
+                    s3Secret.getSecretKey(),
+                    s3Secret.getSessionToken());
+        }
 
         AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                 .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
-                        s3Storage.getEndpoint(),
-                        s3Storage.getRegion()))
+                        s3Storage.getEndpoint(), s3Storage.getRegion()))
                 .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
-                .withRegion(s3Storage.getRegion())
                 .build();
 
         return s3Client.doesObjectExist(s3Storage.getBucketName(), resourcePath);