Skip to content

Commit 2b9191a

Browse files
committed
fix(s3stream): Set DefaultCredentialsProvider as fallback
- #2026 Set DefaultCredentialsProvider as AwsObjectStorage fallback credentials provider
1 parent 9874223 commit 2b9191a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

s3stream/src/main/java/com/automq/stream/s3/operator/AwsObjectStorage.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain;
4545
import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider;
4646
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
47+
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
4748
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
4849
import software.amazon.awssdk.core.async.AsyncRequestBody;
4950
import software.amazon.awssdk.core.async.AsyncResponseTransformer;
@@ -89,6 +90,7 @@ public class AwsObjectStorage extends AbstractObjectStorage {
8990
public static final String AUTH_TYPE_KEY = "authType";
9091
public static final String STATIC_AUTH_TYPE = "static";
9192
public static final String INSTANCE_AUTH_TYPE = "instance";
93+
public static final String DEFAULT_AUTH_TYPE = "default";
9294
public static final String CHECKSUM_ALGORITHM_KEY = "checksumAlgorithm";
9395

9496
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html
@@ -382,6 +384,9 @@ protected List<AwsCredentialsProvider> credentialsProviders() {
382384
case INSTANCE_AUTH_TYPE: {
383385
return List.of(instanceProfileCredentialsProvider());
384386
}
387+
case DEFAULT_AUTH_TYPE: {
388+
return List.of(DefaultCredentialsProvider.create());
389+
}
385390
default:
386391
throw new UnsupportedOperationException("Unsupported auth type: " + authType);
387392
}
@@ -435,7 +440,7 @@ protected ClientOverrideConfiguration clientOverrideConfiguration() {
435440
private AwsCredentialsProvider newCredentialsProviderChain(List<AwsCredentialsProvider> credentialsProviders) {
436441
List<AwsCredentialsProvider> providers = new ArrayList<>(credentialsProviders);
437442
// Add default providers to the end of the chain
438-
providers.add(InstanceProfileCredentialsProvider.create());
443+
providers.add(DefaultCredentialsProvider.create());
439444
providers.add(AnonymousCredentialsProvider.create());
440445
return AwsCredentialsProviderChain.builder()
441446
.reuseLastProviderEnabled(true)

0 commit comments

Comments
 (0)