[ https://issues.apache.org/jira/browse/ARROW-18290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17633803#comment-17633803 ]
Antoine Pitrou commented on ARROW-18290: ---------------------------------------- Well, we would like our S3 support to extend to non-AWS backends, as a best effort policy, but we also can't introduce unreasonable hacks to that purpose. This particular issue seems difficult to solve without extended surgery and a hairy maintenance story. > [Python] `pyarrow.fs.copy_files` doesn't work if filenames contain special > characters > ------------------------------------------------------------------------------------- > > Key: ARROW-18290 > URL: https://issues.apache.org/jira/browse/ARROW-18290 > Project: Apache Arrow > Issue Type: Bug > Components: C++, Python > Affects Versions: 6.0.1 > Reporter: Balaji Veeramani > Priority: Minor > > I can't upload a file called `spam=ham` to a filesystem that emulates an S3 > API. I can workaround the issue by renaming the file `spam-ham`. > To reproduce, run a filesystem that emulates an S3 API: > {code:java} > docker run -p 9444:9000 scireum/s3-ninja:latest > {code} > Authenticate with the filesystem: > {code:java} > export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" > export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" > {code} > Then run this Python script: > {code:python} > import os > import tempfile > import pyarrow.fs > source = tempfile.mkdtemp() > file_path = os.path.join(source, "spam=ham") > open(file_path, "w").close() > filesystem, path = pyarrow.fs.FileSystem.from_uri( > "s3://bucket?scheme=http&endpoint_override=localhost:9444" > ) > pyarrow.fs.copy_files(source, path, destination_filesystem=filesystem) > {code} > You'll get the error > {code:java} > OSError: When initiating multiple part upload for key 'spam=ham' in bucket > 'bucket': AWS Error [code 22]: The computed request signature does not match > the one provided. Check login credentials. (Expected: > e70ab9efb620f744abd43d13e8e6846c585a41da543bfb5da67d2fe1ccfd1aaa, Found: > 648456e3441dad5a014b2981c71b6e69ccac9732bdcdbe2d363d95105d914340) > {code} > This issue is motivated by [https://github.com/ray-project/ray/issues/29845]. -- This message was sent by Atlassian Jira (v8.20.10#820010)