https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html上的文档说,根据地区有两种主要形式:
bucket-name.s3-website-region.amazonaws.com
bucket-name.s3-website.region.amazonaws.com
(请注意破折号与前面的点region
。)https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints上的列表似乎证明了这一点。
我正在使用AWS Java SDK v2。我正在以编程方式创建一些存储桶,而其他的只是S3Client.getBucketWebsite()
用来获取存储桶网站信息。但是,GetBucketWebsiteResponse
似乎没有与此相关的任何东西。
我宁可不要在代码中对映射到其使用的特定样式的URL进行硬编码。有什么方法可以使用AWS开发工具包检索存储桶的静态网站URL?
请注意,我知道一个单独的问题,即如何通过API获取AWS S3网站端点URL?,但是这个问题与RESTful API端点有关,而不是与静态网站托管存储桶有关,正如答案/sf/ask/17360801/及其注释所指出的那样。
(有趣的是,根据我的实验,使用该表单bucket-name.s3-website-region.amazonaws.com
也可以访问一个记录为使用该表单的区域bucket-name.s3-website.region.amazonaws.com
,因此也许AWS正在尝试对点格式进行标准化。尽管如此,最好消除所有疑问并在某些情况下使用SDK首选格式,除非有一些官方文件保证点格式适用于以后的所有区域。)