Невозможно получить список файлов / объектов в корзине S3; iOS - Свифт - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь получить список объектов в корзине S3. Ниже приведен код, но он не работает и не выдает ошибку. Однако объект S3, по-видимому, (0x000000000) не инициализирован. Я не уверен, в чем ошибка, потому что конфигурация работает для загрузки файла в корзину.

class Configuration {
    let accessKey = Constants.AWS_KEY
    let secretKey = Constants.AWS_SECRET
    let bucket = Constants.AWS_BUCKET
    
    static let instance = Configuration()
    
    private init() {
        let credentialsProvider = AWSStaticCredentialsProvider(accessKey: accessKey, secretKey: secretKey)
        let configuration = AWSServiceConfiguration(region: AWSRegionType.USEast1, credentialsProvider: credentialsProvider)
        AWSServiceManager.default().defaultServiceConfiguration = configuration
        AWSS3.register(with: configuration!, forKey: "defaultKey")
    }
}

class S3Browser {
    
    static let configuration = Configuration.instance
    static func getList(path:String) {
        

        let s3 = AWSS3.s3(forKey: "defaultkey")
       
        let listRequest: AWSS3ListObjectsRequest = AWSS3ListObjectsRequest()
        //listRequest.prefix = path
        listRequest.bucket = Constants.AWS_BUCKET
       
        s3.listObjects(listRequest).continueWith { (task) -> AnyObject? in

           for object in (task.result?.contents)! {
               
               print("Object key = \(object.key!)")
           }
           
           return nil
        }
    }
}

Все ключи и секреты работают для загрузки. Пожалуйста, поделитесь некоторыми указателями.

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете проверить свои разрешения на AWS. То, что у вас есть разрешение на загрузку, не означает, что у вас есть разрешение на перечисление файлов в корзине S3.

Откуда вы знаете, что загрузка работает? Вы просматривали в веб-браузере ведро на сайте AWS S3?

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