获取亚马逊S3重定向到我的端点上缺少对象请求?(Get Amazon S3 to redirect

2019-07-29 16:18发布

我们使用S3的文件的在线存储。 为了降低成本,许多文件都可以与事先已知的路径按需生成。

是否有可能获得S3存储重定向丢失物件要求,以我的预配置的端点(然后它可以产生和服务需求的文件)?

例如,为了请求http://bucket1.s3.amazonaws.com/path2/file3.jpg将暂时重定向(307)到http://mydomain.com/missing_s3_obj/bucket1/path2/file3.jpg 。

Answer 1:

您可以使用RoutingRules有S3重定向到您的域名,如所描述的配置为网站主持一斗例3从S3文件。 我相信它准确地描述你的情况。

<RoutingRules>
  <RoutingRule>
  <Condition>
    <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
  </Condition>
  <Redirect>
    <HostName>mydomain.com</HostName>
    <ReplaceKeyPrefixWith>missing_s3_obj/bucket1/</ReplaceKeyPrefixWith>
    <HttpRedirectCode>307</HttpRedirectCode>
  </Redirect>
  </RoutingRule>
</RoutingRules>


Answer 2:

目前,这是不可能的,虽然它是一个非常好的主意。 (也许你应该将其列为在S3论坛功能要求,在功能需求实际上是非常认真地对待)。

你想要什么可以使用不同的archiectecture设置虽然可以来达到的。

例如,而不是使用S3,您会使用的Cloudfront代替。 您的边缘原点。将煮好的要求自己的应用程序。 你将不得不存储在S3可用文件的哈希值,但如果该文件是可在S3你会代理S3。 如果不是,那么你会自动生成文件和服务,为的Cloudfront。

然后你会得到所有的cachine的后续请求的好处。



文章来源: Get Amazon S3 to redirect to my endpoint on missing object requests?