Comments (6)
S3 does not support "folders", the objects are being grouped based on the path, to avoid this you'd need to keep at least one object.
Amazon S3 has a flat structure instead of a hierarchy like you would see in a file system.
The console does this by using a shared name prefix for the grouped objects. In other words, the grouped objects have names that begin with a common string. This common string, or shared prefix, is the folder name.
https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html
from mountpoint-s3.
Hey @revanhernandy. As @mschfh wrote, the objects are being grouped based on path. This is also described in our semantics documentation for reference: https://github.com/awslabs/mountpoint-s3/blob/83fa7c654623cba34b44f99c3b8930b693ebd0b1/doc/SEMANTICS.md#directories
One way to resolve your issue would be to create either an empty file for persisting a directory (similar to .gitkeep
files for Git), or to create a directory marker. We don't recommended using directory markers generally since they can have adverse effects with larger workloads, but it may work best for your use case.
A directory marker is an empty object with the key matching the prefix of objects that would be contained within. For some directory "dir1", you could create an empty object dir1/
which will be interpreted by many file-oriented connectors/views as a directory. For example, the S3 Console will create this type of object when creating a directory. Note that directory markers cannot be removed by Mountpoint today, and you would need to use another S3 client to remove them later.
Please let us know if this resolves your issue or if you need any further help with it.
from mountpoint-s3.
Hi @dannycjones thank you for the response. Got it and makes sense.
Currently, we have an Azure blobfuse filesystem and it can be handled by a temporary path but we need to migrate into S3 stuff 😄 it would be very perfect if Mount S3 could do similar.
But, the first workaround is ideal in this case with making a persistence file with a dot(.) would be helpful in case, vsftpd by default would hide the files and directories starting with dot(.)
from mountpoint-s3.
Currently, we have an Azure blobfuse filesystem and it can be handled by a temporary path but we need to migrate into S3 stuff 😄 it would be very perfect if Mount S3 could do similar.
Sorry @revanhernandy, I didn't understand what the ask is. What do you mean by a temporary path?
from mountpoint-s3.
We plan to add the scenario in this issue to a new FAQ/troubleshooting document we're creating, tracking this scenario here: #722.
from mountpoint-s3.
We'll update the troubleshooting documentation to mention this case, but as discussed above, this is the expected behavior. Creating a hidden .keep
file is a good workaround. Thanks for the report!
from mountpoint-s3.
Related Issues (20)
- Bazillion of ListBucket issued HOT 6
- When copying large size data (13-20GB) to an S3 bucket mounted with mount-s3, it takes a long time to respond to requests to S3. HOT 3
- Allow configuration of the maximum number of event loop threads HOT 2
- Slow LIST performance with mountpoint HOT 3
- Adding --cheap option HOT 1
- Add support for environment variables to configure the mountpoint-s3-cli HOT 3
- Cannot successfully mount a S3 Glacier Vault from EC2 instance using instance profile. HOT 1
- Not compatible with Ubuntu 24.04 - libfuse2 -->libfuse3 HOT 1
- Slow throughput when reading many small files HOT 5
- Allow mounting to non-empty directories HOT 2
- `os.listdir` (and presumably other os functions) fails in the face of signals HOT 1
- Support rotation of the log file
- Reduce the number of S3 API calls when the same object is requested at the same time HOT 1
- Limiting with the 「--maximum-troughput-gbps」 option does not work HOT 1
- Mountpoint Cache exceeding the ephemeral storage of the pod HOT 4
- File read occasionally fails with 'Input/output error (os error 5)' HOT 3
- Startup option to ignore mode change errors HOT 2
- Possible failures caused by interrupts during system call
- Automatically adjust prefetching based on available memory
- `LD_PRELOAD`-based virtual s3 FS for systems without FUSE module installed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mountpoint-s3.