ios - AWS/iOS 开发工具包 : when should I use AWSS3TransferManager and AWSS3TransferUtility?

标签 ios amazon-web-services amazon-s3 awss3transfermanager awss3transferutility

Amazon S3 iOS SDK 中,AWSS3TransferManagerAWSS3TransferUtility 在用法上有什么区别?

这是文档对 AWSS3TransferManager 的描述:

High level utility for managing transfers to Amazon S3. S3TransferManager provides a simple API for uploading and downloading content to Amazon S3, and makes extensive use of Amazon S3 multipart uploads to achieve enhanced throughput, performance and reliability.

AWSS3TransferUtility :

A high-level utility for managing background uploads and downloads. The transfers continue even when the app is suspended. You must call + application:handleEventsForBackgroundURLSession:completionHandler: in the - application:handleEventsForBackgroundURLSession:completionHandler: application delegate in order for the background transfer callback to work.

从描述来看,主要区别似乎是 AWSS3TransferUtility 是为后台 任务设计的。

这是正确的吗?这是否意味着我不应该将 AWSS3TransferManager 用于后台任务?这似乎违反直觉,因为大多数传输很可能作为移动客户端中的单独后台线程发生。

最佳答案

抱歉,有点困惑。 “后台”并不意味着脱离主线程,尽管这些传输脱离了主线程,而是意味着当您的应用程序处于后台时。

转会经理:

  • 支持分段上传
  • 如果应用被终止,Transfer Manager 可以恢复部分完成的上传

传输实用程序:

  • 传输实用程序将允许用户退出应用程序,并继续上传您的文件。
  • Transfer Utility 允许您上传二进制负载,而无需先将其保存到文件中。
  • Transfer Utility 也较新,功能更新可能会进入该客户端。

关于ios - AWS/iOS 开发工具包 : when should I use AWSS3TransferManager and AWSS3TransferUtility?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41715453/

相关文章:

javascript - 如何使用 CORS 限制 AWS S3 访问?

javascript - aws lambda拒绝文件上传

ios - 网页上的音频剪辑

ios - 使用 Swift 在 Firebase 中添加值而不是更改值

ios - 按具有相同键的字段对 NSDictionary 进行排序

api - 在给定类别中获取亚马逊最畅销产品的最佳方式

node.js - 使用 AWS Lambda 函数和 Node.js 从 S3 存储桶中提取 zip 文件并上传到另一个存储桶

amazon-web-services - S3 事件的 AWS Lambda Backlog

ios - 在后台运行时对 ios 中的 native 崩溃使用react

mysql - 内存表上的 Amazon RDS Max_data_length