将存储桶内容设置为公共时导致错误的目录名称?
Posted
技术标签:
【中文标题】将存储桶内容设置为公共时导致错误的目录名称?【英文标题】:Directory names causing errors when setting bucket contents to public? 【发布时间】:2018-07-15 21:40:21 【问题描述】:我正在使用s3cmd
(2.0.1 版)将存储桶/目录的所有内容设置为公开,但我无法将对象的 acl 设置为以所有小写字符命名的目录的公开。如果存储桶名称全部为大写,或者大小写混合,我只能将存储桶内容设置为公开。
例如,这不起作用:
我使用 rclone 创建了一个新存储桶:
rclone mkdir remotename:name
然后尝试将内容设置为公开:s3cmd setacl s3://name --acl-public
并得到错误ERROR: S3 error: 405 (MethodNotAllowed)
但这确实有效:
创建一个新存储桶:rclone mkdir remotename:NEWNAME
并成功将其内容设置为公开:s3cmd setacl s3://NEWNAME --acl-public
我可以调用我的存储桶/目录是否有限制,或者我对使用 s3cmd 将存储桶内容设置为公开有什么不理解?
【问题讨论】:
【参考方案1】:啊,搞定了。该问题与 s3cmd 有关。在host_bucket
行上的.s3cfg
文件中,我删除了$(bucket)
之后的“s”。一旦我这样做了,我就可以创建并公开我想要的任何存储桶名称。
【讨论】:
以上是关于将存储桶内容设置为公共时导致错误的目录名称?的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 javascript fetch 函数时设置公共 Google Cloud Storage 存储桶的 CORS 以避免错误?
使用依赖于存储桶名称的模板设置 S3 存储桶策略时如何避免循环错误?