-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrename_file.java
More file actions
18 lines (16 loc) · 892 Bytes
/
Copy pathrename_file.java
File metadata and controls
18 lines (16 loc) · 892 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
try (InputStream s3InputStream = amazonS3Service.openStream(s3_bucket, s3_key)) {
GridFSUploadOptions options = new GridFSUploadOptions().metadata(metaData);
ObjectId newFileId = gridFSBucket.uploadFromStream(fileName, s3InputStream, options);
// rename keys
metaData.put("old_S3_key", metaData.get("S3_key"));
metaData.put("old_S3_bucket", metaData.get("S3_bucket"));
metaData.put("old_S3_enabled", metaData.get("S3_enabled"));
metaData.remove("S3_key");
metaData.remove("S3_bucket");
metaData.remove("S3_enabled");
fsFilesCollection.updateOne(Filters.eq("_id", fileId), Updates.combine(Updates.set("metadata", metaData)));
log.info("Migrated file: " + fileName + " from S3 bucket: " + s3_bucket + " with key: " + s3_key);
} catch (Exception e) {
log.severe("Error during migration: " + e.getMessage());
throw e; // Propagate exception
}