簡體   English   中英

減少 Amazon S3 AWS 上傳 ProgressListener 的詳細程度/頻率?

[英]Reduce verbosity/frequency of Amazon S3 AWS upload ProgressListener?

我正在將多部分文件上傳到 S3。 我添加了一個 ProgressListener 來打印進度,效果很好。 太棒了。 我上傳的文件有幾 GB 大,我記錄的消息太細化了。 我得到了幾千個:

2021-11-04 06:56:07 INFO  GenericSftpLoader:190 - transfered bytes: 8192

有什么辦法可以減少每 8192 字節打印一次,而是更合理的,比如 1048576 字節?

我的實際代碼在 Scala 中,但我從 AWS SDK 文檔中密切關注此示例

TransferManager tm = new TransferManager(new ProfileCredentialsProvider());        

    PutObjectRequest request = new PutObjectRequest(
            existingBucketName, keyName, new File(filePath));
    
    request.setGeneralProgressListener(new ProgressListener() {
        @Override
        public void progressChanged(ProgressEvent progressEvent) {
            System.out.println("Transferred bytes: " + 
                    progressEvent.getBytesTransferred());
        }
    });       

    Upload upload = tm.upload(request);

所以我能夠得到一個解決方案。 這是我所做的:

TransferManager tm = new TransferManager(new ProfileCredentialsProvider());

PutObjectRequest request = new PutObjectRequest(
        existingBucketName, keyName, new File(filePath));

request.setGeneralProgressListener(new ProgressListener() {
    private Long myBytes = 0
    @Override
    public void progressChanged(ProgressEvent progressEvent) {
        myBytes += progressEvent.getBytesTransferred();
        if (bytesTransferred > 1048576) {
            System.out.println("Transferred bytes: " + 
                    myBytes);
            myBytes = 0;
        }
    }
});       

Upload upload = tm.upload(request);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM