Using Amazon S3 with Roku

This step-by-step walk-through will guide you through the process of creating an Amazon S3 (Simple Storage Service) bucket to store public Roku content such as poster artwork. Content stored in the S3 bucket will be accessible from a Roku channel or from a computer with a web browser. The S3 bucket will be functionally the same as a directory or folder on a web server, except that it will have a virtually unlimited amount of bandwidth available.

See this walk-through for help using Amazon S3 for Instant TV Channel configuration files if your channel will have more than 100 video or audio content items.
  1. Log into your AWS (Amazon Web Services) account and go to the S3 section of your AWS control panel.
  2. Click the Create Bucket button.
  3. Provide a Bucket Name, for example "my-public-bucket".

    Very Important: Use only lower-case characters, digits, and dashes in your bucket name. Instant TV Channel does not support the use of upper-case characters or other symbols in bucket names.

    Good Bucket Name: test-bucket
    Good Bucket Name: bucket123
    Bad Bucket Name: test.bucket (contains unsupported period character ".")
    Bad Bucket Name: bucket+123 (contains unsupported plus character "+")
    Bad Bucket Name: Test-Bucket (contains upper-case characters "T" and "B")
  4. The bucket Region should be set to "US East (N. Virginia)".
  5. Uncheck all of the checkboxes under "Block Public Access settings for bucket".
  6. Click the Create bucket button.

Now we will add a bucket policy. This will allow every file in your bucket to be publicly accessible without having to individually adjust the permissions on each file.

  1. Click the newly-created bucket name. This will display a page with several tabs, such as "Overview", "Properties", "Lifecycle", "Permissions", and "Management".
  2. Click the Permissions tab.
  3. Scroll down to the Bucket policy section and click the Edit button. This will open the Edit bucket policy screen.
  4. Copy the policy below and paste it into the Policy box, replacing
    with the actual name of the bucket that you just created. This policy specifies that anybody can read the contents of the bucket.
      "Id": "MyBucketPolicy",
      "Version": "2012-10-17",
      "Statement": [
          "Action": ["s3:GetObject"],
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::my-public-bucket/*",
          "Principal": {"AWS": ["*"]}
  5. Click the Save changes button.

At this point your new S3 bucket is ready to store publicly-accessible files.

You can upload files to the new bucket by clicking the Upload button in the S3 control panel.

If you created an S3 bucket in the default region named "my-public-bucket" and put a poster file named "poster.jpg" into it, then the URL that would be used to access the poster would be:

If you created an S3 bucket that was in a different region, for example "us-west", then the URL that would be used to access the poster would be similar to:

Do not use SSL URLs (URLs starting with https) to access poster artwork, as it will greatly increase the time it takes for your Roku channel to load the posters, particularly in large horizontal lists or grids.

A note about Amazon AWS pricing: Amazon's S3 pricing is separate from Instant TV Channel's monthly charges. Amazon has a Free Tier for new customers which may include some or all of your S3 charges. All Amazon S3 charges are billed directly from Amazon, and are dependent mainly on the sizes of the files and how often they are accessed. For example, Amazon will bill you approximately $0.00005 for each download or use of a 500KB file, or about $0.01 (one cent) for every 200 downloads or uses.

DISCLAIMER: Instant TV Channel cannot guarantee that this AWS pricing information is accurate or complete. Please visit Amazon at for current pricing.

For a walk-through on how to build a Roku channel using Instant TV Channel, please visit this link.

Comments or questions about this Roku & S3 developer tutorial can be emailed to .

Instant TV Channel is a cloud-based tool for Roku developers and content providers that shortens development time and eases maintenance after deployment.


If you are considering subtitles for your Roku video content, our sister-site provides an easy-to-use and inexpensive solution. Click here for more information.

Access Code: ID1
Check out Instant TV Channel by adding our latest demonstration channel to your Roku player.

Instant TV Channel is not affiliated with nor endorsed by Roku Inc.