PRX/Porter

Problems handling S3 keys with spaces and/or encoded spaces

Closed this issue · 4 comments

We're seeing some issues with the CopyObject method on the Javascript SDK handling source files that include either spaces or + in the object key (unclear which, maybe both). Encoding the source object doesn't seem to be doing the trick

Ingesting an HTTP file with actual spaces in the URL ( ) results in an artifact key like this:

arn:aws:states:us-east-1:561178107736:execution:StateMachine-8B8z7vHLT4JS:withrealspaces/7e05cd91-0af3-4ed1-addf-9190775d7d6e/PL_PREVIEW_V1_COMING_SEP_JOHN_NEW_VERSION_PREMIERES%20SUBSCRIBE%20NOW%201_.mp3

Ingesting an HTTP file with pre-encoded spaces (%20) in the URL results in an artifact key like this:

arn:aws:states:us-east-1:561178107736:execution:StateMachine-8B8z7vHLT4JS:withpercents/40c4da38-4eba-43ef-9fa9-b09ed3ce8135/PL_PREVIEW_V1_COMING_SEP_JOHN_NEW_VERSION_PREMIERES%20SUBSCRIBE%20NOW%201_.mp3

Ingesting an HTTP file with pluses (+) in the URL results in an artifact key like this:

arn:aws:states:us-east-1:561178107736:execution:StateMachine-8B8z7vHLT4JS:withpluses/64f2959c-bf8f-49c4-a63b-c658079961d6/PL_PREVIEW_V1_COMING_SEP_JOHN_NEW_VERSION_PREMIERES+SUBSCRIBE+NOW+1_.mp3

Of all those source files, the only one that currently fails is the one with pluses