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

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

基本用法

以下示例说明如何使用 S3 传输管理器:

<?php use Aws\S3\S3Client; use Aws\S3\S3Transfer\Models\UploadRequest; use Aws\S3\S3Transfer\S3TransferManager; require __DIR__ . '/../vendor/autoload.php'; // Create an S3 client. $s3Client = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', ]); // Create a transfer manager with default configuration. $transferManager = new S3TransferManager($s3Client); // Alternative: Create transfer manager with null client. S3 Transfer Manager uses a default S3 client. $transferManager = new S3TransferManager(null, [ 'default_region' => 'us-west-2' ]); // Example: Upload a file. $uploadPromise = $transferManager->upload( new UploadRequest( '/path/to/local/file.txt', [ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'path/to/s3/file.txt', ] ) ); // Wait for the upload to complete. $result = $uploadPromise->wait(); echo "Upload complete!\n";
重要

使用 S3 传输管理器创建默认 Amazon S3 客户端时,客户可以使用传输管理器config选项中的default_region参数为客户端传递默认区域,否则 Amazon S3 客户端会尝试使用默认行为来解析配置,如果未解析该区域,则会引发异常。

创建转接管理器

您可以通过两种方式创建转接管理器:

使用现有的 S3 客户端

将现有S3Client实例传递给S3TransferManager<add link>构造函数。

<?php use Aws\S3\S3Client; use Aws\S3\S3Transfer\S3TransferManager; require __DIR__ . '/../vendor/autoload.php'; // Create an S3 client. $s3Client = new S3Client([ 'version' => 'latest', 'region' => 'us-west-2', ]); $transferManager = new S3TransferManager($s3Client);
使用默认创建 S3 客户端

以客户端null身份传递并指定配置选项。

<?php use Aws\S3\S3Transfer\S3TransferManager; require __DIR__ . '/../vendor/autoload.php'; $transferManager = new S3TransferManager(null, [ 'default_region' => 'us-west-2' ]);