SDK for PHP 3.x

MultipartUploader extends AbstractUploader
in package
Uses MultipartUploadingTrait

Encapsulates the execution of a multipart upload to S3 or Glacier.

Table of Contents

Constants

PART_MAX_NUM  = 10000
PART_MAX_SIZE  = 5368709120
PART_MIN_SIZE  = 5242880

Methods

__construct()  : mixed
Creates a multipart upload for an S3 object.
getStateFromService()  : UploadState
Creates an UploadState object for a multipart upload by querying the service for the specified upload's information.

Constants

PART_MAX_NUM

public mixed PART_MAX_NUM = 10000

PART_MAX_SIZE

public mixed PART_MAX_SIZE = 5368709120

PART_MIN_SIZE

public mixed PART_MIN_SIZE = 5242880

Methods

__construct()

Creates a multipart upload for an S3 object.

public __construct(S3ClientInterface $client, mixed $source[, array<string|int, mixed> $config = [] ]) : mixed

The valid configuration options are as follows:

  • acl: (string) ACL to set on the object being upload. Objects are private by default.
  • before_complete: (callable) Callback to invoke before the CompleteMultipartUpload operation. The callback should have a function signature like function (Aws\Command $command) {...}.
  • before_initiate: (callable) Callback to invoke before the CreateMultipartUpload operation. The callback should have a function signature like function (Aws\Command $command) {...}.
  • before_upload: (callable) Callback to invoke before any UploadPart operations. The callback should have a function signature like function (Aws\Command $command) {...}.
  • bucket: (string, required) Name of the bucket to which the object is being uploaded, or an S3 access point ARN.
  • concurrency: (int, default=int(5)) Maximum number of concurrent UploadPart operations allowed during the multipart upload.
  • key: (string, required) Key to use for the object being uploaded.
  • params: (array) An array of key/value parameters that will be applied to each of the sub-commands run by the uploader as a base. Auto-calculated options will override these parameters. If you need more granularity over parameters to each sub-command, use the before_* options detailed above to update the commands directly.
  • part_size: (int, default=int(5242880)) Part size, in bytes, to use when doing a multipart upload. This must between 5 MB and 5 GB, inclusive.
  • prepare_data_source: (callable) Callback to invoke before starting the multipart upload workflow. The callback should have a function signature like function () {...}.
  • state: (Aws\Multipart\UploadState) An object that represents the state of the multipart upload and that is used to resume a previous upload. When this option is provided, the bucket, key, and part_size options are ignored.
Parameters
$client : S3ClientInterface

Client used for the upload.

$source : mixed

Source of the data to upload.

$config : array<string|int, mixed> = []

Configuration used to perform the upload.

getStateFromService()

Creates an UploadState object for a multipart upload by querying the service for the specified upload's information.

public static getStateFromService(S3ClientInterface $client, string $bucket, string $key, string $uploadId) : UploadState
Parameters
$client : S3ClientInterface

S3Client used for the upload.

$bucket : string

Bucket for the multipart upload.

$key : string

Object key for the multipart upload.

$uploadId : string

Upload ID for the multipart upload.

Return values
UploadState
On this page