-
Notifications
You must be signed in to change notification settings - Fork 55
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 streaming functionality for list objects #54
Conversation
@donatello You have to use lower level S3 APIs for this specific needs. The objective of higher level |
@balamurugana I want to actually list folders and objects at a prefix and get all of them. Adding a streaming API for this should be ok. We already have it in other SDKs. |
d957f08
to
4122be8
Compare
71d800f
to
7cbdbca
Compare
@balamurugana This is ready. |
df09d8d
to
490a4fb
Compare
- High level streaming API - `list_objects` - Three lower level streaming APIs - `list_objects_v1_stream`, `list_objects_v2_stream` and `list_object_versions_stream` - `encoding_type` parameter is set by default to "url".
Currently, there is a problem in
client.list_objects
- we cannot access the prefixes within a path, only the objects (when not traversing recursively). This is because theresult_fn
only takes object properties:minio-rs/src/s3/args.rs
Lines 1115 to 1135 in 8ecabea
Results function is called as follows:
minio-rs/src/s3/client.rs
Lines 2810 to 2835 in 8ecabea
So looks like no way to iterate over prefixes in this function interface.
Of course we can use the lower level
list_objects_v2
in the client to do this, but maybe we can make a different interface that is easier to use.This PR is currently in draft for discussion.