Read from the package's own PHP files at the commit adad1b569a8c: its namespaces, classes, interfaces and enums, their public constants, properties and methods with their PHPDoc, and the options its factories take. Nothing of it is run.
S3AdapterclassFlysystem's AsyncAws adapter, with a file's existence asked by HeadObject: 200 is there, 404 is not, any other answer (403: wrong keys, no permission) a failure. The adapter's objectExists() waiter read a 403 as "not there", so a refused request looked like a missing file. AWS answers 404 for a missing object only to a caller with s3:ListBucket, 403 to one without: grant it.
2 methods
S3DriveFactoryclassAn S3 bucket - AWS, or any service that speaks S3: MinIO, Scaleway, OVHcloud, Cloudflare R2, Garage... - through league/flysystem-async-aws-s3:
4 options · 1 method
Omnidrive\S3
S3Adapter class
final class S3Adapter extends AsyncAwsS3Adapter S3Adapter.php:20
Flysystem's AsyncAws adapter, with a file's existence asked by HeadObject: 200 is there, 404 is not, any other answer (403: wrong keys, no permission) a failure. The adapter's objectExists() waiter read a 403 as "not there", so a refused request looked like a missing file. AWS answers 404 for a missing object only to a caller with s3:ListBucket, 403 to one without: grant it.
S3Adapter::__construct()
public function __construct(readonly S3Client $s3, readonly string $s3Bucket, string $prefix = '', ?VisibilityConverter $visibility = null)S3Adapter::fileExists()
public function fileExists(string $path): boolS3DriveFactory class
final class S3DriveFactory extends FlysystemDriveFactory S3DriveFactory.php:29
An S3 bucket - AWS, or any service that speaks S3: MinIO, Scaleway, OVHcloud, Cloudflare R2, Garage... - through league/flysystem-async-aws-s3:
(new S3DriveFactory())->create(['bucket' => 'uploads', 'region' => 'eu-west-3', 'key' => '...', 'secret' => '...']); (new S3DriveFactory())->create(['bucket' => 'uploads', 'endpoint' => 'http://minio:9000', 'path_style' => true, 'key' => '...', 'secret' => '...']);
Options: bucket (required), region (us-east-1), endpoint (another service than AWS), path_style (the bucket in the path, not in the host: MinIO), key and secret (else AsyncAws's own chain: environment, ~/.aws, the instance's role), session_token, prefix (every path under it), public_url (else the bucket's own address), visibility (the ACL a file is written with: "public" is public-read, "private" - Flysystem's default), directory_visibility.
The HTTP client is the application's when one is given, else AsyncAws's own.
Options
| Option | Default | |
|---|---|---|
region | 'us-east-1' | |
path_style | false | |
prefix | '' | |
bucket | required |
S3DriveFactory::__construct()
public function __construct(readonly ?HttpClientInterface $http = null)