本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
基本使用
下列範例示範如何使用 S3 Transfer Manager:
<?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 Transfer Manager 建立預設 Amazon S3 用戶端時,客戶可以使用 Transfer Manager config選項中的 default_region 參數,為用戶端傳遞預設區域,否則 Amazon S3 用戶端會嘗試使用預設行為來解析區域以解析組態,如果區域未解析,則會擲回例外狀況。
建立傳輸管理員
您可以透過兩種方式建立傳輸管理員:
- 使用現有的 S3 用戶端
-
將現有
S3Client執行個體傳遞至S3TransferManager<新增連結>建構函數。<?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' ]);