删除桶清单
功能说明
用户可以通过本接口删除指定桶的清单配置(通过清单id来指定清单配置)。有关更多桶清单的介绍和使用限制,请参考《对象存储服务用户指南》的桶清单章节。
要正确执行此操作,需要确保执行者有DeleteBucketInventoryConfiguration权限。缺省情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。
有关权限控制的更多信息请参考《对象存储服务权限配置指南》的OBS权限控制概述章节。
融合桶场景,主桶支持配置桶清单,备桶不支持配置桶清单。
授权信息
您必须是桶拥有者或拥有删除桶清单的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别。
- 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
- 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:bucket:DeleteBucketInventoryConfiguration权限,授权操作请参见创建IAM自定义策略。
- 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:bucket:deleteBucketInventoryConfiguration权限,授权操作请参见创建IAM自定义身份策略。
授权项
Action
访问级别
Access Level
资源类型(*为必须)
Resource Type (*: required)
Condition Key
别名别名
Alias
依赖的授权项
Dependencies
obs:bucket:deleteBucketInventoryConfiguration
Write
bucket *
-
-
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- 如果使用桶策略进行授权,需具备obs:bucket:DeleteBucketInventoryConfiguration权限,具体操作请参见自定义创建桶策略。
方法定义
func (obsClient ObsClient) DeleteBucketInventory(input *DeleteBucketInventoryInput, extensions ...extensionOptions) (output *BaseModel, err error)
请求参数说明
表1 DeleteBucketInventoryInput参数说明
| 参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Bucket | string | 是 | 参数解释: 桶的名称。 取值范围: 无。 |
| Id | string | 是 | 参数解释: 需要删除的清单配置 ID。 取值范围: 只能由"a-z"、"A-Z"、"0-9"、"-"、"_"和".组成,且长度不超过64字节。 |
响应参数说明
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| StatusCode | int | 参数解释: HTTP状态码。 约束限制: 无 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 |
| RequestId | string | 参数解释: OBS服务端返回的请求ID。 约束限制: 无 取值范围: 无 默认取值: 无 |
| ResponseHeaders | map[string][]string | 参数解释: HTTP响应头信息。 约束限制: 无 取值范围: 无 默认取值: 无 |
代码示例
本示例用于删除桶examplebucket上ID为inventory-rule-1的桶清单配置。
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())
}
// 删除清单配置
input := &obs.DeleteBucketInventoryInput{
Bucket: "my-bucket",
Id: "inventory-rule-1",
}
output, err := client.DeleteBucketInventory(input)
if err != nil {
log.Fatalf("Failed to delete bucket inventory: %v", err)
}
fmt.Printf("Request ID: %s\n", output.RequestId)
fmt.Println("Inventory configuration deleted successfully")
}