AWS S3 Output Configuration is not working

Product

Encoding - VOD

Question

Somehow, I’m unable to use the S3 Output Configuration, even if I want to. 070acc44-64e6-45cb-b81a-6baaf2c39ef3 is my job ID. I’m seeing the error notice below.

07/23/2024 11:28:52 PM
Encoding has failed.
07/23/2024 11:28:39 PM
Problem with output configuration. Check your AWS S3 or Google GCS bucket configuration and permissions.
07/23/2024 11:28:39 PM
Encoding on cluster failed.
07/23/2024 11:28:36 PM
Output error.
07/23/2024 11:28:26 PM
Encoding in progress.
07/23/2024 11:28:26 PM
Per-Title Encoding configuration finished.
07/23/2024 11:28:22 PM
Per-Title analysis finished.
07/23/2024 11:28:22 PM
Per-Title Encoding configuration started.
07/23/2024 11:27:46 PM
Analyzing input finished.
07/23/2024 11:27:46 PM
Download of input file finished
07/23/2024 11:27:46 PM
Per-Title analysis setup finished.
07/23/2024 11:27:46 PM
Per-Title analysis started.
07/23/2024 11:27:46 PM
Per-Title analysis setup started.
07/23/2024 11:27:46 PM
Analyzing input in progress.
07/23/2024 11:27:45 PM
Download of input file in progress.

My Code snippet is as below

private Task CreateAwsInput(string accountname, string accountkey, string bucketname)
{
var input = new S3Input()
{
BucketName = “restrictedcontent”,
AccessKey = “AKIAZEZOWXXXXXXXXXXXX”,
SecretKey = “AvVmO5bjOAhENqF1InFR+XXXXXXXXXXXXXXXXXXXX”,

        };
        
        return _bitmovinApi.Encoding.Inputs.S3.CreateAsync(input);
    }

private Task CreateAwsOutput(string accountname, string accountkey, string bucketname)
{

        var aclEntry = new AclEntry()
        {
            Permission = AclPermission.PRIVATE
        };
        var output = new S3Output()
        {
            BucketName = "bitmovinasset",
            AccessKey = "AKIAZEZOWXXXXXXXXXXXX",
            SecretKey = "AvVmO5bjOAhENqF1InFR+XXXXXXXXXXXXXXXXXXXX",
            Acl = new List<AclEntry>() { aclEntry },

        };
            
           
        return _bitmovinApi.Encoding.Outputs.S3.CreateAsync(output);
       
    }

Note:- We have given all available permission to S3 buckets.

One more question is that how can i configure the folder name inside a S3 bucket for S3Output ?

Hi @vinayak.baye,

Having a look at internal logs for the encoding job you’ve shared, this is printed:

"Error":"saveTranscoderData: Aws::S3::PutObject has failed: Unable to parse ExceptionName: AccessControlListNotSupported Message: The bucket does not allow ACLs

Note that your code is missing the setAcl part outlined here: How to create an S3 Encoding Input or Output with the Bitmovin API (also see that it’s required on the muxings as well, not just on the output)

Since the issue relates to PutObject, I’d also encourage you to review that these permissions are correctly granted on your S3 JSON policy: What permissions do I need to set on my S3 buckets for Encoding Input and Output?

Couple of useful resources you may also want to keep handy:

PS: Definition of the folder/path within the S3 output bucket is done within each Muxing. For example, when creating an MP4 muxing, you’ll notice that one of the params to be passed is an array of outputs identified by ID, path and ACL (see screenshot below, taken from the MP4 muxing creation documentation)

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.