Updated on 2022-02-10 GMT+08:00

PUT Bucket website

API Description

You can use this API to set website hosting for a bucket.

Method Definition

func (obsClient ObsClient) SetBucketWebsiteConfiguration(input *SetBucketWebsiteConfigurationInput) (output *BaseModel, err error)

Method Definition If a Signed URL Is Used

func (obsClient ObsClient) SetBucketWebsiteConfigurationWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

Request Parameter

Field

Type

Optional or Mandatory

input

*SetBucketWebsiteConfigurationInput

Mandatory

Returned Result

Field

Type

output

*BaseModel

err

error

Sample Code

func main() {
       input := &obs.SetBucketWebsiteConfigurationInput{}
       input.Bucket = "bucketname"
       input.IndexDocument.Suffix = "suffix"
       input.ErrorDocument.Key = "key"

       var routingRules [2]obs.RoutingRule
       routingRule0 := obs.RoutingRule{}

       routingRule0.Redirect.HostName = "www.a.com"
       routingRule0.Redirect.Protocol = obs.ProtocolHttp
       routingRule0.Redirect.ReplaceKeyPrefixWith = "prefix"
       routingRule0.Redirect.HttpRedirectCode = "304"
       routingRules[0] = routingRule0

       routingRule1 := obs.RoutingRule{}

       routingRule1.Redirect.HostName = "www.b.com"
       routingRule1.Redirect.Protocol = obs.ProtocolHttps
       routingRule1.Redirect.ReplaceKeyWith = "replaceKey"
       routingRule1.Redirect.HttpRedirectCode = "304"

       routingRule1.Condition.HttpErrorCodeReturnedEquals = "404"
       routingRule1.Condition.KeyPrefixEquals = "prefix"

       routingRules[1] = routingRule1

       input.RoutingRules = routingRules[:]
       output, err := obsClient.SetBucketWebsiteConfiguration(input)
       if err == nil {
              fmt.Printf("RequestId:%s\n", output.RequestId)
       } else {
              if obsError, ok := err.(obs.ObsError); ok {
                     fmt.Println(obsError.Code)
                     fmt.Println(obsError.Message)
              } else {
                     fmt.Println(err)
              }
       }
}