Как получить ход операции копирования в AWS операции копирования в android? - PullRequest
1 голос
/ 19 февраля 2020

Я пытаюсь скопировать один файл из одной папки в другую папку в том же контейнере. Для копирования файла я использую класс CopyObjectRequest. Но я не знаю, как я могу получить прогресс операции копирования? Поэтому, пожалуйста, помогите мне, как я могу получить статус выполнения операции копирования.

Для операции копирования я следовал по этому пути -

try {
        AmazonS3 s3Client =new AmazonS3Client(credentials,cc);

        // Copy the object into a new object in the same bucket.
        CopyObjectRequest copyObjRequest = new CopyObjectRequest(bucketName, sourceKey, "wedorias-new", "test/test111/logo.png"/*destinationKey*/);
        s3Client.copyObject(copyObjRequest);

        if (copyObjRequest.isRequesterPays()){

            System.out.println("sadfbgnh==");
        }

    } catch (AmazonServiceException e) {
        // The call was transmitted successfully, but Amazon S3 couldn't process
        // it, so it returned an error response.
        e.printStackTrace();
        System.out.println("exception==!"+e.getErrorMessage());
        System.out.println("exception==!"+e.getErrorCode());
        System.out.println("exception==!"+e.getMessage());
    } catch (Exception e) {

        e.printStackTrace();
        System.out.println("exception==!"+e.getMessage());
    }

1 Ответ

1 голос
/ 19 февраля 2020

Если вы хотите скопировать один объект из одной папки в другую (или другие корзины, если это так) и проверить ход выполнения, вам нужно будет использовать Amazon S3 Multipart Upload . У

AWS документов есть хороший пример под названием Копирование объекта Используя AWS SDK для Java Multipart Upload API , он показывает, что вам нужно сделать, чтобы настроить его и проверьте ход выполнения копии.

// Get the object size to track the end of the copy operation. 
GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(sourceBucketName, sourceObjectKey); 
ObjectMetadata metadataResult = s3Client.getObjectMetadata(metadataRequest); 
long objectSize = metadataResult.getContentLength();

Уведомление

  • Многокомпонентная загрузка является обязательной, если размер объекта превышает 5 ГБ.

  • Рекомендуется многоэтапная загрузка, когда размер объекта превышает 100 МБ.

  • Многоэтапная загрузка не работает, если размер объекта меньше 5 МБ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...