基本使用 - 適用於 PHP 的 AWS SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

基本使用

下列範例示範如何使用 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' ]);