删除DIS通知策略
功能说明
如果清空OBS桶上配置的DIS通知策略,可以调用此接口,删除操作会移除桶的所有 DIS 策略。删除接口是幂等的,如果桶上未配置DIS通知策略,调用删除接口依然会成功,status code返回值为204。了解更多设置DIS通知策略的相关信息,请参见使用DIS发送OBS事件通知。
融合桶不支持设置DIS通知策略。
授权信息
您必须是桶拥有者或者拥有Tenant Administrator权限,才能调用本接口。配置Tenant Administrator权限,需要使用角色与策略授权(旧版IAM,即IAM v3接口),授权操作请参考使用IAM授权。
接口约束
- OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
- 须知:调用DIS策略相关接口前,需在初始化obsClient时调用obs.WithSignature(obs.SignatureObs)指定协议类型。
方法定义
func (obsClient ObsClient) DeleteDisPolicy(bucketName string, extensions ...extensionOptions) (output *BaseModel, err error)
请求参数说明
表1 请求参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| bucketName | string | 是 | 桶名 |
响应参数说明
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| StatusCode | int | 参数解释: HTTP状态码。 约束限制: 无 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 |
| RequestId | string | 参数解释: OBS服务端返回的请求ID。 约束限制: 无 取值范围: 无 默认取值: 无 |
| ResponseHeaders | map[string][]string | 参数解释: HTTP响应头信息。 约束限制: 无 取值范围: 无 默认取值: 无 |
代码示例
示例-清空桶examplebucket上已经配置的所有DIS通知策略
package main
import (
"fmt"
"log"
obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs"
)
func main() {
//推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。
//您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。
ak := os.Getenv("AccessKeyID")
sk := os.Getenv("SecretAccessKey")
// 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。
securityToken := os.Getenv("SecurityToken")
// endpoint填写Bucket对应的Endpoint,这里以华北-北京四为例,其他地区请按实际情况填写。 endPoint := "https://obs.cn-north-4.myhuaweicloud.com"
// 创建客户端
obsClient, err := obs.New(ak, sk, endPoint, obs.WithSecurityToken(securityToken))
if err != nil {
fmt.Printf("Create obsClient error, errMsg: %s", err.Error())
}
// 删除 DIS 策略
output, err := client.DeleteDisPolicy("my-bucket")
if err != nil {
log.Fatalf("Failed to delete DIS policy: %v", err)
}
fmt.Printf("Request ID: %s\n", output.RequestId)
fmt.Println("DIS policy deleted successfully")
}