layout: default permalink: /adapter/aws-s3-v2/
composer require league/flysystem-aws-s3-v2
use Aws\S3\S3Client;
use League\Flysystem\AwsS3v2\AwsS3Adapter;
use League\Flysystem\Filesystem;
$client = S3Client::factory([
'key' => '[your key]',
'secret' => '[your secret]',
'region' => '[aws-region]',
]);
$adapter = new AwsS3Adapter($client, 'bucket-name', 'optional/path/prefix');
$filesystem = new Filesystem($adapter);
To enable reduced redunancy storage set up your adapter like so:
$adapter = new AwsS3Adapter($client, 'bucket-name', 'optional/path/prefix', [
'StorageClass' => 'REDUCED_REDUNDANCY',
]);
If you're using a storage service which implements the S3 protocols, you can set the base_url
configuration option when constructing the client.
$client = S3Client::factory([
'base_url' => 'http://some.other.endpoint',
// ... other settings
]);
Known compliant storage providers are: