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

new feature: Generate permanent URL for public read #5581

Open
1 task
wlinna opened this issue Jan 28, 2025 · 0 comments
Open
1 task

new feature: Generate permanent URL for public read #5581

wlinna opened this issue Jan 28, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@wlinna
Copy link
Contributor

wlinna commented Jan 28, 2025

Feature Description

Create a function for Operator (somewhat similar to presign_read) which generates a permanent publicly accessible URL to the resource. For example, I'm using Google Cloud Storage emulator and I have configured Gcs service like this:

Gcs::default()
        .bucket("test")
        .root("/")
        .disable_vm_metadata()
        .allow_anonymous()
        .endpoint("http://127.0.0.1:9199")
        .disable_config_load();

Now let's say I want to access a file "myfile.txt". I would like to generate a direct public access URL that looks like this:

http://localhost:9199/v0/b/test/o/myfile.txt?alt=media

Problem and Solution

Many object storage services such as Google Cloud Storage and S3 allow public read access to files. Operator nicely abstracts all these services, but since it doesn't have the ability to generate permanent and publicly accessible links, I loose this abstraction.

Additional Context

As an alternative, I tried to use .info() to find the necessary information to generate the url. However, neither Operator nor OperatorInfo expose endpoint, which further complicates workarounds.

Are you willing to contribute to the development of this feature?

  • Yes, I am willing to contribute to the development of this feature.
@wlinna wlinna added the enhancement New feature or request label Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant