gpt4 book ai didi

amazon-web-services - AWS S3 自动将对象键名称规范化为小写

转载 作者:行者123 更新时间:2023-12-05 05:11:59 25 4
gpt4 key购买 nike

据我所知,AWS S3 上的对象名称始终区分大小写,并且无法将 AWS S3 配置为不区分大小写。

那么,是否可以配置类似 AWS Lambda 的东西来将上传的文件名规范化为小写?或者使用 AWS S3 执行此任务的最佳实践是什么?

最佳答案

是的,这可以通过让 Lambda 函数订阅您的 S3 PUT 事件来轻松完成。

{
"Records": [
{
"eventVersion": "2.0",
"eventTime": "1970-01-01T00:00:00.000Z",
"requestParameters": {
"sourceIPAddress": "127.0.0.1"
},
"s3": {
"configurationId": "testConfigRule",
"object": {
"eTag": "0123456789abcdef0123456789abcdef",
"sequencer": "0A1B2C3D4E5F678901",
"key": "HappyFace.jpg",
"size": 1024
},
"bucket": {
"arn": bucketarn,
"name": "sourcebucket",
"ownerIdentity": {
"principalId": "EXAMPLE"
}
},
"s3SchemaVersion": "1.0"
},
"responseElements": {
"x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",
"x-amz-request-id": "EXAMPLE123456789"
},
"awsRegion": "us-east-1",
"eventName": "ObjectCreated:Put",
"userIdentity": {
"principalId": "EXAMPLE"
},
"eventSource": "aws:s3"
}
]
}

然后您可以获取 event.Records[0].s3.bucket.name 和 event.Records[0].s3.object.key 向 AWS 发出 copyObject 请求

成功复制文件后,您可以 delete 原始文件。

只需确保您的 Lambda 仅针对 PUT 事件进行配置,因为如果您将其设置为所有事件,COPY 和 DELETE 也会触发您的函数,使您进入无限递归。

关于amazon-web-services - AWS S3 自动将对象键名称规范化为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54922000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com