gpt4 book ai didi

c#-4.0 - C# - AWS S3 使用 PutObject 或 TransferUtility.Upload 方法上传文件。哪种方式更好?

转载 作者:行者123 更新时间:2023-12-02 22:16:49 24 4
gpt4 key购买 nike

我知道有两种方法可用于在 AWS S3 中上传文件(即 PutObject 和 TransferUtility.Upload)。有人可以解释一下使用哪一个吗?

仅供引用,我的文件大小从 1kb 到 250MB 不等。

提前致谢。

最佳答案

Amazon deprecated the S3 Transfer Manager and migrated to the new Transfer Utility.The Transfer Utility is a simple interface for handling the most common uses of S3.It has a single constructor, which requires an instance of AmazonS3Client. Working with it is so easy and let the develpers perform all operations with less code.

以下是通过 Transfer Manager 使用 Transfer Utility 的主要功能

  • 上传大文件时,TransferUtility 使用多线程一次上传单个上传的多个部分。处理时大内容和高带宽,这可以提高吞吐量TransferUtility 检测文件是否很大并切换到分段上传模式。 分段上传的好处是更好的性能,因为这些部分可以同时上传好吧,如果有错误,只需要个别部分已重试。
  • 我们大多数人都会尝试在 S3 上上传大文件,这会占用太多时间是时候上传了,在这种情况下我们需要进度信息例如传输的字节总数剩余量数据传输。跟踪当前传输进度传输管理器,开发人员将 S3ProgressListener 回调传递给上传或下载,这会定期触发以下方法。
  • 无法使用传输管理器暂停传输基于流的上传或下载。但 Transfer Utility 为我们提供了暂停和恢复选项,它还有一种基于单文件的方法上传和下载。

transferUtility.upload(MY_BUCKET,OBJECT_KEY,FILE_TO_UPLOAD) transferUtility.download(MY_BUCKET,OBJECT_KEY,FILE_TO_UPLOAD)

  • 传输管理器仅需要 INTERNET 权限。然而,因为传输实用程序自动检测网络状态并且根据网络状态暂停/恢复传输传输实用程序的暂停功能很简单,因为所有传输都可以暂停和恢复。传输由于网络连接丢失而暂停,它将自动恢复,您无需执行任何操作。自动暂停的传输等待网络连接将具有该状态。此外,传输实用程序将有关传输的所有元数据存储到本地 SQLite 数据库,因此开发人员无需保留任何内容。

注意:其他一切都很好。但是 Transfer Utility 不支持 copy() API。要完成它,请使用 AmazonS3ClientcopyObject() 方法。

关于c#-4.0 - C# - AWS S3 使用 PutObject 或 TransferUtility.Upload 方法上传文件。哪种方式更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16307992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com