How do I utilize Drupal commerce to sell large files stored on Amazon S3 I am working on a project for work that involves replacing a current "tape and staple" file delivery system. It's a Drupal site, but with many many third party outdated VERY unstable software. However, it successfully sells very large files from S3.

My job is to use Drupal 7 with Drupal Commerce Module set, Commerce file Module 7.x-2.0, AmazonS3 7.x-2.0 Module. Also, the files that will be associated with one specific field live in various S3 Buckets.

I successfully got all of the above modules working as advertised. But my functionality is not complete.

What I need:


The ability to choose buckets within the field when creating a product. 
link to an existing .zip file already stored on S3


About Bucket Selection: I have files located in various buckets. These files relate to the same Content type and product type. (at the time the business started they didn't understand what buckets meant. so files are a bit disorganized) I need to have the file attachment field have the ability to select a file from S3, from various buckets. Example: Product A has a file in Bucket A. Product B has a file in Bucket B. Etc... So when creating a product, the file field (that will contain the file being sold) will need to have the ability to attach an S3 file located in various buckets

Am I on the right path? Are the above modules the correct ones to have? Is there another one i need to make my connection complete or will I have to design one to get my final needs?

Update: I just found the Amazon S3 File System Module Is this something that would help me?
You really want to use the Drupal License and License Billing modules to sell access to Commerce Files.

It might take a little custom code (a few simple objects and a few hooks) to make sure your amazon S3 links are getting licensed correctly to the right user. 

In terms of your two requests:


The ability to choose buckets within the field when creating a product.
link to an existing .zip file already stored on S3


Yeah, it looks like s3 file system module is the way to go for S3 API ... they even have a migrate module and a proxy module that could make a simple file on your website, load to an s3 of your choice and still be linked to your local.

If you installed the S3 module mentioned above, you could:


Use hook_form_alter() to modify the file field 
Use hook_form_alter() to add pre-empt the normal submit handler
Use your new submit handler to save the file to your preferred bucket.