The WP eStore plugin can be integrated with Amazon S3. This feature lets you securely store and deliver digital products/downloads using Amazon’s Simple Storage Service (S3).
Amazon S3 integration is really helpful when you want to sell large files without using/wasting bandwidth of your server.
The Amazon S3 integration involves the following two steps:
- Specify the Amazon S3 API details in the eStore plugin’s settings
- Specify the URI of your digital asset in the digital product URL field of the product in question
Amazon S3 Integration Video Tutorial
Checkout the amazon S3 integration video tutorial from our additional video tutorials section.
Amazon S3 Integration Details
Step 1 – Specify Amazon S3 API Details
The amazon S3 integration options can be found under the “AddOn Settings” tab in eStore Settings menu. Go to the following interface and specify your S3 API details:
WP eStore Settings -> AddOn Settings -> Amazon Web Services (AWS)
If you don’t already have your Amazon S3 API keys then read this document to learn how to get Amazon S3 API keys (you can find similar information on Amazon site also).
Once you have configured the amazon S3 access key and secret access key in the S3 settings section under the AddOn Settings tab of eStore, you are ready to start using your Amazon s3 account with WP eStore.
Step 2- Specify the S3 Asset Location
You need to tell WP eStore to redirect encrypted download links to the AWS S3 server using the AS3TP URI in the Digital Product URL field of the product. Basically, enter your Product URL using the following method in the “Digital Product URL” field:
Here, “bucket” is the name of the S3 bucket containing the digital product, and “folder/object” is the S3 key which points to the digital product.
You may also use “as3tps://” in place of “as3tp://” if you want the S3 download to be SSL encrypted. You also have the option of inserting “[email protected]” before the bucket name, if the S3 object is marked as “public” on the S3 server.
The following screen capture shows how to properly create this URI value
Here are some typical examples of valid AS3TP URI that you can use in eStore:
- as3tps://[email protected]/object
Remember to use one of the above URI methods to enter your product URL in the “Digital Product URL” field (Don’t just use the normal amazon S3 URL of the product in that field).
Use of Amazon S3 is completely optional, but provides several advantages for those who use it. The biggest advantage is that your eStore server is relieved of the burden of having to act as an intermediary when processing anonymized downloads. This will enhance the download experience for users, because they are directly downloading files from the higher bandwidth S3 server. And because the redirection is done using an expiring AWS presigned URL request, your digital products are protected; even if the user saves the redirection URL. And, successful downloads are no longer dependent upon the reliability of your hosting provider’s server.
What File Permission To Use in Amazon S3
When you upload a file to your amazon S3 account, you should make it private (not public). If you make a file private, then no one can download that file other than going via the encrypted link eStore creates after a purchase.
The following screenshot shows how you can make a file in your amazon S3 account private.
- Strict S3 bucket naming restrictions are enforced.
- Only virtual hosted style bucket names are supported. Path style bucket name access is not supported.
- CNAME DNS aliases are supported.
- Region specific end points are not supported.
- Use of “[email protected]” tells eStore not to presign URL for public objects. Forgetting to add “[email protected]” to the URI, generates a presigned URL, but no redirection errors will occur.
- Remote hosting (on S3) of PDF Stamper files is not supported (if you are using the PDF Stamper plugin).
Note: We provide technical support for our premium plugins via our customer only support forum
Today I signed up for Amazon S3 delivery network, still waiting for my aws acc. approval to create the first bucket. My intention is, not to post my products on tangible cd’s or dvd’s anymore, instead having zipped files digitally downloaded. Finally!
ONLY one question arises regarding this, the zipped folders (individual-products) are between 500MB to 1.1GB large; is this going to work for me? Positive is, I expect, a lot more people will order on the spot cause they won’t need to wait a week for mail delivery.
The CNAME DNS aliases set up option with a subdomain url’s e.g. http://media.mydomain.com is great, this ways it looks better, it’ll look like files are stored under my own domain (I hope I do have this right, the bucket can be named: media.mydomain.com ) As opposed to http://media.mydomain.com.s3.amazonaws.com/
BTW in case someone wonders, I will be using S3 Import/Export service, posting to Amazon my large zipped files, on a pocket hard disk, and they will copy all into my bucket.
Hi CC, No you do not have to use AWS you can host your files anywhere the plugin can access them. You can read more about download directory protection here:
http://www.tipsandtricks-hq.com/forum/topic/download-directory-protection. Also the eStore uses encrypted download links so the true location of the files is never reviled.
Please let me know if you have anymore questions.
Do you have to use AWS to store the digital files? If you don’t use AWS how are the files protected? Thanks.