Creating an S3 Bucket

Octet writes the output of transcoding jobs to a user-provided S3 bucket.

This guide shows how to create an S3 bucket along with an IAM user that gives Octet write access to the bucket.

First, let's create a bucket using the AWS CLI:

aws s3 mb "s3://my-transcoded-videos" --region us-east-1

Then we need to give Octet access to the bucket

# Create an IAM user for Octet Video
$ aws iam create-user --user-name octet-transcode

# Create a policy
# This allows write access to the bucket
# Don't forget to change the name of the bucket in "Resource" below
$ echo '{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-transcoded-videos/*"
            ]
        }
    ]
}' > OctetIAMPolicy.json

# Attach the policy to the user we created
$ aws iam put-user-policy \
    --user-name octet-transcode \
    --policy-name TranscodeOutputPolicy \
    --policy-document file://OctetIAMPolicy.json

# Finally, create an access key
$ aws iam create-access-key --user-name octet-transcode

The last command shouild return something like

{
    "AccessKey": {
        "UserName": "octet-transcode",
        "Status": "Active",
        "CreateDate": "2021-01-03T18:39:23.411Z",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
        "AccessKeyId": "AKIAIOSFODNN7EXAMPLE"
    }
}

Make a note of the SecretAccessKey and the AccessKeyId. You'll provide these to Octet when creating a transcoding job.