Symfony bundle to provide a wrapper service around AWS S3

0.4.3 2015-09-15 11:33 UTC


The UAMAwsBundle exposes AWS clients as services for use in your Symfony 2 app.


Add the package to your project's composer.json:

"require": {
    "uam/aws-bundle": "dev-master",

Register this bundle in your app's kernel:

# app/AppKernel.php

public function registerBundles()
    bundles = (
        // …
        new UAM\Bundle\AwsBundle\UAMAwsBundle(),

    return bundles();


The UAMAwsBundle can be configured in 2 ways: either by providing a path to a AWS configuration file or by setting the configuration parameters in your app's configuration.

Direct configuration

Define the following settings in your app's configuration:

# app/config/config.php
        key:    YOUR AWS ACCESS KEY
        secret: YOUR AWS SECRET KEY
        region: DEFAULT REGION

Via AWS configuration file

You can also simply have your app's configuration file point to a AWS configuration file in a location of your choice. This configuration file must be in the format required by the AWS SDK's Aws::factory() method.

# app/config/config.php
    config_path: /path/to/aws/config/file


Currently this bundle defines 2 services that provide clients for the AWS S3 and SQS services.

You can obtain this service from a container in the standard way, e.g. in a Controller:

# MyBundle/Controller/MyController.php

public function someAction()
    $s3 = $this->container->get('uam_aws.s3');

    $sqs = $this->container->get('uam_aws.sqs');

    // ...

The uam_aws.s3 service is an instance of Aws\S3\S3Client. See the AWS SDK documentation for usage of the S3Client.

The uam_aws.sqs service is an instance of Aws\Sqs\SqsClient. See the AWS SDK documentation for usage of the SQsClient.