本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基本用法
以下示例说明如何使用 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' ]);