mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 09:09:36 +02:00
Merge pull request #29325 from overleaf/dp-git-bridge-aws-sdk
[git-bridge] Update AWS S3 SDK GitOrigin-RevId: c40f6c0c3eef6e45e27a57462a7a4732d5151c26
This commit is contained in:
committed by
Copybot
parent
9ca39b7854
commit
0fc0e54cf5
@@ -29,7 +29,7 @@
|
||||
<logback.classic.version>1.5.20</logback.classic.version>
|
||||
<mockserver.version>5.15.0</mockserver.version>
|
||||
<mockito.version>5.20.0</mockito.version>
|
||||
<aws.java.sdk.version>1.12.793</aws.java.sdk.version>
|
||||
<aws.java.sdk.version>2.36.2</aws.java.sdk.version>
|
||||
<jakarta.xml.bind.api.version>${jaxb.runtime.version}</jakarta.xml.bind.api.version>
|
||||
<jaxb.runtime.version>2.3.2</jaxb.runtime.version>
|
||||
<httpclient.version>4.5.14</httpclient.version>
|
||||
@@ -210,10 +210,10 @@
|
||||
<version>${mockito.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk -->
|
||||
<!-- https://mvnrepository.com/artifact/software.amazon.awssdk/s3/2.36.2 -->
|
||||
<dependency>
|
||||
<groupId>com.amazonaws</groupId>
|
||||
<artifactId>aws-java-sdk-s3</artifactId>
|
||||
<groupId>software.amazon.awssdk</groupId>
|
||||
<artifactId>s3</artifactId>
|
||||
<version>${aws.java.sdk.version}</version>
|
||||
</dependency>
|
||||
<!-- API, java.xml.bind module -->
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
package uk.ac.ic.wlgitbridge.bridge.swap.store;
|
||||
|
||||
import com.amazonaws.auth.AWSStaticCredentialsProvider;
|
||||
import com.amazonaws.auth.BasicAWSCredentials;
|
||||
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
|
||||
import com.amazonaws.services.s3.AmazonS3;
|
||||
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
||||
import com.amazonaws.services.s3.model.*;
|
||||
import java.io.InputStream;
|
||||
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
|
||||
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
|
||||
import software.amazon.awssdk.core.sync.RequestBody;
|
||||
import software.amazon.awssdk.regions.Region;
|
||||
import software.amazon.awssdk.services.s3.S3Client;
|
||||
import software.amazon.awssdk.services.s3.S3ClientBuilder;
|
||||
import software.amazon.awssdk.services.s3.model.*;
|
||||
|
||||
/*
|
||||
* Created by winston on 21/08/2016.
|
||||
*/
|
||||
public class S3SwapStore implements SwapStore {
|
||||
|
||||
private final AmazonS3 s3;
|
||||
private final S3Client s3;
|
||||
|
||||
private final String bucketName;
|
||||
|
||||
@@ -27,24 +28,20 @@ public class S3SwapStore implements SwapStore {
|
||||
}
|
||||
|
||||
S3SwapStore(String accessKey, String secret, String bucketName, String region, String endpoint) {
|
||||
String regionToUse = null;
|
||||
Region regionToUse = null;
|
||||
if (region == null) {
|
||||
regionToUse = "us-east-1";
|
||||
regionToUse = Region.US_EAST_1;
|
||||
} else {
|
||||
regionToUse = region;
|
||||
regionToUse = Region.of(region);
|
||||
}
|
||||
|
||||
AmazonS3ClientBuilder builder =
|
||||
AmazonS3ClientBuilder.standard()
|
||||
.withCredentials(
|
||||
new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secret)));
|
||||
S3ClientBuilder builder =
|
||||
S3Client.builder()
|
||||
.region(regionToUse)
|
||||
.credentialsProvider(
|
||||
StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secret)));
|
||||
|
||||
if (endpoint != null && !endpoint.isEmpty()) {
|
||||
builder
|
||||
.enablePathStyleAccess()
|
||||
.withEndpointConfiguration(new EndpointConfiguration(endpoint, regionToUse));
|
||||
} else {
|
||||
builder.withRegion(regionToUse);
|
||||
builder.forcePathStyle(true).endpointOverride(java.net.URI.create(endpoint));
|
||||
}
|
||||
s3 = builder.build();
|
||||
this.bucketName = bucketName;
|
||||
@@ -52,22 +49,25 @@ public class S3SwapStore implements SwapStore {
|
||||
|
||||
@Override
|
||||
public void upload(String projectName, InputStream uploadStream, long contentLength) {
|
||||
ObjectMetadata metadata = new ObjectMetadata();
|
||||
metadata.setContentLength(contentLength);
|
||||
PutObjectRequest put = new PutObjectRequest(bucketName, projectName, uploadStream, metadata);
|
||||
PutObjectResult res = s3.putObject(put);
|
||||
PutObjectRequest put =
|
||||
PutObjectRequest.builder()
|
||||
.bucket(bucketName)
|
||||
.key(projectName)
|
||||
.contentLength(contentLength)
|
||||
.build();
|
||||
s3.putObject(put, RequestBody.fromInputStream(uploadStream, contentLength));
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream openDownloadStream(String projectName) {
|
||||
GetObjectRequest get = new GetObjectRequest(bucketName, projectName);
|
||||
S3Object res = s3.getObject(get);
|
||||
return res.getObjectContent();
|
||||
GetObjectRequest get = GetObjectRequest.builder().bucket(bucketName).key(projectName).build();
|
||||
return s3.getObject(get);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(String projectName) {
|
||||
DeleteObjectRequest del = new DeleteObjectRequest(bucketName, projectName);
|
||||
DeleteObjectRequest del =
|
||||
DeleteObjectRequest.builder().bucket(bucketName).key(projectName).build();
|
||||
s3.deleteObject(del);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user