使用Swift和AWS开发工具包将视频上传到S3存储桶

时间:2019-07-02 06:43:04

标签: swift amazon-web-services amazon-s3 sdk

将6秒的视频上传到我的S3存储桶时,我收到以下错误消息:

“操作无法完成。(com.amazonaws.AWSS3TransferUtilityErrorDomain错误2。)

这种情况发生在上传到AWS的栏达到100%之后

我尝试过的事情:

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

我不知道这是否有任何价值,但这是我的任务响应的结果:

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

0 个答案:

没有答案