|
17 | 17 | package com.netflix.priam.aws; |
18 | 18 |
|
19 | 19 | import com.google.common.base.Preconditions; |
| 20 | +import com.netflix.priam.aws.auth.IS3Credential; |
20 | 21 | import com.netflix.priam.backup.AbstractBackupPath; |
21 | 22 | import com.netflix.priam.backup.BackupRestoreException; |
22 | 23 | import com.netflix.priam.backup.DynamicRateLimiter; |
23 | 24 | import com.netflix.priam.backup.RangeReadInputStream; |
24 | 25 | import com.netflix.priam.compress.ChunkedStream; |
25 | 26 | import com.netflix.priam.compress.CompressionType; |
26 | | -import com.netflix.priam.aws.auth.IS3Credential; |
27 | 27 | import com.netflix.priam.compress.ICompression; |
28 | 28 | import com.netflix.priam.config.IConfiguration; |
29 | 29 | import com.netflix.priam.identity.config.InstanceInfo; |
30 | 30 | import com.netflix.priam.merics.BackupMetrics; |
31 | 31 | import com.netflix.priam.notification.BackupNotificationMgr; |
32 | 32 | import com.netflix.priam.utils.BoundedExponentialRetryCallable; |
33 | 33 | import com.netflix.priam.utils.SystemUtils; |
34 | | -import java.io.*; |
35 | | -import java.nio.file.Path; |
36 | | -import java.nio.file.Paths; |
37 | | -import java.time.Instant; |
38 | | -import java.util.ArrayList; |
39 | | -import java.util.Collections; |
40 | | -import java.util.HashMap; |
41 | | -import java.util.Iterator; |
42 | | -import java.util.List; |
43 | | -import java.util.Map; |
44 | | -import java.util.concurrent.atomic.AtomicInteger; |
45 | | -import javax.inject.Inject; |
46 | | -import javax.inject.Named; |
47 | | -import javax.inject.Provider; |
48 | | -import javax.inject.Singleton; |
49 | 34 | import org.apache.commons.io.IOUtils; |
50 | 35 | import org.slf4j.Logger; |
51 | 36 | import org.slf4j.LoggerFactory; |
|
54 | 39 | import software.amazon.awssdk.services.s3.S3Client; |
55 | 40 | import software.amazon.awssdk.services.s3.model.*; |
56 | 41 |
|
| 42 | +import javax.inject.Inject; |
| 43 | +import javax.inject.Named; |
| 44 | +import javax.inject.Provider; |
| 45 | +import javax.inject.Singleton; |
| 46 | +import java.io.*; |
| 47 | +import java.nio.file.Path; |
| 48 | +import java.nio.file.Paths; |
| 49 | +import java.time.Instant; |
| 50 | +import java.util.*; |
| 51 | +import java.util.concurrent.atomic.AtomicInteger; |
| 52 | + |
57 | 53 | /** Implementation of IBackupFileSystem for S3 */ |
58 | 54 | @Singleton |
59 | 55 | public class S3FileSystem extends S3FileSystemBase { |
@@ -109,11 +105,13 @@ protected void downloadFileImpl(AbstractBackupPath path, String suffix) |
109 | 105 |
|
110 | 106 | @Override |
111 | 107 | public void putObject(String bucket, String key, String value) { |
112 | | - s3Client.putObject(bucket, key, value); |
| 108 | + s3Client.putObject( |
| 109 | + PutObjectRequest.builder().bucket(bucket).key(key).build(), |
| 110 | + RequestBody.fromBytes(value.getBytes())); |
113 | 111 | } |
114 | 112 |
|
115 | | - private ObjectMetadata getObjectMetadata(File file) { |
116 | | - ObjectMetadata ret = new ObjectMetadata(); |
| 113 | + private Map<String, String> getFileMetadata(File file) { |
| 114 | + Map<String, String> metadata = new HashMap<>(); |
117 | 115 | long lastModified = file.lastModified(); |
118 | 116 | long fileSize = file.length(); |
119 | 117 |
|
|
0 commit comments