一尘不染

AWSS3区域/ plist配置问题“服务配置为“无”

swift

我面临着AWSS3的一个奇怪问题。

建立:

  • AWS移动HUB
  • 认知
  • DynamoDB
  • S3

-> Cognito,Dynamo甚至S3(通过Cognito用户数据)起作用。

但是,现在我尝试使用以下代码直接连接到AWS3:”

let transferManager = AWSS3TransferManager.default()
                            let uploadRequest = AWSS3TransferManagerUploadRequest()
                            uploadRequest?.bucket = "XXXXXXXXXXXX"
                            uploadRequest?.key = "user-data/" + awsId! + "/primary_profile_picture.png"
                            uploadRequest?.body = imgUrl as URL

                            transferManager.upload(uploadRequest!).continueWith(executor: AWSExecutor.mainThread(), block: { (task:AWSTask<AnyObject>) -> Any? in

                                if let error = task.error as? NSError {
                                    if error.domain == AWSS3TransferManagerErrorDomain, let code = AWSS3TransferManagerErrorType(rawValue: error.code) {
                                        switch code {
                                        case .cancelled, .paused:
                                            break
                                        default:
                                            print("Error uploading: \(uploadRequest?.key) Error: \(error)")
                                        }
                                    } else {
                                        print("Error uploading: \(uploadRequest?.key) Error: \(error)")
                                    }
                                    return nil
                                }

                                let uploadOutput = task.result
                                print("Upload complete for: \(uploadRequest?.key)")
                                return nil
                            })

并得到错误:

AWSiOSSDK v2.5.1 [Debug] AWSInfo.m line:122 | -[AWSServiceInfo initWithInfoDictionary:checkRegion:] | Couldn't read the region configuration from Info.plist for the client. Please check your `Info.plist` if you are providing the SDK configuration values through `Info.plist`.
2017-02-20 19:29:21.748997 [2210:1152801] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'The service configuration is `nil`. You need to configure `Info.plist` or set `defaultServiceConfiguration` before using this method.'

我正在使用从AWS Mobiel HUB下载的plist配置,因此感到有些惊讶,因为它无法正常工作(因为所有其他组件都可以)。

任何想法可能是什么问题?plist实际上包含存储区ID和区域。


阅读 335

收藏
2020-07-07

共1个答案

一尘不染

您的info.plist需要具有S3TransferManager。

所以, **AWS -> S3TransferManager -> Default -> Region -> ...**

您可以在这里找到一个例子

2020-07-07