Skip to content

Commit 71d47e9

Browse files
authored
Use AwsV4HttpSigner instead of Aws4Signer (opensearch-project#4102)
Signed-off-by: Andy Qin <qinandy@amazon.com>
1 parent 1f28c21 commit 71d47e9

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/ConnectorUtils.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,20 @@
5858
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
5959
import software.amazon.awssdk.auth.credentials.AwsCredentials;
6060
import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;
61-
import software.amazon.awssdk.auth.signer.Aws4Signer;
62-
import software.amazon.awssdk.auth.signer.params.Aws4SignerParams;
6361
import software.amazon.awssdk.core.sync.RequestBody;
6462
import software.amazon.awssdk.http.SdkHttpFullRequest;
6563
import software.amazon.awssdk.http.SdkHttpMethod;
66-
import software.amazon.awssdk.regions.Region;
64+
import software.amazon.awssdk.http.auth.aws.signer.AwsV4HttpSigner;
65+
import software.amazon.awssdk.http.auth.spi.signer.SignedRequest;
6766

6867
@Log4j2
6968
public class ConnectorUtils {
7069

71-
private static final Aws4Signer signer;
70+
private static final AwsV4HttpSigner signer;
7271
public static final String SKIP_VALIDATE_MISSING_PARAMETERS = "skip_validating_missing_parameters";
7372

7473
static {
75-
signer = Aws4Signer.create();
74+
signer = AwsV4HttpSigner.create();
7675
}
7776

7877
public static RemoteInferenceInputDataSet processInput(
@@ -293,14 +292,16 @@ public static SdkHttpFullRequest signRequest(
293292
? AwsBasicCredentials.create(accessKey, secretKey)
294293
: AwsSessionCredentials.create(accessKey, secretKey, sessionToken);
295294

296-
Aws4SignerParams params = Aws4SignerParams
297-
.builder()
298-
.awsCredentials(credentials)
299-
.signingName(signingName)
300-
.signingRegion(Region.of(region))
301-
.build();
302-
303-
return signer.sign(request, params);
295+
SignedRequest signedRequest = signer
296+
.sign(
297+
r -> r
298+
.identity(credentials)
299+
.request(request)
300+
.payload(request.contentStreamProvider().orElse(null))
301+
.putProperty(AwsV4HttpSigner.SERVICE_SIGNING_NAME, signingName)
302+
.putProperty(AwsV4HttpSigner.REGION_NAME, region)
303+
);
304+
return (SdkHttpFullRequest) signedRequest.request();
304305
}
305306

306307
public static SdkHttpFullRequest buildSdkRequest(

0 commit comments

Comments
 (0)