akka / alpakka

Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.

Home Page:https://doc.akka.io/docs/alpakka/current/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

S3 signature doesn't match expected when prefix contains special chars in listBucket

hombre opened this issue · comments

Hi there.

Trying to list the content of a bucket with a prefix containing special characters

S3.listBucketAndCommonPrefixes(bucketName, "", prefix = Some("files/Björk/"))
or
S3.listBucket(bucketName, prefix = Some("files/Björk/"))

results in

akka.stream.alpakka.s3.S3Exception: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authenticati
on and SOAP Authentication for details.

This is probably related to #374

Versions used

Akka version: 2.6.19
Alpakka version: 3.0.4

Relevant logs

akka.stream.alpakka.s3.S3Exception: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.
        at akka.stream.alpakka.s3.S3Exception$.apply(S3Exception.scala:37) ~[akka-stream-alpakka-s3_2.13-3.0.4.jar:3.0.4]
        at akka.stream.alpakka.s3.impl.S3Stream$.$anonfun$unmarshalError$1(S3Stream.scala:557) ~[akka-stream-alpakka-s3_2.13-3.0.4.jar:3.0.4]
        at scala.util.Success.map(Try.scala:262) ~[scala-library-2.13.8.jar:?]
        at scala.concurrent.Future.$anonfun$map$1(Future.scala:240) ~[scala-library-2.13.8.jar:?]
        at akka.http.scaladsl.util.FastFuture$FulfilledFuture.transform(FastFuture.scala:83) ~[akka-http-core_2.13-10.2.9.jar:10.2.9]
        at scala.concurrent.Future.map(Future.scala:240) ~[scala-library-2.13.8.jar:?]
        at scala.concurrent.Future.map$(Future.scala:240) ~[scala-library-2.13.8.jar:?]
        at akka.http.scaladsl.util.FastFuture$FulfilledFuture.map(FastFuture.scala:76) ~[akka-http-core_2.13-10.2.9.jar:10.2.9]
        at akka.stream.alpakka.s3.impl.S3Stream$.unmarshalError(S3Stream.scala:556) ~[akka-stream-alpakka-s3_2.13-3.0.4.jar:3.0.4]
        at akka.stream.alpakka.s3.impl.S3Stream$.entityForSuccess(S3Stream.scala:1423) ~[akka-stream-alpakka-s3_2.13-3.0.4.jar:3.0.4]
        at akka.stream.alpakka.s3.impl.S3Stream$.$anonfun$signAndGetAs$1(S3Stream.scala:1365) ~[akka-stream-alpakka-s3_2.13-3.0.4.jar:3.0.4]
        at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:470) ~[scala-library-2.13.8.jar:?]