AWS S3 - UserKeyMustBeSpecified ошибка при удалении нескольких объектов - PullRequest
0 голосов
/ 08 января 2019

В последнее время у меня возникают ошибки UserKeyMustBeSpecified при удалении нескольких объектов из s3 с использованием ключей без версии.

Операция выполняется в лямбда-функции Java, которая использует следующий код:

public class S3Dao {

    private final AmazonS3 s3;
    private Logger logger;

    public S3Dao() {
        BasicAWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
        ClientConfiguration config = new ClientConfiguration();
        config.setConnectionTimeout(220_000);
        config.setClientExecutionTimeout(220_000);
        this.s3 = AmazonS3ClientBuilder.standard()
                .withClientConfiguration(config)
                .withCredentials(new AWSStaticCredentialsProvider(creds))
                .build();
    }

    public void deleteKeys(Collection<String> s3keysToDelete) {
        logger.log("Deleting S3 " + s3keysToDelete.size() + " keys");
        if (s3keysToDelete.isEmpty()) {
            return;
        }
        DeleteObjectsRequest deleteRequest = new DeleteObjectsRequest(bucketName)
                .withKeys(s3keysToDelete.toArray(new String[] {}));
        DeleteObjectsResult deleteObjectsResult = s3.deleteObjects(deleteRequest);
        logger.log("Deleted " + deleteObjectsResult.getDeletedObjects().size() + " s3 objects");
    }
}

Я дважды проверил ключи доступа, но они в порядке.

Кто-нибудь знает, что это за "пользовательский ключ" и как я могу его указать?

Спасибо!

1 Ответ

0 голосов
/ 15 января 2019

Один из ключей, которые я пытался удалить, был null. Проблема решена:)

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