Creating a Signed URL
API Description
You can use this API to generate a signed URL whose Query parameters are carried with authentication information, by specifying the AK and SK, HTTP method, and request parameters. A signed URL allows you to perform specific operations on OBS.
Method Definition
func (obsClient ObsClient) CreateSignedUrl(input *CreateSignedUrlInput) (output *CreateSignedUrlOutput, err error)
Request Parameter
| Field | Type | Optional or Mandatory |
|---|---|---|
| input | Mandatory |
Returned Result
| Field | Type |
|---|---|
| output | |
| err | error |
Sample Code
func main() { // Generate a signed URL for uploading an object. putObjectInput := &obs.CreateSignedUrlInput{} putObjectInput.Method = obs.HttpMethodPut putObjectInput.Bucket = "bucketname" putObjectInput.Key = "objectkey" putObjectInput.Expires = 3600 putObjectOutput, err := obsClient.CreateSignedUrl(putObjectInput) if err == nil { fmt.Printf("SignedUrl:%s\n", putObjectOutput.SignedUrl) fmt.Printf("ActualSignedRequestHeaders:%v\n", putObjectOutput.ActualSignedRequestHeaders) } else { fmt.Println(err) } // Generate a signed URL for downloading an object. getObjectInput := &obs.CreateSignedUrlInput{} getObjectInput.Method = obs.HttpMethodGet getObjectInput.Bucket = "bucketname" getObjectInput.Key = "objectkey" getObjectInput.Expires = 3600 getObjectOutput, err := obsClient.CreateSignedUrl(getObjectInput) if err == nil { fmt.Printf("SignedUrl:%s\n", getObjectOutput.SignedUrl) fmt.Printf("ActualSignedRequestHeaders:%v\n", getObjectOutput.ActualSignedRequestHeaders) } else { fmt.Println(err) } // Generate a signed URL for deleting an object. deleteObjectInput := &obs.CreateSignedUrlInput{} deleteObjectInput.Method = obs.HttpMethodDelete deleteObjectInput.Bucket = "bucketname" deleteObjectInput.Key = "objectkey" deleteObjectInput.Expires = 3600 deleteObjectOutput, err := obsClient.CreateSignedUrl(deleteObjectInput) if err == nil { fmt.Printf("SignedUrl:%s\n", deleteObjectOutput.SignedUrl) fmt.Printf("ActualSignedRequestHeaders:%v\n", deleteObjectOutput.ActualSignedRequestHeaders) } else { fmt.Println(err) } }
Last Article: Other APIs
Next Article: Server-Side Encryption
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.