-
Notifications
You must be signed in to change notification settings - Fork 279
Can't list buckets #38
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
Comments
I don't yet have a solution for this, we might indeed have to change the way that |
It looks like |
Apologies, seems we only implemented the direct |
Ah, I suppose. I was just looking at |
It seems that all of my errors that I've dug in to are coming down to things that assume I can list the bucket. The most recent I don't have my head completely around things here yet and the paginator stuff is new to me, but my files are in a bucket that has a lot of objects and I'm not interested in any of them. I only want the keys in the prefix I'm asking for, which I have permissions for and there are only a few. The dask error comes because I called [1] https://github.com/dask/s3fs/blob/master/s3fs/core.py#L256 |
I wonder if you shouldn't also pop out the prefix from the path in the Happy to test any changes. |
It is a valid model. |
Sure that makes sense. Just as another data point, as you noted the list call is slow, and a typical bucket I use could take a very, very long time to list, assuming I even could. I've run into this before just on a prefix in this bucket, and I ended up killing the operation I was doing. I worry a bit about the cost of trying to make this key-value store too filesystem like, but that's up to you. I think users will understand that s3 is not a filesystem and that there are limitations here. Sorry to bother about all of this. I generally get pretty far with boto(3) myself, but now that dask is and pandas is going to use s3fs, I'm having to rewrite utility functions to make things work for me, and I want to raise the issues I'm going to run into. |
Your help in identifying issues is totally appreciated, no apology required! |
I am also running into this, trying to use |
@kennethreitz , s3fs lists a bucket with a given prefix since a long time. Can you restrict you listing just to areas of the bucket that you do have access to? You should be able to read specific paths even if that doesn't work, since the fallback is to call |
Let me show you the exception. |
|
|
OK, I see what you are doing. |
interesting, I'll give that a try. |
https://github.com/dask/s3fs/blob/bfd5de29270a0063935889ce089f84b3f803012b/s3fs/core.py#L791 |
Yes agreed, we should check in ls('') first, and if not found, try ls(bucket) - if it succeeds, the bucket exists. |
chiming in as another user bit by this. I was able to get |
I have some AWS credentials for which I can't list buckets. I almost never have bucket level permissions, but I do have permissions on prefixes. So something like
Won't work because I can't list any buckets (S3Client.list_buckets fails), and I also don't generally have permissions at the bucket level.
Similar issues to those here [1, 2] for the default (old) boto behavior.
[1] conda/conda#2126
[2] blaze/odo#448
The text was updated successfully, but these errors were encountered: