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

Add GetPresignedUrl Functionality to Minio .NET Client #1169

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

novama
Copy link

@novama novama commented Sep 4, 2024

This PR introduces the GetPresignedUrl functionality to the Minio .NET client, aligning it with the existing capabilities of the Minio Python library, as detailed in the official Python client API reference.
Key Features:

  • Emulates Python Library Behavior: The GetPresignedUrl method is designed to closely emulate the behavior of the corresponding function in the Python Minio client. This includes generating presigned URLs for bucket objects, allowing temporary access to the objects in the Minio storage.
  • Supported Operations: The functionality supports common HTTP methods (GET, PUT, DELETE, etc.) for presigned URLs, enabling users to share or access objects securely.
  • Parameterization: The method supports various parameters such as expiry times, request parameters, and custom headers, giving users flexibility similar to that in the Python library.
  • Extensive Testing: The implementation has been tested to ensure it matches the expected behavior and performance as seen in the Python library, covering edge cases and typical usage scenarios.

Rationale:

The addition of this functionality enhances the Minio .NET client's feature parity with the Python client, providing .NET developers with the tools necessary to generate presigned URLs directly within their applications, for GET, PUT and DELETE requests.

(Currently, object deletion by presigned url is not supported)

This PR is ready for review. Your feedback and suggestions are welcome!

image

@ebozduman
Copy link
Collaborator

@novama

Please look into 2 build test failures:

  1. Format check (simply run dotnet regitlint and push the generated changes.
  2. Functional test failure: Unhandled exception. System.InvalidOperationException: Unable to delete via presigned URLContent

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