[ https://issues.apache.org/jira/browse/ARROW-18290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Balaji Veeramani updated ARROW-18290: ------------------------------------- Description: 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: ``` docker run -p 9444:9000 scireum/s3-ninja:latest ``` Authenticate with the filesystem: ``` export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" ``` Then run this Python script: ``` import os import tempfile import pyarrow.fs source = tempfile.mkdtemp() file_path = os.path.join(source, "spam") 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) ``` This issue is motivated by https://github.com/ray-project/ray/issues/29845. was: 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: ``` docker run -p 9444:9000 scireum/s3-ninja:latest ``` Authenticate with the filesystem: ``` export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" ``` Then run this Python script: ``` import os import tempfile import pyarrow.fs source = tempfile.mkdtemp() file_path = os.path.join(source, "spam") 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) ``` > `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: 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: > ``` > docker run -p 9444:9000 scireum/s3-ninja:latest > ``` > > Authenticate with the filesystem: > > ``` > export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" > export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" > ``` > > Then run this Python script: > > ``` > import os > import tempfile > import pyarrow.fs > source = tempfile.mkdtemp() > file_path = os.path.join(source, "spam") > 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) > ``` > > This issue is motivated by https://github.com/ray-project/ray/issues/29845. -- This message was sent by Atlassian Jira (v8.20.10#820010)