Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用Java SDK v2以编程方式获取AWS S3 bucket web静态站点URL_Amazon Web Services_Amazon S3_Aws Java Sdk 2.x - Fatal编程技术网

Amazon web services 使用Java SDK v2以编程方式获取AWS S3 bucket web静态站点URL

Amazon web services 使用Java SDK v2以编程方式获取AWS S3 bucket web静态站点URL,amazon-web-services,amazon-s3,aws-java-sdk-2.x,Amazon Web Services,Amazon S3,Aws Java Sdk 2.x,在的文件中指出,基于地区,有两种主要形式: bucket name.s3网站region.amazonaws.com bucket name.s3 website.region.amazonaws.com (注意,区域前的破折号和点)的列表似乎证明了这一点 我正在使用AWS Java SDK v2。我以编程方式创建了一些bucket,其他的我只是使用S3Client.getBucketWebsite()来获取bucket网站信息。但是getBuckeWebSiteResponse似乎与此无关

在的文件中指出,基于地区,有两种主要形式:

  • bucket name.s3网站region.amazonaws.com
  • bucket name.s3 website.region.amazonaws.com
(注意,
区域
前的破折号和点)的列表似乎证明了这一点

我正在使用AWS Java SDK v2。我以编程方式创建了一些bucket,其他的我只是使用
S3Client.getBucketWebsite()
来获取bucket网站信息。但是
getBuckeWebSiteResponse
似乎与此无关

我不希望在代码中硬编码映射到他们使用的特定URL样式的区域列表。有没有一种方法可以使用AWS SDK检索bucket的静态网站URL

请注意,我知道另外一个问题,但这个问题与RESTful API端点有关,而不是答案及其评论所指出的bucket静态网站托管。


(有趣的是,从我的实验中,有一个区域被记录为使用
bucket name.s3 website region.amazonaws.com
格式,也可以使用
bucket name.s3 website.region.amazonaws.com
格式访问,因此AWS可能正试图在点格式上实现标准化。不过,最好的办法是消除所有疑问,并依靠n对于某些首选表单的SDK,除非有一些官方文档保证dot表单将适用于未来的所有地区。)

目前,您必须使用
S3Client.getBucketWebsite()
S3Client.getBucketLocation()
以及区域映射一起准备AWS S3静态网站URL,因为AWS文档尚未正式宣布这两个符号(.and-)现在可以互换工作。

如果您喜欢这个答案,并且它对您有效,请批准它并对其进行投票,以及Stack Overflow推荐的结果。谢谢。