【发布时间】:2015-01-29 01:09:07
【问题描述】:
我正在开发一个使用 AWS 作为其后端的 iOS 应用程序。由于我希望用户遍布世界各地,因此我需要切换应用下载照片的位置以提高延迟性能。我在 EUWest1 和 APNorthEast1 中创建了一个 S3 存储桶。正如洋介所说的(https://forums.aws.amazon.com/message.jspa?messageID=586581#586581),您可以将 AWSServiceManager.defaultServiceManager() 的默认配置从一个区域更改为另一个区域,以防止出现错误。
但是,即使我按照他的提示,我仍然有相同的错误结果。错误是:
Error Domain=com.amazonaws.AWSS3ErrorDomain Code=0 “操作无法完成。(com.amazonaws.AWSS3ErrorDomain 错误 0。)” UserInfo=0x14fb7720 {RequestId=D708XXX8E1EDBXXX, Endpoint=bucket-ap-northeast- 1.s3-ap-northeast-1.amazonaws.com, Message=您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有未来请求发送到此端点。HostId=xxxY31S3yFhpssQe1EsfipWWLw=, Code=PermanentRedirect, Bucket=bucket-ap-northeast-1}
这是我的代码:
var credentialsProvider = AWSCognitoCredentialsProvider.credentialsWithRegionType(kCognitoRegionType, accountId: kAWSAccountID, identityPoolId: kCognitoPoolID, unauthRoleArn: kCognitoRoleUnauth, authRoleArn: kCognitoRoleAuth)
var serviceConfiguration = AWSServiceConfiguration(region: AWSRegionType.APNortheast1, credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager().setDefaultServiceConfiguration(serviceConfiguration)
var transferManager = AWSS3TransferManager.defaultS3TransferManager()
transferManager.download(downloadRequest)
欢迎任何建议!谢谢!
【问题讨论】:
-
您是否在您的下载请求中更改了非美国标准存储桶地址的前缀(即端点)?
标签: ios amazon-web-services amazon-s3