计算上传到 AWS S3 存储桶中的文件的校验和

问题描述 投票:0回答:1

我有以下代码将文件上传到 AWS S3 存储桶。

如何使用校验和验证文件是否已成功上传?

如何计算路径中文件的校验和与上传到S3 bucket中的文件是否相同?

public class S3Uploader {

    @Autowired
    private S3TransferManager transferManager;

    public String uploadFile( String bucketName, String key, String filePath) {
        UploadFileRequest uploadFileRequest = UploadFileRequest.builder()
                .putObjectRequest(b -> b.bucket(bucketName).key(key))
                .addTransferListener(LoggingTransferListener.create())
                .source(Paths.get(filePath))
                .build();
        FileUpload fileUpload = transferManager.uploadFile(uploadFileRequest);
        CompletedFileUpload uploadResult = fileUpload.completionFuture().join();
        return uploadResult.response().eTag();
    }
}
java amazon-web-services spring-boot amazon-s3 aws-sdk
1个回答
0
投票

可能有不同的方法来解决这个问题,但是您可以例如将校验和与文件一起上传,也许到不同的 /checksums/ 路径,然后连接您的 s3 存储桶以触发 lambda 为上传的文件创建校验和并比较结果到上传的校验和。

© www.soinside.com 2019 - 2024. All rights reserved.