设置桶的Website配置
功能说明
设置桶的Website配置。
方法定义
ObsClient.setBucketWebsite
请求参数
字段名 |
类型 |
约束 |
说明 |
||
---|---|---|---|---|---|
Bucket |
String |
必选 |
桶名。 |
||
RequestDate |
String 或 Date |
可选 |
指定请求时间。
说明:
当为String类型时,必须符合ISO8601或RFC822规范。 |
||
RedirectAllRequestsTo |
Object |
可选 |
所有请求重定向规则。 |
||
HostName |
String |
必选 |
重定向请求时使用的站点名。 |
||
Protocol |
String |
可选 |
重定向请求时使用的协议,支持的值:
|
||
ErrorDocument |
Object |
可选 |
错误页面配置。 |
||
Key |
String |
可选 |
指定当4XX错误出现时返回的页面。 |
||
IndexDocument |
Object |
可选 |
默认页面配置。 |
||
Suffix |
String |
必选 |
该字段被追加在对文件夹的请求的末尾(例如:配置的是“index.html”,请求的是“samplebucket/images/”,返回的数据将是“samplebucket”桶内名为“images/index.html”的对象的内容)。该字段不能为空或者包含“/”字符。 |
||
RoutingRules |
Array |
可选 |
重定向规则列表。 |
||
Condition |
Object |
可选 |
重定向规则的匹配条件。 |
||
HttpErrorCodeReturnedEquals |
String |
可选 |
重定向规则生效需要匹配的HTTP错误码。 |
||
KeyPrefixEquals |
String |
可选 |
重定向规则生效需要匹配的对象名前缀。 |
||
Redirect |
Object |
必选 |
重定向请求时的具体信息。 |
||
Protocol |
String |
可选 |
重定向请求时使用的协议,支持的值:
|
||
HostName |
String |
可选 |
重定向请求时使用的站点名。 |
||
ReplaceKeyPrefixWith |
String |
可选 |
重定向请求时使用的对象名前缀。 |
||
ReplaceKeyWith |
String |
可选 |
重定向请求时使用的对象名。不可与ReplaceKeyPrefixWith同时存在。 |
||
HttpRedirectCode |
String |
可选 |
重定向请求时响应中的HTTP状态码。 |
- ErrorDocument、IndexDocument和RoutingRules必须配套使用,且与RedirectAllRequestsTo互斥。当设置了这三个字段时,不能设置RedirectAllRequestsTo;反之,当设置了RedirectAllRequestsTo时,不能设置ErrorDocument、IndexDocument和RoutingRules。
- 当ErrorDocument、IndexDocument和RoutingRules三个字段一起使用时,RoutingRules可为空。
- ErrorDocument、IndexDocument、RoutingRules与RedirectAllRequestsTo不能全为空。
返回结果(InterfaceResult)
字段名 |
类型 |
说明 |
---|---|---|
RequestId |
String |
OBS服务端返回的请求ID。 |
代码样例
obsClient.setBucketWebsite({ Bucket : 'bucketname', // RedirectAllRequestsTo : {HostName : 'www.example.com', Protocol : 'https'} IndexDocument:{Suffix:'index.html'}, ErrorDocument:{Key:'error.html'}, RoutingRules:[ {Condition:{HttpErrorCodeReturnedEquals:'404'},Redirect:{Protocol:'http',ReplaceKeyWith:'NotFound.html'}}, {Condition:{HttpErrorCodeReturnedEquals:'404'},Redirect:{Protocol:'https',ReplaceKeyWith:'test.html'}} ] },function (err, result) { if(err){ console.error('Error-->' + err); }else{ if(result.CommonMsg.Status < 300){ console.log('RequestId-->' + result.InterfaceResult.RequestId); }else{ console.log('Code-->' + result.CommonMsg.Code); console.log('Message-->' + result.CommonMsg.Message); } } });