Drupal Integration With Amazon S3 File System

Drupal Integration With Amazon S3 File System


PepsiCo – Multinational Food, Snack & Beverage Corporation


Beverages Food Processing


Drupal Integration




PepsiCo is a global food and beverage company with a product portfolio that includes 22 international brands generating over a $1 billion each in annual retail sales.

They were looking to store media images in Amazon S3 (Simple Storage Service). In order to achieve the above requirements, Mpire Solutions suggested to create an internal portal that provides a functionality to upload media files to the S3 file system while providing limited and restricted Amazon S3 accesses to their employees.


Since the client was looking for a digital asset management functionality, our team decided to conduct a deep audit to identify the main objectives and basic requirements before we proposed anything to the client. After a thorough examination of the scenario, we proposed Drupal CMS to the client as it was the best fit as per the requirements.

The first challenge we faced was to make the connectivity between Drupal and the Amazon S3 file system. The second major challenge was the access control mechanism between Amazon S3 file system and users. After implementing the access control functionality, every user should have only accessed their own media in the portal.

The third challenge was to create the tag-based functionality associated with each media entity. Our ACQUIA certified Drupal team of developers decided to use the Drupal taxonomies to achieve the tag-based functionality.


  • Amazon S3 back-end file system integration – To make connectivity between Amazon s3 file system and Drupal.
  • Access control mechanism – To make easy access for the users who have already accessed the platform before.
  • Media assets uploading to Amazon S3 & Tag-based functionality – To control and manage file uploading mechanism.


First, our Drupal developers used the contributed modules to build the connectivity between Amazon S3 and Drupal and then we created the taxonomy terms specifically for tag-based functionality.

After achieving the above, we created two user roles in Drupal. One role has the functionality to create a tag, associate file assets with tags, and manage the functionality to make a brief association between files assets and tags. The second role has only access to upload file assets to the Amazon S3 file system.

We also created the custom module which contains the functionality to upload file assets to a specific folder in the Amazon S3 file system. This module also contains the permissions functionality for both of the user roles which restricts the users to its own permissions.


  • We managed to make a significant integration between the Amazon S3 file system and Drupal.
  • We successfully created two different user roles in Drupal with specific accesses assigned to each.
  • A custom module was created to upload the required files in the Amazon S3 file system.
  • Taxonomy terms were created for tag-based functionalities.


  • The portal now provides the functionality to make some effective integrations between Drupal and Amazon S3 file systems.
  • The portal has a flexible, robust, and user-friendly interface.
  • The client is only providing access to the portal to their employees without providing them Amazon credentials.