-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues reading/writing to delta tables in S3 buckets with name containing dots (deltalake>=0.7.0) #1239
Comments
After hitting myself and running a quick test... this is related to dots being present in the bucket name. The default request style being used is path style, so in theory bucket names with dots should be supported. The error indicates that the issue lies somewhere in the |
After a little digging I think this can be traced to changes that went out as part of 8e0b8cb -- specifically the move from specific backends like Again, I've not use Rust before looking at this issue, so you'll have to look at some ugly code. I downloaded the project to run the following code against the deltalake 0.8.0 crate:
Cargo.toml
When running the above code,
In other words, it spits out a |
This does look like a bug upstream in object-store, there is an incorrect assumption being made that buckets can not have dots in the name. I have just validated that this is legal with AWS S3 in `us-east-2. |
S3 bucket names can have dots in them, see [this documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) > Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-). This was originally reported in delta-io/delta-rs#1239 by @gray-sat
I will close this issue once the upstream changes have been incorporated |
S3 bucket names can have dots in them, see [this documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) > Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-). This was originally reported in delta-io/delta-rs#1239 by @gray-sat
Wow -- super quick. Thank you. |
The change has been merged upstream, but has not yet been released. There are some other API incompatibilities with the latest arrow that we'll be working through in #1249 |
S3 bucket names can have dots in them, see [this documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) > Bucket names can consist only of lowercase letters, numbers, dots (.), and hyphens (-). This was originally reported in delta-io/delta-rs#1239 by @gray-sat
This should have been closed a while ago, changes have been released |
Environment
Delta-rs version: deltalake==0.8.1
Binding: Python
Environment: Local / Cloud
Bug
What happened:
Please let me know if I have missed something glaringly obvious. It seems the read tests related to S3 passed for the 0.8.1 build on at least Python 3.10.10, so I'm not sure why I'm getting this locally.
I first attempted to read a delta table from
deltalake==0.6.4
before finding thatAWS_PROFILE
was not supported for that version. When passing credentials in storage options, I have no issues reading delta tables in S3 using0.6.4
.Our development flows often use
AWS_PROFILE
, and I noticed that0.8.0+
supported that env var so I upgraded to0.8.1
. Now when trying to read a Delta table using eitherAWS_PROFILE
or passing aws credentials instead, I am getting errors.If I pass the S3 path like
s3://<bucket-name>/<prefix-to-table>
, I getI am able to list / download the contents of those paths using aws cli / boto3 using the same credentials.
When using the
AWS_PROFILE
env, which uses the same credentials as tested above:What you expected to happen:
Can read Delta table from S3 without issue when proper credentials are exposed to
deltalake
.How to reproduce it:
On M1 Pro Mac:
Create python 3.10.10 or python 3.8.13 virtualenv
The text was updated successfully, but these errors were encountered: