世界快播:关于aws-s3-bucket-静态网站托管相关的查询-S3.Client.get_bucket_website(**kwargs)
关于aws-s3-bucket-静态网站托管相关的查询,这里笔者主要整理一下基于AWS SDK for Python (Boto3)方式,相关的判断和逻辑
1、首先是判断s3-bucket有没有开启静态网站托管,即页面上的 Static website hosting的值Enabled|Disabled
可以通过ResponseMetadata=S3client.get_bucket_website(Bucket=Name)看是否会抛出异常,如果一个s3 bucket没有开启静态网站则会输出
(相关资料图)
botocore.exceptions.ClientError: An error occurred (NoSuchWebsiteConfiguration) when calling the GetBucketWebsite operation:
The specified bucket does not have a website configuration, 判断逻辑如下图所示
2、接下来就是托管类型的判断,Hosting type,目前只要开启了静态网站托管,
就必须从(Host a static website|Redirect requests for an object)选择一种,笔者这里是一个Host a static website类型的,于是能得到如下的返回信息:
{"ResponseMetadata": {"RequestId": "2SR4CJWMC8VM85NX", "HostId": "6Y9F6aMU+57rKMlzmkvLtkI3zf6W8PyFDuFIk0lAHlg2UvBT/QwlYcOcfHxvV3psaRPsefNS2Rg=", "HTTPStatusCode": 200, "HTTPHeaders": {"x-amz-id-2": "6Y9F6aMU+57rKMlzmkvLtkI3zf6W8PyFDuFIk0lAHlg2UvBT/QwlYcOcfHxvV3psaRPsefNS2Rg=", "x-amz-request-id": "2SR4CJWMC8VM85NX", "date": "Sat, 25 Mar 2023 03:13:22 GMT", "content-type": "application/xml", "transfer-encoding": "chunked", "server": "AmazonS3"}, "RetryAttempts": 0}, "IndexDocument": {"Suffix": "index.html"}}
ResponseMetadata数据每次访问都会不一样,真正有效的数据为:"IndexDocument": {"Suffix": "index.html"}
只有托管静态网站类型时才会有/定义IndexDocument,而且必须要有此值, 因此我们就可以通过这个字段来判断托管类型 了,原理与上面的一样
3、对于Redirect requests for an object (重定向对某个对象的请求)类型的返回数据如下,注若页面Protocol为None,则将没有Protocol字段
{"ResponseMetadata": {"RequestId": "V9WW0D0FN889E9CY", "HostId": "rHp0bm+aTgZGZIzxtU2yXQaL5s0JgnmEdvGsRZdzkltPUK1wew6dEuqCSw5ZWeUGIbcSOKxA7m/mBdjcEGB6vQ==", "HTTPStatusCode": 200, "HTTPHeaders": {"x-amz-id-2": "rHp0bm+aTgZGZIzxtU2yXQaL5s0JgnmEdvGsRZdzkltPUK1wew6dEuqCSw5ZWeUGIbcSOKxA7m/mBdjcEGB6vQ==", "x-amz-request-id": "V9WW0D0FN889E9CY", "date": "Sat, 25 Mar 2023 05:07:59 GMT", "content-type": "application/xml", "transfer-encoding": "chunked", "server": "AmazonS3"}, "RetryAttempts": 0}, "RedirectAllRequestsTo": {"HostName": "test.com", "Protocol": "https"}}
4、关于 存储桶网站终端节点(Bucket website endpoint),可以在返回值中是看不出来的,但是对于s3静态网站托管,基名称格式是固定有规律的,如下:
http://{s3-bucket-Name}.s3-website.{Region}.amazonaws.com.cn
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17254489.html
关键词:
资讯
- 注册安全工程师哪个专业通过率高(注册安全工程师考试通过了 需要考后审核吗 广东)_环球要闻
- 车架号查询车辆保险(通过车架号查保险记录) 当前信息
- “传家宝”书籍遗落车厢,轨交民警努力寻回-当前动态
- 郗怎么读
- 周五(3月24日)纽约尾盘,CME比特币期货BTC主力合约报27705美元,较周四纽约尾盘跌2.36%,盘中交投于28570-27480美元区间,本周累涨2.6
- 当前快看:网易云音乐心动模式_网易云音乐心动模式是什么
- 2023秋冬上海时装周拉开帷幕 体验式发布打造时尚消费新场景
- 大将军:绿军是被媒体吹出来的 除非打国王或灰熊否则不可能夺冠|世界观焦点
- 如何修改本机MAC地址-每日快播
- 中亦科技:接受安信证券等机构调研-天天热讯