AWS S3重定向规则不允许我保存它



我试图创建一个图像调整器lambda函数,为此我使用S3存储桶进行存储,但当我试图在S3属性下添加重定向规则时,它不允许我保存它。它一直给我错误

(Unknown Error
An unexpected error occurred.
API response
Expected params.WebsiteConfiguration.RoutingRules to be an Array)

这是我试图添加的重定向规则

<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals/>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<Protocol>https</Protocol>
<HostName>API-endpoint</HostName>
<ReplaceKeyPrefixWith>prod/resize?key=</ReplaceKeyPrefixWith>
<HttpRedirectCode>307</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>

让它工作

以下定义工作:

[
{
"Condition": {
"HttpErrorCodeReturnedEquals": "404"
},
"Redirect": {
"Protocol": "https",
"HostName": "<host>",
"ReplaceKeyPrefixWith": "<prefix>",
"HttpRedirectCode": "307"
}
}
]

要在新的AmazonS3控制台中创建重定向规则,必须使用JSON。

检查您的"Sid";。看看它是否与另一个";Sid";另一种政策,即使是针对不同的桶。如果是,请更改。

转到S3控制台并选择您的bucket。选择权限选项卡。然后转到存储桶策略。按下编辑按钮并将以下内容添加到Bucket策略中。然后your_bucket_name替换您的bucket名称

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicReadAccess",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::Your_Bucket_Name/*"
}
]}

最新更新