mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 13:26:00 +03:00
[GH-ISSUE #434] S3 Bucket Naming Limitations #232
Labels
No labels
bug
bug
dataloss
duplicate
enhancement
feature request
help wanted
invalid
need info
performance
pull-request
question
question
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/s3fs-fuse#232
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nanodust on GitHub (Jun 13, 2016).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/434
According to Amazon:
The rules for bucket names in the US East (N. Virginia) region allow bucket names to be as long as 255 characters, and bucket names can contain any combination of uppercase letters, lowercase letters, numbers, periods (.), hyphens , and underscores (_).
Yet, with S3FS, I cannot use any uppercase, periods, hyphens, or underscores in S3FS - if I do, I get an "s3fs: bucket name contains an illegal character"
this is true regardless of whether or not I use -ouse_path_request_style
In summary - s3fs works fine on buckets with no period, hyphen, underscore.
If any of those exist, I cannot find a way to allow s3fs to work.
I'm writing this issue in case it helps others...
meanwhile if there is a way to actually use (at least hyphens!) please let us know.
Thank you !
@gaul commented on GitHub (Jun 13, 2016):
Which version of s3fs do you use? I successfully created and mounted such a bucket with 1.80 via:
@nanodust commented on GitHub (Jun 13, 2016):
thanks Andrew. I'm fresh / latest :
Amazon Simple Storage Service File System V1.80(commit:36917f7) with OpenSSL
it only works when I don't have hyphens or underscores in my bucket name.
As I can't re-name the buckets (i need underscores & hyphens), I just moved over to aws cli sync, and gave up on fuse (which seemed the more elegant solution).
So this is just me then !? OK. I will close the issue.
@r14c commented on GitHub (Aug 4, 2021):
I am seeing this issue on 1.89 when i try to mount a bucket using fstab.
@michaelwclark commented on GitHub (Aug 17, 2021):
I'm having this issue as well. Manually mounting or fstab
@DavidGarciaCat commented on GitHub (Sep 22, 2021):
Me too... this seems like a recurrent issue that should not be closed...
@J1a-wei commented on GitHub (Mar 6, 2023):
same error in /etc/fstab
@gaul commented on GitHub (Mar 6, 2023):
Please test with the latest version 1.91. We do not support older versions.
@tve commented on GitHub (Jan 22, 2024):
Same here. I can mount a bucket that has a hyphen using the
s3fscommand but not via fstab. Version 1.92:E.g. this works:
And this doesn't:
This is the fstab entry (wrapped for readability):
@wrenchpilot commented on GitHub (Jan 24, 2024):
I was having this same issue, the documentation on what to put into /etc/fstab is not great. Here's what worked for me. Don't put anything before the bucket name.
@dMailonG commented on GitHub (May 28, 2024):
@gaul could you please reopen this issue?
@dMailonG commented on GitHub (May 28, 2024):
Just tested it, and it seems related to the bucket and the mount directory having the same name.
This is further reinforced by the error message exhibiting the full path to the mount directory as the bucket name.
It's interesting how when calling s3fs directly it works, but not through mount.
Bucket name: my-bucket
Directory: /media/mailon/my-bucket
Result: Fail (s3fs: BUCKET /media/mailon/my-bucket -- bucket name contains an illegal character.)
Bucket name: mybucket
Directory: /media/mailon/my-bucket
Result: Success
Bucket name: my-bucket
Directory: /media/mailon/mybucket
Result: Success
As per CheckForbiddenBucketParams() on s3fs_cred.cpp, dashes are not illegal characters, but slashes are:
I'd say the issue arises around my_fuse_opt_proc() on s3fs.cpp, but I'm unfamiliar with C++, so it's hard for me to tell.
@DavidGarciaCat commented on GitHub (Aug 8, 2024):
Hello @gaul
I was wondering if you or one of your colleagues maintaining
s3fs-fusehave had a chance to review @dMailonG's previous post (written about 2.5 months ago), as it seems to identify an existing issue in one of thecppfiles.Thanks,
@ggtakec commented on GitHub (Aug 11, 2024):
@DavidGarciaCat @dMailonG
I tried this with the current master branch code, but I can't reproduce it.
I tried the path style case and the other case, and both were mounted without any problems.
The fstab entry I tried is the following:
If you are still having trouble with this problem, specify the
dbglevelandcurldbgoptions as follows to have s3fs output debug logs.These debug logs are output to files under
/var/log, etc. (If you don't know the log file, please refer to thelogfileoption.)Then, if the problem persists, please post a new issue with that information(debug logs, etc.).
Thanks in advance for your assistance.
@kallisti5 commented on GitHub (May 21, 2025):
ps: any further lurkers... this one has to do with your current working directory. If you move out of the path where the fuse mount happens, the error goes away
Conditions:
mount -aIn the conditions above, you get "bucket name contains an illegal character"