AWS S3对象公共URL困境

时间:2018-08-14 06:05:13

标签: amazon-web-services amazon-s3

我位于亚太地区(孟买)地区。我有S3存储桶 abc
我有一个图像 A.png ,具有完全的公共读取权限。

因此,如AWS在AWS控制台中所建议的那样,现在我可以用来从Internet访问URL了:

我还可以从以下URL访问图像:

现在AWS文档here提供以下信息:
enter image description here

如果我的存储桶位于美国东部(弗吉尼亚北部),则提供的URL格式为

所以我的问题是,在我的应用程序中使用公共URL时,我需要记住URL模式吗?
为什么AWS提供不同的URL模式,而不是将一种格式虚拟化为虚拟托管样式,而将一种格式标准化为路径样式?

如果我在这里误解了任何技术细节,请告诉我。

1 个答案:

答案 0 :(得分:0)

您所指的URL结构称为REST端点,而不是Web站点端点。

如果您的存储桶确实位于AWS的us-east-1地区-S3文档以前称为“ US Standard”地区,但随后正式更名为“ US East(弗吉尼亚北部)”区域”,那么http://s3-us-east-1.amazonaws.com/bucket/并不是该端点的正确格式,即使看起来应该正确。该区域的正确格式是http://s3.amazonaws.com/bucket/http://s3-external-1.amazonaws.com/bucket/。¹

您使用的格式适用于所有其他S3地区,但不适用于美国标准美国东部(弗吉尼亚北部)[us-east-1]。

您可以从此处获取端点列表:

https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

您应根据实际需求和用例使用网站终结点和其他终结点。

请在此处找到详细信息:

https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff

s3-external-1.amazonaws.com被称为“北弗吉尼亚州终点”。