更新时间:2022-02-10 GMT+08:00
生成带授权信息的URL
功能说明
通过访问密钥、请求方法类型、请求参数等信息生成一个在Query参数中携带鉴权信息的URL,以对OBS服务进行特定操作。
方法定义
func (obsClient ObsClient) CreateSignedUrl(input *CreateSignedUrlInput) (output *CreateSignedUrlOutput, err error)
请求参数
|
参数名 |
类型 |
约束 |
|---|---|---|
|
input |
必选 |
返回结果
|
参数名 |
类型 |
|---|---|
|
output |
|
|
err |
error |
代码样例
func main() {
// 生成上传对象的带授权信息的URL
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)
}
// 生成下载对象的带授权信息的URL
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)
}
// 生成删除对象的带授权信息的URL
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)
}
}
父主题: 其他接口