Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

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.
  • track_upload: (boolean) Set true to track status in 1/8th increments for upload.
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