【发布时间】:2020-02-16 12:56:38
【问题描述】:
我在 S3 中创建了一个存储桶来存储图像,并按照 Resize Images on the Fly with Amazon S3, AWS Lambda, and Amazon API Gateway | AWS Compute Blog 使用 Lambda 调整它们的大小。
到目前为止它运行良好,但我无法使重定向规则起作用。出于某种原因,当它应该重定向到 REST api 以调整图像大小时,我不断收到“没有这样的键”。
这是我的重定向规则配置:
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals/>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<Protocol>https</Protocol>
<HostName>8mxk2saka6.execute-api.sa-east-1.amazonaws.com</HostName>
<ReplaceKeyPrefixWith>default/pp-create-thumbnails-for-user-assets?key=</ReplaceKeyPrefixWith>
<HttpRedirectCode>307</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
这里是错误的截图:
为 Lambda 中的 API 配置添加屏幕截图:
还有一个屏幕截图,显示了我在 Lambda 仪表板中看到的内容:
我做错了什么?
更新
正如汤姆在下面的回答中所说,非常重要的是要注意有两种方法可以从浏览器访问存储桶:
1. https://YOUR_BUCKET.s3-sa-east-1.amazonaws.com
另一个是
2. http://YOUR_BUCKET.s3-website-sa-east-1.amazonaws.com
您将不能够将重定向规则应用于第一个,只有第二个知道它们。
因此,在完成配置以调整图像大小后,请确保使用第二个 url(静态网站托管一个)进行重定向。
希望这可以帮助其他人解决这个问题。
【问题讨论】:
标签: amazon-web-services amazon-s3