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 likefunction (Aws\Command $command) {...}
. - before_initiate: (callable) Callback to invoke before the
CreateMultipartUpload
operation. The callback should have a function signature likefunction (Aws\Command $command) {...}
. - before_upload: (callable) Callback to invoke before any
UploadPart
operations. The callback should have a function signature likefunction (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
, andpart_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.