awslabs / amplify-video

An open source Category Plugin for the AWS Amplify-CLI that makes it easy to deploy live and file based streaming video services and integrate them into your Amplify applications.
https://www.npmjs.com/package/amplify-category-video
Apache License 2.0
267 stars 56 forks source link

Output bucket not granting Public Read permission when filename contains spaces #317

Open wezside opened 2 years ago

wezside commented 2 years ago

Describe the bug Output bucket not granting Public Read permission when filename contains spaces. Hyphens and underscores appears to work.

To Reproduce Steps to reproduce the behavior:

  1. Setup amplify video
  2. Upload file with space in file name using S3 console to input bucket
  3. open Cloudwatch error log for outputWatcher
  4. See error
2021-10-08T08:12:32.137Z c5289755-35a3-43f0-96d9-c072ff6cf5ce INFO file%2Btest/file+test_32520211008T081229_00010.ts
--
2021-10-08T08:12:32.955Z    c5289755-35a3-43f0-96d9-c072ff6cf5ce    INFO    AccessDenied: Access Denied
    at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/s3.js:714:35)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:688:14)
    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:690:12)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18) {
  code: 'AccessDenied',
  region: null,
  time: 2021-10-08T08:12:32.895Z,
  requestId: 'HZKSSNJ713QSB024',
  extendedRequestId: 'W6NzLSKpgRhMDrppYYuOdonK+wFo9IAlyMVzlTO2pkQwp3pqH9Hh+lbaxMZ0/CIMScGKO4ZmZb8=',
  cfId: undefined,
  statusCode: 403,
  retryable: false,
  retryDelay: 58.91706475422262
}

Expected behavior Public read permission must be granted for all output files otherwise a 403 error is thrown on the video player

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

wizage commented 2 years ago

Will investigate. In the meantime, I recommend not using spaces