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 端点有关,而不是存储桶静态网站托管,正如答案https://stackoverflow.com/a/39468126/421049及其评论所指出的那样。
(有趣的是,从我的实验来看,一个记录使用该表单bucket-name.s3-website-region.amazonaws.com
的区域也可以使用该表单访问bucket-name.s3-website.region.amazonaws.com
,因此 AWS 可能正在尝试标准化点表单。不过,最好消除所有疑问并在某些情况下依赖 SDK首选形式,除非有一些官方文件保证点形式将适用于所有地区。)