Aws\S3\S3Client::__construct PHP Method

__construct() public method

In addition to the options available to {@see \Aws\AwsClient::__construct}, S3Client accepts the following options: - bucket_endpoint: (bool) Set to true to send requests to a hardcoded bucket endpoint rather than create an endpoint as a result of injecting the bucket into the URL. This option is useful for interacting with CNAME endpoints. - calculate_md5: (bool) Set to false to disable calculating an MD5 for all Amazon S3 signed uploads. - use_accelerate_endpoint: (bool) Set to true to send requests to an S3 Accelerate endpoint by default. Can be enabled or disabled on individual operations by setting '@use_accelerate_endpoint' to true or false. Note: you must enable S3 Accelerate on a bucket before it can be accessed via an Accelerate endpoint. - use_dual_stack_endpoint: (bool) Set to true to send requests to an S3 Dual Stack endpoint by default, which enables IPv6 Protocol. Can be enabled or disabled on individual operations by setting '@use_dual_stack_endpoint\' to true or false. Note: you cannot use it together with an accelerate endpoint.
public __construct ( array $args )
$args array
    public function __construct(array $args)
    {
        parent::__construct($args);
        $stack = $this->getHandlerList();
        $stack->appendInit(SSECMiddleware::wrap($this->getEndpoint()->getScheme()), 's3.ssec');
        $stack->appendBuild(ApplyChecksumMiddleware::wrap(), 's3.checksum');
        $stack->appendBuild(Middleware::contentType(['PutObject', 'UploadPart']), 's3.content_type');
        $stack->appendBuild(S3EndpointMiddleware::wrap($this->getRegion(), ['dual_stack' => $this->getConfig('use_dual_stack_endpoint'), 'accelerate' => $this->getConfig('use_accelerate_endpoint')]), 's3.endpoint_middleware');
        // Use the bucket style middleware when using a "bucket_endpoint" (for cnames)
        if ($this->getConfig('bucket_endpoint')) {
            $stack->appendBuild(BucketEndpointMiddleware::wrap(), 's3.bucket_endpoint');
        }
        $stack->appendSign(PutObjectUrlMiddleware::wrap(), 's3.put_object_url');
        $stack->appendSign(PermanentRedirectMiddleware::wrap(), 's3.permanent_redirect');
        $stack->appendInit(Middleware::sourceFile($this->getApi()), 's3.source_file');
        $stack->appendInit($this->getSaveAsParameter(), 's3.save_as');
        $stack->appendInit($this->getLocationConstraintMiddleware(), 's3.location');
        $stack->appendInit($this->getEncodingTypeMiddleware(), 's3.auto_encode');
        $stack->appendInit($this->getHeadObjectMiddleware(), 's3.head_object');
    }

Usage Example

Esempio n. 1
0
 public function __construct(array $args)
 {
     if (!isset($args['version'])) {
         $args['version'] = "2006-03-01";
     }
     parent::__construct($args);
 }