Is it possible to limit s3 bucket to lowercase files/directories only?
Some downstream systems are case insensitive so I want to prevent any issues.
There's a Lambda workaround, but is it possible to specify this requirement as a bucket policy?
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enforce lower-case",
"Effect": "Deny",
"Principal":"*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::mybucket/*",
"Condition": {
"StringNotEquals": {
"s3:KeyName": "lower(s3:KeyName)"
}
}
}
]
}
No, that is not possible because:
An alternative approach would be to have the S3 bucket trigger an AWS Lambda function, which could:
Key
Copy
the object to a new lowercase Key and delete the original object However, it would mean that Foo
would rename to foo
and a later FOO
would overwrite foo
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.