Skip to content
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

Support S3 Express One Zone #5140

Closed
tustvold opened this issue Nov 28, 2023 · 9 comments · Fixed by #5268
Closed

Support S3 Express One Zone #5140

tustvold opened this issue Nov 28, 2023 · 9 comments · Fixed by #5268
Assignees
Labels
enhancement Any new improvement worthy of a entry in the changelog object-store Object Store Interface

Comments

@tustvold
Copy link
Contributor

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

AWS recently announced support for S3 Express One Zone - https://aws.amazon.com/blogs/aws/new-amazon-s3-express-one-zone-high-performance-storage-class/

Describe the solution you'd like

Documentation is currently incomplete, but once sufficient information is available we should add support for this

Describe alternatives you've considered

Additional context

@Xuanwo
Copy link
Member

Xuanwo commented Dec 11, 2023

Some experience:

  • endpoint is a bit tricky that doesn’t follow the same pattern with other s3 bucket.
  • Most API works the same except ListObjects must use / as delimiter.

I believe we don’t need to do any code changes. Only documentation need to add some content for the detailed behavior.

@changhiskhan
Copy link

Some experience:

  • endpoint is a bit tricky that doesn’t follow the same pattern with other s3 bucket.
  • Most API works the same except ListObjects must use / as delimiter.

I believe we don’t need to do any code changes. Only documentation need to add some content for the detailed behavior.

what is the convention for the endpoint?

@tustvold
Copy link
Contributor Author

tustvold commented Dec 11, 2023

I thought it was just using virtual hosted style buckets, which we already support? We also don't support delimiters other than /. The major changes concern authentication.

@changhiskhan
Copy link

yeah, when i try things out as is i get some error coming from CreateSession

@Xuanwo
Copy link
Member

Xuanwo commented Dec 12, 2023

I thought it was just using virtual hosted style buckets, which we already support?

Yep, we already support it.

The endpoint will be something like https://s3express-use1-az6.us-east-1.amazonaws.com.

We also don't support delimiters other than /.

It's more strict than that: the path to list must be endswith /. Otherwise, we will get error like:

{ code: "InvalidRequest", message: "This bucket does not support a prefix that does not end in a delimiter. Specify a prefix path ending with a delimiter and try again.", resource: "", request_id: "0033eada6b00018c5b6963200408d9d6e63702f8" }

@tustvold
Copy link
Contributor Author

It's more strict than that: the path to list must be endswith /. Otherwise, we will get error like:

We always add / to the path prefix we provide, so as to ensure listing behaves in a similar manner to filesystems

@Xuanwo
Copy link
Member

Xuanwo commented Dec 12, 2023

We always add / to the path prefix we provide, so as to ensure listing behaves in a similar manner to filesystems

Oh, seems I misunderstood something here. So object_store doesn't accept input like foo/bar? I used to think it's valid for list and list_with_delimiter to list keys like for/bar_xyz.

@tustvold
Copy link
Contributor Author

used to think it's valid for list and list_with_delimiter to list keys like for/bar_xyz

No, list_with_delimiter should prepend a trailing / to the prefix provided and therefore bar would list bar/a but not bar_foo

@tustvold tustvold added the object-store Object Store Interface label Jan 5, 2024
@tustvold
Copy link
Contributor Author

tustvold commented Jan 5, 2024

label_issue.py automatically added labels {'object-store'} from #5268

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Any new improvement worthy of a entry in the changelog object-store Object Store Interface
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants