AWS S3 上传分段文件标准 - 不频繁访问 PHP



如何在标准 - 不频繁访问中上传大文件?

我的代码:

require('aws/aws-autoloader.php');
use AwsS3S3Client;
use AwsS3MultipartUploader;
$client = S3Client::factory(array(
    'version' => 'latest',
    'region' => 'us-east-1',
    'credentials' => array(
        'key'    => $key,
        'secret' => $secret,
    ),
));
$uploader = new MultipartUploader($client, $filename, [
    'bucket' => $bucket,
    'key'    => $filename,
    'part_size' => 1073741824,
]);
$uploader->upload();

文件上传正常,但在标准模式下,我想以不频繁访问上传。

似乎有一个回调钩子¹,您需要使用它来设置附加选项,例如存储类。

$uploader = new MultipartUploader($client, $filename, [
    'bucket' => $bucket,
    'key'    => $filename,
    'before_initiate' => function (AwsCommand $command) {
        // $command is a CreateMultipartUpload operation
        $command['StorageClass'] = 'STANDARD_IA';
     },
   'part_size' => 1073741824,
]);

来源:

  • https://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/s3-multipart-upload.html
  • http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#createmultipartupload

¹ 回调钩子是我刚刚编造的术语,也可能不是它的名字,但它似乎描述了这种机制。我不是PHP专家。

最新更新