传输文件和目录 - 适用于 PHP 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

传输文件和目录

适用于 PHP 的 Amazon SDK 版本 3 提供了两种在 Amazon S3 之间传输文件和目录的方法。这两种解决方案都能处理大文件分段上传和下载的复杂性,但它们的设计理念、功能集和使用模式各不相同。

转账选项概述

选择最适合您的应用程序需求的传输方法:

S3 传输管理器(推荐)

一个现代化的高级库,为文件传输提供全面的解决方案。它提供了广泛的配置选项、内置的进度跟踪、自定义下载处理程序和强大的错误处理功能。S3 传输管理器使用基于 Promise 的 API,通过高级筛选功能支持单个文件操作和目录传输。

转移

一种专门针对批量目录操作的目录传输实现。它为上传和下载整个目录提供了一个更简单的 API,其中包含基本的配置选项。与 S3 传输管理器相比,这种方法的功能较少。

主要区别

下表突出显示了两种传输方法之间的主要区别:

功能 S3 Transfer Manager Transfer

单个文件操作

是(上传/下载单个文件)

否(仅限目录操作)

目录操作

是(使用高级筛选)

是(基本目录传输)

进度跟踪

内置自定义监听器

有限(仅限调试输出)

自定义下载处理程序

校验和验证

自动,带配置

手动(add_content_md5 选项)

错误处理

全面的故障策略

基于承诺的基本处理

配置选项

广泛(8 个以上的选项)

基本(6 个选项)

API 设计

请求/响应对象

简单的构造器参数

选择正确的方法

需要时使用 S3 传输管理器:

  • 个人文件上传或下载操作

  • 高级进度跟踪和监控

  • 用于专门处理的自定义下载处理程序

  • 全面的错误处理和重试政策

  • 对多部分操作的精细控制

  • 具有复杂筛选逻辑的目录操作

需要时使用 “转移”:

  • 简单的 “目录到/从 S3” 传输

  • 最少的配置和设置

  • 与使用 Transfer 的现有代码的兼容性

  • 基本的分段上传功能

注意

对于新应用程序,我们建议使用 S3 传输管理器,因为它为文件传输提供了更全面、更灵活的解决方案。