针对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

如果有人知道或甚至有一些想法如何解决这个问题,请给我一些建议。

非常感谢您的时间!


当您实例化AWSS3AWSS3TransferManager实例(而不是使用defaultS3defaultS3TransferManager )时,您需要手动保留对客户端对象的强引用。 在你的代码片段中,你的传输管理器对象可以在putObject: completed之前释放,S3客户端随后也可以被释放。

您可以使用-setService:forKey:defaultServiceManagerAWSServiceManager有服务管理为您管理的强引用。

链接地址: http://www.djcxy.com/p/22361.html

上一篇: Amazon S3 video upload issue for the iOS SDK v2

下一篇: hadoop/yarn and task parallelization on non