Skip to content

[C++] Cannot write dataset to S3FileSystem if bucket already exists #29321

@asfimport

Description

@asfimport

I'm trying to write a parquet file to an existing S3 bucket using the new S3FileSystem interface. However, this is failing with an AWS Access Denied error (I do have necessary access). It appears to be trying to recreate the bucket which already exists.

import numpy as np
import pyarrow as pa
from pyarrow import fs
import pyarrow.dataset as ds

s3 = fs.S3FileSystem(region="us-west-2")
table = pa.table({"a": range(10), "b": np.random.randn(10), "c": [1, 2] * 5})
ds.write_dataset(
    table,
    "my-bucket/test.parquet",
    format="parquet",
    filesystem=s3,
)
OSError: When creating bucket 'my-bucket': AWS Error [code 15]: Access Denied

I'm seeing the same behavior using S3FileSystem.create_dir when recursive=True.

s3.create_dir("my-bucket/test_dir/", recursive=True) # Fails
s3.create_dir("my-bucket/test_dir/", recursive=False) # Succeeds

 

Reporter: Caleb Overman / @caleboverman
Assignee: Weston Pace / @westonpace

PRs and other links:

Note: This issue was originally created as ARROW-13685. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions