【发布时间】:2018-01-17 21:55:51
【问题描述】:
我目前正在使用 S3 存储桶的 rest api 来访问我公司应用程序的图像。我编写了 lambda 函数来帮助减轻我的应用程序的负载,但为了利用这些函数,我必须更改我的 S3 存储桶中的设置以充当静态网站主机。当我这样做时,我可以再访问原始的 rest api。我想同时利用 REST api 和静态网站 url 来使从一个到另一个的过渡顺利,但我找不到任何关于这样做的细节。甚至可能吗?
Rest API 请求示例https://s3.amazonaws.com/bucketname.mycompany.com/spacebackground.jpg
静态网站示例
http://bucketname.mycompany.com.s3-website-us-west-1.amazonaws.com/spacebackground(1)Full.jpg
将存储桶更改为静态网站主机后,我会收到“永久重定向”http 响应。
可以同时使用吗?
【问题讨论】:
-
当您说“REST API”时,您的意思是您正在使用 AWS S3 API 来生成签名请求吗?还是您只是使用 REST 作为访问公共对象的匿名用户?
-
以匿名用户身份使用 rest。该存储桶包含由我们的网络应用程序拉入的公共图像。
-
我刚刚注意到Kannaiyan的回答非常好。
-
CloudFront 是一项很好的服务,但它是您获得重定向的原因与静态网站托管无关。那是巧合。对于北加州的存储桶,您的 REST 端点是错误的。当您第一次创建存储桶时,S3 可以稍微容忍这个错误,因为不确定是您犯了错误,还是 S3 犯了错误,但之后,如果使用错误,您将获得永久重定向端点。
-
@Michael-sqlbot 谢谢!我没有意识到我在 prod 中使用的存储桶和我的测试存储桶位于不同的区域,所以我没想到 URL 会有所不同。
标签: amazon-web-services amazon-s3