Загрузка видео в корзину S3 с использованием Swift и AWS SDK - PullRequest
0 голосов
/ 02 июля 2019

Я получаю следующую ошибку при загрузке 6-секундного видео в мой контейнер S3:

"Операция не может быть завершена. (Com.amazonaws.AWSS3TransferUtilityErrorDomain error 2.)

Это происходит после того, как мой бар достиг 100% при загрузке в AWS

Вещи, которые я пробовал:

1) Убедитесь, что на моем iphone установлен правильный часовой пояс (и также установите его автоматически)."

2) Я открыл свои права доступа к корзине шире, чем обычно, чтобы убедиться, что не проблема с разрешениями: все открыто для чтения и записи.

3) Поместите пользователяв группе с полными разрешениями для корзины S3

4) Попытка получить более детальную регистрацию ошибок, кажется, я не могу захватить то, что я ищу (мой код возвращает неправильное userInfo)

 let errorInfo = err.userInfo["Error"] as? [String: Any]
    if errorInfo != nil {
        print("Found error in response. Details are:")
        for element in errorInfo! {
            print(">> \(element.key): \(element.value)")
        }
   }

5) У меня есть только один регион для выбора, который я иллюстрирую ниже (кто-то предположил, что регион может вызвать проблемы):

    let credentialsProvider = AWSStaticCredentialsProvider(accessKey: accessKey, secretKey: secretKey)
    let configuration = AWSServiceConfiguration(region: AWSRegionType.USEast1, credentialsProvider: credentialsProvider)
    AWSServiceManager.default().defaultServiceConfiguration = configuration

Я не знаю, яf это будет иметь какое-либо значение, но это результат моего ответа на задачу:

task response <NSHTTPURLResponse: 0x281ac0d40> { URL: ..urlstuff } { Status Code: 404, Headers {
    Connection =     (
        close
    );
    "Content-Type" =     (
        "application/xml"
    );
    Date =     (
        "Tue, 02 Jul 2019 06:28:13 GMT"
    );
    Server =     (
        AmazonS3
    );
    "Transfer-Encoding" =     (
        Identity
    );
    "x-amz-id-2" =     (
        "stuff"
    );
    "x-amz-request-id" =     (
        stuff
    );
} }
Task request urlstuff

Одна вещь, которую я видел, это то, что я использую объект, отличный от большинства, который раскрывает ключ как секрет: AWSStaticCredentialsProvider В большинстве учебных пособий, которые я видел, предлагается использовать: AWSCognitoCredentialsProvider

...