56 lines
1.5 KiB
Markdown
56 lines
1.5 KiB
Markdown
# Amazon S3
|
|
|
|
Adapter to connect to Amazon S3 instances.
|
|
|
|
This adapter requires the use of amazonwebservices/aws-sdk-for-php which can be installed by adding the following line to your composer.json:
|
|
|
|
```
|
|
"require": {
|
|
...
|
|
"amazonwebservices/aws-sdk-for-php": "1.6.2"
|
|
},
|
|
```
|
|
|
|
## Parameters
|
|
|
|
* `amazon_s3_id`: the id of the AmazonS3 service used for the underlying connection
|
|
* `bucket_name`: the name of the bucket to use
|
|
* `options`: additional (optional) settings
|
|
* `directory`: the directory to use, within the specified bucket
|
|
* `region`
|
|
* `create`
|
|
|
|
## Defining services
|
|
|
|
To use the Amazon S3 adapter you need to provide a valid `AmazonS3` instance (as defined in the Amazon SDK). This can
|
|
easily be set up as using Symfony's service configuration:
|
|
|
|
``` yaml
|
|
# app/config/config.yml
|
|
services:
|
|
amazonS3:
|
|
class: AmazonS3
|
|
arguments:
|
|
options:
|
|
key: '%aws_key%'
|
|
secret: '%aws_secret_key%'
|
|
```
|
|
|
|
## Example
|
|
|
|
Once the service is set up use its key as the amazon_s3_id in the gaufrette configuration:
|
|
|
|
``` yaml
|
|
# app/config/config.yml
|
|
knp_gaufrette:
|
|
adapters:
|
|
foo:
|
|
amazon_s3:
|
|
amazon_s3_id: amazonS3
|
|
bucket_name: foo_bucket
|
|
options:
|
|
directory: foo_directory
|
|
```
|
|
|
|
Note that the SDK seems to have some issues with bucket names with dots in them, e.g. "com.mycompany.bucket" seems to have issues but "com-mycompany-bucket" works.
|