Skip to content

feat(object_store): parse well-known storage urls#3327

Merged
tustvold merged 9 commits intoapache:masterfrom
roeap:storage-locations
Dec 12, 2022
Merged

feat(object_store): parse well-known storage urls#3327
tustvold merged 9 commits intoapache:masterfrom
roeap:storage-locations

Conversation

@roeap
Copy link
Copy Markdown
Contributor

@roeap roeap commented Dec 12, 2022

Which issue does this PR close?

Closes #2304

cc @tustvold

Rationale for this change

See discussion in #2304 - in a nutshell, accessible storage locations can be described by various url formats (especially for azure storage) and we aim to provide url parsing centrally since it is a very common task to perform in consuming applications.

What changes are included in this PR?

Added new with_url memebrs to aws, gcp, and azure builders to be used via:

AmazonS3Builder::from_env().with_url("s3://foo/").build().unwrap();

Are there any user-facing changes?

yes.

Copy link
Copy Markdown
Contributor

@tustvold tustvold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be a better UX for this to return an error if it doesn't recognise the URL.

Perhaps we could stash any error on the Builder and return it during build?

Copy link
Copy Markdown
Contributor

@tustvold tustvold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a minor comment

@tustvold tustvold merged commit 19f8e8c into apache:master Dec 12, 2022
@roeap roeap deleted the storage-locations branch December 12, 2022 17:14
@ursabot
Copy link
Copy Markdown

ursabot commented Dec 13, 2022

Benchmark runs are scheduled for baseline = 75ef138 and contender = 19f8e8c. 19f8e8c is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on ec2-t3-xlarge-us-east-2] ec2-t3-xlarge-us-east-2
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on test-mac-arm] test-mac-arm
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on ursa-i9-9960x] ursa-i9-9960x
[Skipped ⚠️ Benchmarking of arrow-rs-commits is not supported on ursa-thinkcentre-m75q] ursa-thinkcentre-m75q
Buildkite builds:
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

alamb pushed a commit to alamb/arrow-rs that referenced this pull request Mar 20, 2025
* feat(object_store): add url parsing to azure builder

* feat(object_store): add url parsing to aws builder

* feat(object_store): add url parsing to gcs builder

* feat(object_store): parse gcs service account from env

* fix: typo

* docs(object_store): fix example / template urls

* feat(object_store): parse S3 virtually hosted urls

* refactor: raise url parsing errors on build

* fix: properly set virtual_hosted_style_request in url parsing
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.

[object store] Parsing of well-known uri formats

3 participants