针对iOS SDK v2的Amazon S3视频上传问题
亲爱的开发人员,我遇到了与Amazon S3视频上传有关的问题。
我正在使用iOS SDK V2安排iOS客户端和Amazon之间的交互。 我已阅读所有文档并调查由亚马逊开发人员提供的手册,并且发生了一些未记录的问题。
我将从一开始就开始解释问题。
1)身份验证,我使用STS方法来验证用户的亚马逊s3请求。 由于我使用这种身份验证配置来上传图片,并且所有内容都可以正常工作,所以此步骤不是重点。
2)用于上传我正在使用的视频文件:
AWSS3TransferManager
上传的示例代码:
AWSS3PutObjectRequest *logFile = [AWSS3PutObjectRequest new];
logFile.bucket = uploadTokenData_.bucket;
logFile.key = key;
logFile.contentType = contentType;
logFile.body = data_;
logFile.contentLength = [NSNumber numberWithInteger:[data_ length]];
AWSS3 *S3 = [[AWSS3 alloc] initWithConfiguration:[AWSCredentialsProvider runServiceWithStsCredential]];
AWSS3TransferManager *transferManager = [[AWSS3TransferManager alloc] initWithS3:S3];
[[transferManager.s3 putObject:logFile] continueWithBlock:^id(BFTask *task)
{
NSLog(@"Error : %@", task.error);
if (task.error == nil)
{
NSLog(@"Uploadet");
}
}
3)出现问题。
1)-1001:几乎立即的错误响应s3文件上传更准确,我会为您提供调试亚马逊响应行。
AWSiOSSDKv2 [调试] AWSSignature.m行:642 | - [AWSS3ChunkedEncodingInputStream nextChunk] | 流读取:32677,块大小:32768
Domain = NSURLErrorDomain Code = -1001“请求超时。”
2)它随机堆叠在文件上并停止上传到服务器。并且写入网络连接丢失,但Internet连接已启动。
错误域= NSURLErrorDomain代码= -1005“网络连接丢失。”
4。结论
但是这种方式不时上传视频文件到亚马逊,这是很奇怪的。例如,从早上我上传视频文件为77 MB,现在每次我收到。
域= NSURLErrorDomain代码= -1001
如果有人知道或甚至有一些想法如何解决这个问题,请给我一些建议。
非常感谢您的时间!
当您实例化AWSS3
或AWSS3TransferManager
实例(而不是使用defaultS3
或defaultS3TransferManager
)时,您需要手动保留对客户端对象的强引用。 在你的代码片段中,你的传输管理器对象可以在putObject:
completed之前释放,S3客户端随后也可以被释放。
您可以使用-setService:forKey:
在defaultServiceManager
的AWSServiceManager
有服务管理为您管理的强引用。