ListObjectsV2 отказано в доступе к Java SDK

#java #amazon-s3

#java #amazon-s3

Вопрос:

Я пытаюсь перечислить все объекты в корзине под префиксом со следующим кодом на Java:

 ListObjectsV2Request request =
      new ListObjectsV2Request()
          .withBucketName(bucketName)
          .withDelimiter("/")
          .withPrefix(prefix)
          .withMaxKeys(2);
  ListObjectsV2Result resu<
  do {
    result = s3Client.listObjectsV2(req);
    log.info("Results size is : "   result.getObjectSummaries().size());
  

S3client настроен правильно, потому что я могу загружать, удалять и т. Д. У меня проблема только с перечислением объектов. Я получаю отказ в доступе, если я не предоставляю префикс, но если я предоставляю префикс, я получаю пустой ответ. Я проверил, есть ли у меня разрешения, и я могу распечатать весь пакет таким образом. aws s3 ls Есть идеи для следующих шагов по отладке?

Ответ №1:

Решается путем sshing в экземпляр и сравнения выходных данных aws s3 ls и s3api. Забыл обязательный префикс и разделитель.