Skip to content

Conversation

@paraseba
Copy link
Collaborator

@paraseba paraseba commented Nov 8, 2025

This new Storage instance executes an http GET on a URL passed. It expects the response to be a redirect to the URL of a destination target dataset. After the destination is resolved, it behaves as a storage appropiate for the target url.

  • It follows up to 10 redirects until one matches one of the handled protocols
  • Currently it handles the following protocols:
    • s3
    • gs or gcs
    • http+icechunk, http+ic, https+icechunk, or https+ic
    • r2
    • tigris
  • The redirect for s3 must include a region as query argument, example: Location: s3://foo/bar/baz?region=us-east-1
  • The redirect for r2 must include an account as query argument, example: Location: r2://foo/bar/baz?account_id=12345
  • Currently the target Storage instances are created using anonymous credentials
  • Currently no auth is supported in the redirection service

This new Storage instance executes an http GET on a URL passed. It expects
the response to be a redirect to the URL of a destination target
dataset. After the destination is resolved, it behaves as a storage
appropiate for the target url.

- It follows up to 10 redirects until one matches one of the handled
  protocols
- Currently it handles the following protocols:
    - s3
    - gs or gcs
    - http+icechunk, http+ic, https+icechunk, or https+ic
    - r2
    - tigris
- The redirect for s3 must include a region as query argument, example:
  `Location: s3://foo/bar/baz?region=us-east-1`
- The redirect for r2 must include an account as query argument, example:
  `Location: r2://foo/bar/baz?account_id=12345`
- Currently the target Storage instances are created using anonymous
  credentials
- Currently no auth is supported in the redirection service
@paraseba
Copy link
Collaborator Author

paraseba commented Nov 8, 2025

This is missing documentation, left for a followup PR.

@paraseba
Copy link
Collaborator Author

paraseba commented Nov 8, 2025

Probably the best way to understand how to use this is to look at the new python test, after reading the commit message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants